RDS for SQL Server添加链接服务器
sql server数据库实例2创建链接服务器访问另外一个sql server数据库实例1。
- 开启两个实例的分布式事务,请参考开启分布式事务,并且互相加入对端的host信息。线下服务器或ECS服务器请参考远程服务器上的名称解析。
sql server数据库实例2和sql server数据库实例1已经在相同VPC内;若ECS与RDS不在相同VPC或者RDS与线下实例建立分布式请通过EIP进行连接,请参考绑定弹性公网IP为RDS实例绑定EIP。
- 在rds实例1中使用rdsuser创建数据库dbtest1。
- 在rds实例2中使用rdsuser运行如下sql创建链接服务器。
USE [master]
GO
EXEC master.dbo.sp_addlinkedserver @server = N'TEST', @srvproduct=N'mytest', @provider=N'SQLOLEDB', @datasrc=N'192.168.***.***,1433'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'TEST', @locallogin = NULL , @useself = N'False', @rmtuser = N'rdsuser', @rmtpassword = N'********'
GO
表1 参数说明 参数
说明
@server
链接服务器名称。
@srvproduct
产品名称。
@provider
使用该默认值。
@datasrc
要访问的实例IP和端口。
@rmtsrvname
链接服务器名称。
@rmtuser
用户名(rdsuser)。
@rmtpassword
用户密码。
- 建立dblink之后,在链接服务器中就可以看到rds实例1中建立的库。
- 使用如下SQL查看是否插入成功,结果如图1所示。
begin tran
set xact_abort on
INSERT INTO [LYNTEST].[dbtest1].[dbo].[user1]
([id],[lname],[rname])
VALUES('19','w’,'x')
GO
commit tran