sp_addlinkedserver是sqlserver中用于跨数据库操作.该函数用于创建一个连接.在开发中遇到业务需求, 需要创建一个存储过程,在里面做跨数据库操作.该存储过程创建语句如下
--- 创建存储过程begin
if object_id('SYNC_MIDDLE') is not null
drop proc SYNC_MIDDLE
go
CREATE PROCEDURE SYNC_MIDDLE
@middleIp NVARCHAR(50), --需要连接的数据库id
@middleAcc NVARCHAR(50), --需要连接的数据库登陆账号
@middlePsd NVARCHAR(50) --需要连接的数据库登陆密码
AS
BEGIN
if exists(select * from sys.servers where name = 'sync_middle_server')
BEGIN
--如果原先有连接,就先删掉原来的
Exec sp_droplinkedsrvlogin 'sync_middle_server',Null
Exec sp_dropserver 'sync_middle_server'
print '删除连接:sync_middle_server'
END
--使用sp_addlinkedserver来增加链接
EXEC sp_addlinkedserver
@server='sync_middle_server',--别名
@srvproduct='',
@provider='SQLOLEDB',
@datasrc=@middleIp --要访问的服务器ip