配置了一台测试数据库,但是在运行的时候出现了异常:在 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)