SQL Server 跨库同步数据

本文介绍了一种使用SQLServer存储过程实现跨库数据同步的方法,通过创建链接服务器,从一台服务器上的视图同步客户信息至另一台服务器的表中,实现数据的自动定期同步。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近有个需求是要跨库进行数据同步,两个数据库分布在两台物理计算机上,自动定期同步可以通过SQL Server代理作业来实现,但是前提是需要编写一个存储过程来实现同步逻辑处理。这里的存储过程用的不是opendatasource,而是用的链接服务器来实现的。存储过程创建在IP1:192.168.0.3服务器上,需要将视图v_custom的客户信息同步到IP2:192.168.0.10服务器上的t_custom表中。逻辑是如果不存在则插入,存在则更新字段。

 

复制代码
 1 create PROCEDURE [dbo].[p_pm_项目平台客户批量同步到报销平台](
 2     @destserver nvarchar(50),
 3     @sourceserver nvarchar(50)
 4 )
 5 AS
 6 BEGIN
 7 
 8     SET NOCOUNT ON;
 9     --不存在则添加链接服务器,外部查询必须指明IP地址,例如 select * from [IP].[database].[dbo].[table]
10     if not exists (select * from sys.servers where server_id!=0  and data_source=@destserver)
11     begin
12         exec sp_addlinkedserver    @server=@destserver
13     end
14     if not exists (select * from sys.servers where server_id!=0  and data_source=@sourceserver)
15     begin
16         exec sp_addlinkedserver    @server=@sourceserver
17     end
18         begin try  
19         set xact_abort on
20         begin transaction 
21             --http://www.cnblogs.com/chnking/archive/2007/04/04/699891.html 
22                 INSERT INTO [192.168.0.10].[dbCRM].[dbo].[t_custom] (客户ID,
23                                 
24                                 客户名称,
25                                 客户简称,
26                                 输入码,
27                                 查询码,
28                                 地址,
29                                 录入登录名,
30                                 录入时间,
31                                 修改登录名,
32                                 修改时间,
33                                 审批状态ID,
34                                 审批状态名称,
35                                 是否审批结束,
36                                 审批操作时间,
37                                 

转载于:https://www.cnblogs.com/syncnavigator/p/10189044.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值