本文仅适用于RDS SQL Server 2012及以上版本的高可用系列实例。
目前,创建链接服务器时仍存在如下两个问题:
DECLARE
@linked_server_name sysname = N'my_link_server',
@data_source sysname = N'***********', --style: 10.1.10.1,1433
@user_name sysname = N'****' ,
@password nvarchar(128) = N'**********',
@link_server_options xml
= N'
<rds_linked_server>
<config option="data access">true</config>
<config option="rpc">true</config>
<config option="rpc out">true</config>
</rds_linked_server>
'
EXEC sp_rds_add_linked_server
@linked_server_name,
@data_source,
@user_name,
@password,
@link_server_options
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对RDS SQL Server 2012及以上版本的高可用系列实例,创建链接服务器时面临的两个问题及解决方案如下:
当前阿里云RDS SQL Server管理控制台并不直接提供创建链接服务器的功能。这意味着用户不能通过图形界面完成此操作。
尽管控制台功能缺失,但您可以通过执行一系列T-SQL命令来实现链接服务器的创建。具体步骤如下:
准备参数:
@linked_server_name
(例如:N'my_link_server'
)。@data_source
为目标SQL Server实例的地址和端口(格式如:N'****.sqlserver.rds.aliyuncs.com,3888'
)。@user_name
和@password
以访问目标SQL Server实例。@link_server_options
XML字符串来定义链接服务器的行为,例如数据访问、RPC及RPC out权限的开启。执行存储过程: 使用sp_rds_add_linked_server
存储过程,传入上述准备好的参数,示例代码片段如下:
DECLARE
@linked_server_name sysname = N'my_link_server',
@data_source sysname = N'***********', -- 请替换为目标实例的实际地址和端口
@user_name sysname = N'****',
@password nvarchar(128) = N'**********',
@link_server_options xml = N'
<rds_linked_server>
<config option="data access">true</config>
<config option="rpc">true</config>
<config option="rpc out">true</config>
</rds_linked_server>'
EXEC sp_rds_add_linked_server
@linked_server_name,
@data_source,
@user_name,
@password,
@link_server_options
由于RDS SQL Server的设计限制,目前不支持直接通过DNS名称或对应的IP地址配置链接服务器。
@data_source
参数的一部分进行配置,确保网络可达性。通过以上步骤,您可以绕过控制台限制,手动创建并配置链接服务器,满足特定的数据库集成需求。