sqlserver存儲過程中動態添加鏈接服務器示例(存儲過程操作其他數據庫服務器)
ALTER PROCEDURE [dbo].[P_SYNC_test](
@IP VARCHAR(50), --鏈接數據庫IP
@name VARCHAR(50),-- sa
@pwd VARCHAR(50) --密碼
)
AS
BEGIN
--添加鏈接服務器 test爲別名
EXEC sp_addlinkedserver 'test','','SQLOLEDB',@IP
--增加用戶登錄鏈接
EXEC sp_addlinkedsrvlogin 'test','false',null,@name,@pwd
--業務邏輯數據庫操作
insert into test.xxxx.dbo.xxx (xx) values(1)
--刪除連接服務器
EXEC sp_dropserver 'test','droplogins'
END
GO
ps:直接保存存儲過程會報錯(sysservers 中找不到服務器 ‘test’),
可以先單獨執行添加連接服務器語句,創建完然後保存存儲過程即可,然後在刪除該連接服務器。