在 sys.servers 中找不到服务器 'srv_lnk'。请验证指定的服务器名称是否正确。如果需要,请执行存储过程 sp_addlinkedserver 以将服务器添加到 sys.servers。
可是我已经执行了啊
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','192.168.1.3'   
exec sp_addlinkedsrvlogin 'srv_lnk','false','sa','sa','123'
--业务逻辑
exec sp_droplinkedsrvlogin 'srv_lnk','sa'
exec sp_dropserver 'srv_lnk',@droplogins='droplogins'哪位数据库牛B达人分析一下- -

解决方案 »

  1.   

    启动两台服务器的MSDTC服务 
    MSDTC服务提供分布式事务服务,如果要在数据库中使用分布式事务,必须在参与的双方服务器启动MSDTC(Distributed Transaction Coordinator)服务。打开双方的135端口
    MSDTC服务依赖于RPC(Remote Procedure Call (RPC))服务,RPC使用135端口,保证RPC服务启动,如果服务器有防火墙,保证135端口不被防火墙挡住。
    使用“telnet IP 135”命令测试对方端口是否对外开放。也可用端口扫描软件(比如Advanced Port Scanner)扫描端口以判断端口是否开放
      

  2.   

    先谢谢楼上两位!请允许我详细说一下情况:本来的格式如下:
    exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','192.168.1.3'   
    exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa','123'
    -- biz
    exec sp_dropserver 'srv_lnk'
    但是这样会出现最后drop的时候,一直报server被引用,无法drop掉。
    于是后来才改为
    exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','192.168.1.3'   
    exec sp_addlinkedsrvlogin 'srv_lnk','false','sa','sa','123'
    --业务逻辑
    exec sp_droplinkedsrvlogin 'srv_lnk','sa'
    exec sp_dropserver 'srv_lnk',@droplogins='droplogins'于是出现了主题里的错误- - 但有一些问题可以排除:
    两者是可以连接的,因为其实这2个哭都是在一台服务器上1.3,之所以用linkserver是因为以后真实环境中两台主机是分开的,也就说在内网,但IP不同,所以才用到了linkserver。我现在的想法主要是对于@droplogins='droplogins',这句十分不了解(baidu来的)
    于是想请教大家,linkserver的(正确!)写法,要保证能执行,然后drop掉,谢谢
      

  3.   

    exec sp_linkedservers --查看当前注册过linked servers--linked server(SQL SERVER)
    EXEC sp_addlinkedserver
          @server='srv_lnk',--被访问的服务器别名
          @srvproduct='',
          @provider='SQLOLEDB',
          @datasrc='MYSERVER'   --要访问的服务器实例名或IPEXEC sp_addlinkedsrvlogin
         'srv_lnk', --被访问的服务器别名
         'false',
         NULL,
         'sa', --帐号
         '1q2w3e4R' --密码
         
    --查询
    Select  TOP(1) * from srv_lnk.database_name.dbo.table_name--强制drop所有登陆的用户
    EXEC sp_dropserver 'srv_lnk', 'droplogins' --不用再写exec sp_droplinkedsrvlogin 'srv_lnk','sa'了
      

  4.   

    你好,我按照你的方法试了很久,好像还是有点问题链接服务器"srv_lnk"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "登录超时已过期"。
    链接服务器"srv_lnk"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "建立到服务器的连接时发生错误。连接到 SQL Server 2005 时,默认设置 SQL Server 不允许远程连接这个事实可能会导致失败。"。
    消息 53,级别 16,状态 1,第 0 行
    命名管道提供程序: 无法打开与 SQL Server 的连接 [53]. 
      

  5.   

    再次尝试,还是不行……楼上三位高手给点回复呀,其他高手也可以帮忙看一下
    或者说内网中使用IP进行两个库的相互访问,除了linkserver还有其他比较好的办法吗?
      

  6.   

    参考:
    http://www.cnblogs.com/insus/articles/1563270.html