Microsoft OLE DB Provider for SQL Server 错误 '80004005'
在 sys.servers 中找不到服务器 '***'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。
先出现的这个问题!解决办法是:
select * from sys.servers (查看系统表,看原来的服务器名)
sp_dropserver '原来的服务器名' (删除原来的服务器名)
sp_addserver '现在的服务器名' (添加现在的服务器名)
sp_serveroption '现在的服务器名','data access', 'true' (设定 SQL Server 选项,使其允许加入linked server)
修改了计算机的名字,就出现数据表所有者的问题,然后用系统的存储过程修改表的所有者,就出现了这个问题。
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e23'
[Microsoft][ODBC SQL Server Driver][SQL Server]此游标不包括正在修改的表,或该表不能通过此游标更新。
这种错误通常是更改了计算机机器名引起的
解决办法:
打开查询器,执行
EXEC select @@servername
EXEC sp_dropserver @@servername
EXEC sp_addserver [new_name], local
第一行是查出老的实例名
第二行是删除老的实例名
第三行是 ‘new_name’ 是新的实例名,也就是当前计算机名
执行完成后 重启计算机 然后才能生效,务必要重启计算机,否则不会生效
这是网上通用的做法,如果你的系统出现上面问题就此解决后,那恭喜你。
可惜我的问题没解决,于是我按如下方法继续处理。
sp_addserver [new_name], local
没有解决。那就再删除所有的服务器。
不知道关联了多少服务器,就使用 sp_helpserver 查看有多少服务器!
sp_dropserver @@服务器名 来删除所有服务器。
重建
sp_addserver '新服务器名', 'local', 'duplicate_OK'
然后重起计算机!
如果讲解的不够详细,请联系本站(爱死啦站长)站长