SQL SERVER 本地同步數據到遠程數據服務器


USE LocalDatabaseName;

GO

--創建鏈接服務器

IF NOT EXISTS (select * from sys.servers where name = 'RemoteServer')

 BEGIN

   EXEC sp_addlinkedserver 'RemoteServer', '','SQLNCLI', 'xx.xx.xx.xx'

 END

go

--登錄鏈接服務器

EXEC sp_addlinkedsrvlogin 'RemoteServer', 'false', null, 'RemoteServer username', 'RemoteServer password'

go

--將本地表最新數據同步到鏈接服務器對應表

INSERT INTO OPENQUERY([RemoteServer], 'SELECT * FROM RemoteDatabaseName.dbo.RemoteTableName')

SELECT r.* FROM LocalTableName r

WHERE r.id > (

    SELECT maxID FROM OPENQUERY([RemoteServer], 'SELECT MAX(id) maxID FROM RemoteDatabaseName.dbo.RemoteTableName')

)

go

--退出鏈接服務器

EXEC sp_droplinkedsrvlogin 'RemoteServer', null

go

--刪除鏈接服務器

EXEC sp_dropserver 'RemoteServer', 'droplogins'

Go

 

參考鏈接1:https://www.cnblogs.com/tmftmb/p/11607676.html

參考微軟官方鏈接:https://docs.microsoft.com/zh-cn/sql/relational-databases/system-stored-procedures/sp-addlinkedserver-transact-sql?redirectedfrom=MSDN&view=sql-server-2017


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM