sqlserver存儲過程中動態添加鏈接服務器示例(存儲過程操作其他數據庫服務器)

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’),
可以先單獨執行添加連接服務器語句,創建完然後保存存儲過程即可,然後在刪除該連接服務器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章