none
链接服务器查询失败,请问如何解决 RRS feed

  • 问题

  • 使用下面的语句建立链接服务器或者手工建立链接服务器

            
            SET @dySQL='EXEC sp_addlinkedserver '''+@IP+''','''',''SQLOLEDB'','''+@IP+''''+char(13)
              +'EXEC sp_addlinkedsrvlogin '''+@ServerName+''',''false'',null,'''+@LogonName+''','''+@Password+''''+char(13)
            PRINT @dySQL
            EXEC(@dySQL)

    一个简单的查询语句就出现如图错误,但是使用SQLSERVER MANAGEMENT STUDIO 可以连接到这个服务器


    数据库版本都是2008+sp4
    • 已编辑 Tim-2009 2018年1月9日 2:19 补充信息
    2018年1月9日 2:16

全部回复

  • 应该是这个吧

        SET @dySQL='EXEC sp_addlinkedserver '''+@ServerName+''','''',''SQLOLEDB'','''+@IP+''''+char(13)
              +'EXEC sp_addlinkedsrvlogin '''+@ServerName+''',''false'',null,'''+@LogonName+''','''+@Password+''''+char(13)

    2018年1月9日 3:15
  • 都不行,前面是用的SERVERNAME,后面改成IP也不行
    2018年1月9日 5:15
  • 把 Named Pipes 改成 已启用;

    或者ping 链接服务器的Ip 看是否能ping通;

    还有检查一下 远程连接是否打开;

    或者此Ip是否被服务器的防火墙拦截。

    2018年1月9日 5:20
  • 把 Named Pipes 改成 已启用;

    或者ping 链接服务器的Ip 看是否能ping通;

    还有检查一下 远程连接是否打开;

    或者此Ip是否被服务器的防火墙拦截。

    Named Pipes 已启用;

    能ping通,远程连接也打开了

    能TELNET IP 135,此IP是链接服务器IP

    2018年1月9日 5:49
  • Hi Tim-2009,

    1231错误代表的是SQL Server无法在AD里面创建SPN,你检查一下SQL Server的账户有没有在AD中创建SPN的权限。

    Best Regards,

    Teige


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年1月9日 7:04
    版主
  • 都不行,前面是用的SERVERNAME,后面改成IP也不行
    按照你原给出来的语句,设置安全性的服务器和创建的链接服务器都不是同一个,所以这个创建就会出错了
    2018年1月9日 7:13
  • 都不行,前面是用的SERVERNAME,后面改成IP也不行

    按照你原给出来的语句,设置安全性的服务器和创建的链接服务器都不是同一个,所以这个创建就会出错了
    我在本地没错,在现场服务器就报错了
    2018年1月9日 8:50
  • Can you create linked server with t-sql in ssms directly?
    2018年1月9日 13:32
  • Hi Tim-2009,

    1231错误代表的是SQL Server无法在AD里面创建SPN,你检查一下SQL Server的账户有没有在AD中创建SPN的权限。

    Best Regards,

    Teige


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    sa用户,应该有权限
    2018年1月10日 0:40
  • Can you create linked server with t-sql in ssms directly?

    直接创建也不行
    2018年1月10日 0:41
  • 想不明白,手工用下面的方式居然能创建成功,点击上面的添加按钮输入用户竟然不行

    2018年1月10日 1:02
  • 最下面那个是固定用户,如果要用上面的添加用户

    如果是在上面添加用户,则这个验证关系还得取决于你的当前登录用户是否有与上面添加的用户建立好映射关系

    2018年1月10日 1:47
  • 然后用这个界面建立成功的链接有务器,你可以生成脚本再与你自己写的那个对比一下,看看你 那里面没有弄对

    反正你给出的那个脚本就存在明显的问题,第一句和第二句不是操作的同一链接服务器

    2018年1月10日 1:49
  • Can you create linked server with t-sql in ssms directly?


    直接创建也不行
    Any error?
    2018年1月10日 15:28
  • Can you create linked server with t-sql in ssms directly?


    直接创建也不行

    Any error?

    现在发现那台服务器对哪台服务器建立连接服务器都有问题,都是看到本机的数据库内容,太奇怪了。
    2018年1月15日 1:25
  • 什么叫看到的都是本机的内容,可以详细说一下或者截个图吗?有没有尝试用profiler抓取一下从linked server上运行query的过程?

    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2018年1月30日 11:01
    版主