SQL SERVER数据库同步示例

本文介绍了数据库数据同步脚本的使用场景,包括Job定时同步和手工同步。给出了具体示例,涵盖创建、登录、退出和删除链接服务器,以及将本地表最新数据同步到远程表的操作。还提供了相关命令的参考链接。

 

一.使用场景:

1)  用Job定时同步两个数据库数据时,作为Job的执行脚本;

2)  手工同步数据时的执行脚本。

 

二.具体示例:

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

 

三.相关命令参考:

sp_addlinkedserver (Transact-SQL)

http://msdn.microsoft.com/zh-cn/library/ms190479.aspx

 

sp_addlinkedsrvlogin (Transact-SQL)

http://msdn.microsoft.com/zh-cn/library/ms189811.aspx

 

sp_droplinkedsrvlogin (Transact-SQL)

http://msdn.microsoft.com/zh-cn/library/75a4a040-72d5-4d29-8304-de0aa481ad4b

 

sp_dropserver (Transact-SQL)

http://msdn.microsoft.com/zh-cn/library/ms174310.aspx

 

OPENQUERY (Transact-SQL)

http://msdn.microsoft.com/zh-cn/library/ms188427.aspx

转载于:https://www.cnblogs.com/jacktang/archive/2013/03/01/2938990.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值