在 sys.servers 中找不到服务器 '******'。请验证指定的服务器名称是否正确。

配置了一台测试数据库,但是在运行的时候出现了异常:在 sys.servers 中找不到服务器 'srv_lnk_kshrbase'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。

仔细研究定位到出错的sql语句:select * checkinfo from srv_lnk_kshrbase.KshrBase.dbo.ComBaseInfo 。。。。  ,我们要取其他服务器数据库中的数据时会向我上面标红的那样来写,依次是 服务器名.数据库名.schema 由于我们迁移了数据库到另外的服务器上,则第一个就变了找不到了,就出现了上面的异常。

解决方案:

1、我这边很简单,因为我迁移到同一台服务器上面,所以这种情况下服务器名是可以缺省的,我直接用数据库名.schema,就可以访问到了,问题也就迎刃而解了。

2、如果不在同一台服务器的话,我们就需要修改服务器,参考网友的解决方案(未验证):

select * from sys.servers (查看系统表,看原来的服务器名)

sp_dropserver '原来的服务器名' (删除原来的服务器名)
sp_addserver '现在的服务器名' (添加现在的服务器名)
sp_serveroption '现在的服务器名','data access', 'true' (设定 SQL Server 选项,使其答应加入linked server)

 

你可能感兴趣的:(数据库,在,sys.servers,中找不到服务器,服务器名称是否正确)