【问题标题】:How do I create and query linked database servers in SQL Server?如何在 SQL Server 中创建和查询链接数据库服务器?
【发布时间】:2008-10-09 22:21:29
【问题描述】:

我需要跨两个不同的数据库服务器(IP 10.0.0.50 和 10.0.0.51)进行连接。最好的方法是什么?

【问题讨论】:

    标签: sql sql-server database


    【解决方案1】:

    我找到的解决方案:

    1) 运行stored proc

    exec sp_addlinkedserver    @server='10.0.0.51'
    

    2) 验证服务器是否已链接(列出链接的服务器)

    exec sp_linkedservers
    

    3) 使用格式运行查询

     [10.0.0.51].DatabaseName.dbo.TableName
    

    【讨论】:

      【解决方案2】:

      您需要使用 sp_linkedserver 创建链接服务器。

      sp_addlinkedserver [ @server= ] 'server' [ , [ @srvproduct= ] 'product_name' ] 
       [ , [ @provider= ] 'provider_name' ]
       [ , [ @datasrc= ] 'data_source' ] 
       [ , [ @location= ] 'location' ] 
       [ , [ @provstr= ] 'provider_string' ] 
       [ , [ @catalog= ] 'catalog' ] 
      

      更多信息请访问MSDN

      【讨论】:

      • 是的 - 这是我认为答案就在那里的事情之一,只是想将操作方法​​存储在堆栈溢出中:)
      【解决方案3】:

      我知道上面的答案很好,但想分享一些细节,希望其他人会觉得有帮助。值得一提的是用户访问部分,我认为人们需要帮助。

      设置链接:

      exec sp_addlinkedserver @server='10.10.0.10\MyDS';

      为远程用户设置访问权限,示例如下:

      exec sp_addlinkedsrvlogin '10.10.0.10\MyDS', 'false', null, 'adm', 'pwd';

      查看链接的服务器和用户登录:

      exec sp_linkedservers;

      select * from sys.servers;

      select * from sys.linked_logins;

      运行远程查询:

      select * from [10.10.0.10\MyDS].MyDB.dbo.TestTable;

      删除链接服务器和创建的登录用户 (adm/pwd)

      exec sp_dropserver '10.10.0.10\MyDS', 'droplogins'; -- drops server and logins

      资源:

      sp_addlinkedserver

      sp_dropserver

      sp_addlinkedsrvlogin

      sp_droplinkedsrvlogin

      【讨论】:

        【解决方案4】:

        如上所述,您可以使用 sp_addlinkedserver。但是,您也可以通过 Enterprise Manager (2000) 或 SQL Server Management Studio (2005) 执行此操作。在“安全”节点下,有一个“链接服务器”节点,您可以使用它来添加和配置链接服务器。您可以指定安全设置、模拟等。

        请参阅 SQL Server 2000 的这些:

        Configuring Linked Servers

        Establishing Security For Linked Servers

        Configuring OLEDB Providers for Distributed Queries

        请参阅 SQL Server 2005 的这些:

        Linking Servers

        Security for Linked Servers

        Configuring Linked Servers for Delegation

        Configuring OLEDB Providers for Distributed Queries

        【讨论】:

        • 在 SQLServer 2012 中,此节点已移至“服务器对象”
        猜你喜欢
        • 2014-04-07
        • 1970-01-01
        • 2011-05-04
        • 2012-12-20
        • 1970-01-01
        • 1970-01-01
        • 2022-06-16
        • 1970-01-01
        相关资源
        最近更新 更多