首页 > 技术文章 > 在 sys.servers 中找不到服务器 '10.0.2.13'。请验证指定的服务器名称是否正确。

gc001279 2018-07-11 10:07 原文

        工作中,因为需要,搭建同事的程序模块,附加了从同事那里拷过来的该程序使用的库。(C#、C/S、.Net Framework4.0 、WCF、Win10、SQL Server 2014、VS2015)

        一路解决报错,比如“缺少根元素”,调试代码的过程中发现会打开不属于该项目的文件,查看环境才发现与文件相关的有一个服务应用程序没有启动,这是我的模块不需要的,启动之后该错误解除。

       加载数据时,日志记录下图所示错误:

  百度了下,网上的方法基本和日志提示的解决办法差不多:

  1)、查询得到原来的计算机(服务器)名称
    select * from sys.servers 

  2)、删除原来的服务器名

    sp_dropserver '原来的服务器名'   

  3)、添加新的服务器名,重启服务

    sp_addserver '10.0.2.13'  (我的计算机适用日志提示的语句:exec sp_addlinkedserver  '10.0.2.13' )

  4)、我到第三步就没往下执行了(此时不报这个错误,但问题没有解决,程序卡死),网上说第四步这样做

    sp_serveroption '新的服务器名','data access', 'true' (设定 SQL Server 选项,使其允许加入linked server)

     执行完成后 重启sql服务 然后才能生效

  我只执行到第三步,发现不太对,就还原回去了,重新跟踪代码发现该语句是在新加的这个库执行的,我之前也有把报错语句在原有的一套数据库执行,是可以正常执行查询的,但其实该语句涉及的表是在新加的库里建的视图,视图里数据表源是原库的表,视图是这么写的:

    

所以,把这个删掉就好啦!

 

推荐阅读