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