繁体   English   中英

如何在 SQL Server 中创建和查询链接的数据库服务器?

[英]How do I create and query linked database servers in SQL Server?

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

我找到的解决方案:

1)运行一个 存储过程

exec sp_addlinkedserver    @server='10.0.0.51'

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

exec sp_linkedservers

3) 使用格式运行查询

 [10.0.0.51].DatabaseName.dbo.TableName

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

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

MSDN 上提供了更多信息。

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

设置链接:

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

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

对于 SQL Server 2000,请参阅以下内容:

配置链接服务器

为链接服务器建立安全性

为分布式查询配置 OLEDB 提供程序

请参阅 SQL Server 2005 的这些:

链接服务器

链接服务器的安全性

为委派配置链接服务器

为分布式查询配置 OLEDB 提供程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM