sysservers 中找不到服务器,请执行 sp_addlinkedserver 将该服务器添加到sysserver 的解决方法

发布时间:2019-12-22编辑:脚本学堂
sysservers 中找不到服务器,请执行 sp_addlinkedserver 将该服务器添加到sysserver 的解决方法...

解决办法如下: 先用 SELECT @@SERVERNAME 指令检查是否有修改之前的用户名。

然后执行语句:
复制代码 代码如下:
EXEC sp_dropserver ''原服务器名''
EXEC sp_addserver
@server=''现在的服务器名'',
@local = ''local''

如果执行成功,则继续运行:SELECT @@SERVERNAME 可以看到值没有变化,还是原来的值,此时只需要重启sql服务就可以了。

开始-运行-services.msc,打开服务窗口,找到SQL Server (MSSQLSERVER) 停止,然后启动。

注意:SQL Server (MSSQLSERVER)服务是和SQL Server Agent (MSSQLSERVER)有依存关系的,禁用上面的服务则下面服务也会被禁用。

重启后再执行 SELECT @@SERVERNAME,可以看到值已经变成我们现在的名字了,再试试,已经可以连接上了。

测试环境为sql2005,其它版本的sqlserver请根据情况处理。
附:
另一个解决实例
在 sysservers 中找不到服务器 '192.168.0.12'。请执行 sp_addlinkedserver 将该服务器添加到 sysservers。

[Microsoft][ODBC SQL Server Driver][SQL Server]在 sysservers 中找不到服务器 'xxx'。
请执行 sp_addlinkedserver 将该服务器添加到 sysservers。

此处的xxx一般是计算机名,或者是用sql manager链接服务器后显示的服务器名。

如果情况如上所述,请尝试以下的解决办法:
select * from sys.servers --(查看系统表,看原来的服务器名,里面应该是没有错误提示的xxx)
sp_dropserver '原来的服务器名' --(删除原来的服务器名,我都删除了,不知道留着会不会有影响)
sp_addserver '现在的服务器名', 'local', 'duplicate_OK' --(添加现在的服务器名,也就是提示的那个xxx)
sp_serveroption '现在的服务器名','data access', 'true' --(设定 SQL Server 选项,使其答应加入linked server)