sqlserver和mysql定时同步_通过作业,定时同步两个数据库_sqlserver
--定时同步服务器上的数据
--例子:
--测试环境,SQL Server2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test
http://www.gaodaima.com/35460.html通过作业,定时同步两个数据库_sqlserver
--服务器上的表(查询分析器连接到服务器上创建)
create table [user](id int primary key,number varchar(4),name varchar(10))
go
--以下在局域网(本机操作)
--本机的表,state说明:null 表示新增记录,1 表示修改过的记录,0 表示无变化的记录
if exists (select * from dbo.sysobjects where id = object_id(N'[user]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [user]
GO
create table [user](id int identity(1,1),number varchar(4),name varchar(10),state bit)
go
--创建触发器,维护state字段的值
create trigger t_state on [user]
after update
as
update [user] set state=1
from [user] a join inserted b on a.id=b.id
where a.state is not null
go
--为了方便同步处理,创建链接服务器到要同步的服务器
--这里的远程服务器名为:xz,用户名为:sa,无密码
if exists(select 1 from master..sysservers where srvname='srv_lnk')
exec sp_dropserver 'srv_lnk','droplogins'
go
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','xz'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'sa'
go
--创建同步处理的存储过程
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_synchro]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_synchro]
GO
create proc p_synchro
as
--set XACT_ABORT on
--启动远程服务器的MSDTC服务
--exec master..xp_cmdshell 'isql /S"xz" /U"sa" /P"" /q"exec master..xp_cmdshell ''net start msdtc'',no_output"',no_output
--启动本机的MSDTC服务
--exec master..xp_cmdshell 'net start msdtc',no_output
--进行分布事务处理,如果表用标识列做主键,用下面的方法
--BEGIN DISTRIBUTED TRANSACTION
--同步删除的数据
delete from srv_lnk.test.dbo.[user]
where id not in(select id from [user])
--同步新增的数据
insert into srv_lnk.test.dbo.[user]
select id,number,name from [user] where state is null
--同步修改的数据
update srv_lnk.test.dbo.[user] set
number=b.number,name=b.name
from srv_lnk.test.dbo.[user] a
join [user] b on a.id=b.id
where b.state=1
--同步后更新本机的标志
update [user] set state=0 where isnull(state,1)=1
--COMMIT TRAN
go
--创建作业,定时执行数据同步的存储过程
if exists(SELECT 1 from msdb..sysjobs where name='数据处理')
EXECUTE msdb.dbo.sp_delete_job @job_name='数据处理'
exec msdb..sp_add_job @job_name='数据处理'
--创建作业步骤
declare @sql varchar(800),@dbname varchar(250)
select @sql='exec p_synchro' --数据处理的命令
,@dbname=db_name() --执行数据处理的数据库名
exec msdb..sp_add_jobstep @job_name='数据处理',
@step_name = '数据同步',
@subsystem = 'TSQL',
@database_name=@dbname,
@command = @sql,
@retry_attempts = 5, --重试次数
@retry_interval = 5 --重试间隔
--创建调度
EXEC msdb..sp_add_jobschedule @job_name = '数据处理',
@name = '时间安排',
@freq_type = 4, --每天
@freq_interval = 1, --每天执行一次
@active_start_time = 00000 --0点执行
go
欢迎大家阅读《通过作业,定时同步两个数据库_sqlserver》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~
sqlserver和mysql定时同步_通过作业,定时同步两个数据库_sqlserver相关推荐
- mysql navicat报表_使用Navicat定时备份mysql数据库和创建报表并邮件自动发送
数据库备份在现代计算机高速发展的今日变得日益重要,程序员往往因为不重视而忽略备份数据,导致数据丢失,造成非常严重的后果.定时备份无疑是解决备份的最好的途径,本文主要使用Navicat来自动备份数据库和 ...
- kettle 批量多表同步_财务基础数据同步的方式
全文共计1800字,预计阅读时间: 5 分钟 良人一句三冬暖,伤人一语六月寒! 前言 介绍财务进销存系统框架时,一直在说财务数据需要进行分层,从基础数据到计算层,再到财务数据层,最后是展现层,每层间都 ...
- 7 centos 时钟跟物理机同步_通信网中的同步技术
同步技术的产生,跟其他技术一样,都是有原因的. 在老久之前的电路交换网络时代,因为电路交换的数据流是恒定的,因此可以很容易地从数据流中恢复出所需要的时钟信息,并保持源和宿之间的同步状态.二是整个报文的 ...
- 帧同步_什么是帧同步什么是状态同步
哈喽,大家好 这节我们来讲解一下关于游戏开发经常涉及到的 帧同步和状态同步问题. 我这里已经录制为视频 ,有兴趣的可以看看~~ 知乎视频www.zhihu.com 以下是moba第七章内容 第七章 ...
- 使用Red Gate Sql Data Compare 数据库同步工具进行SQL Server的两个数据库的数据比较、同步...
Sql Data Compare 是比较两个数据库的数据是否相同.生成同步sql的工具. 这一款工具由Red Gate公司出品,我们熟悉的.NET Reflector就是这个公司推出的,它的SQLTo ...
- 使用Red Gate Sql Compare 数据库同步工具进行SQL Server的两个数据库的结构比较、同步...
将测试版的项目同步(部署)到正式版的时候,两个数据库的结构比较与同步时,如果修改数据库的时候没有记录好修改了那些表,很难将两个数据库进行同步 RedGate Sql Compare使用简介说明: 1. ...
- mysql怎么对比表结构_mysql怎么对比两个数据库表结构
mysql怎么对比两个数据库表结构 发布时间:2021-02-03 11:45:58 来源:亿速云 阅读:58 作者:小新 这篇文章主要介绍了mysql怎么对比两个数据库表结构,具有一定借鉴价值,感兴 ...
- 支付宝mysql集群_支付宝支撑2135亿成交额的数据库架构原理
OceanBase的SQL优化器和分布式并行执行 摘要:本文主要介绍蚂蚁金服自主研发的通用关系型数据库OceanBase,OceanBase采用了分布式架构,其通过技术创新在普通PC服务器集群上实现了 ...
- pandas转mysql特定列_在pandas.DataFrame.to_sql时指定数据库表的列类型
问题 在数据分析并存储到数据库时,Python的Pandas包提供了to_sql 方法使存储的过程更为便捷,但如果在使用to_sql方法前不在数据库建好相对应的表,to_sql则会默认为你创建一个新表 ...
- lnp和mysql分开安装_毕业设计之LNP+DISCUZ +分离的数据库操作
环境介绍: CentOS6.9最小化安装 https://nginx.org/download/nginx-1.16.1.tar.gz https://www.php.net/distribution ...
最新文章
- linux正则表达式的使用方法,Linux中基本正则表达式
- C语言学习之求∑n!(即求1!+2!+3!+...+20!)
- spring-JDBC
- 批量管理Linux服务器,命令行工具Omnitty
- AOP技术研究 再续
- 一个简单的Makefile模板
- wegame每次登陆都要滑动验证_Vue项目中实现用户登录及token验证
- Visual Assist X Options 注释设置-类
- Linux多网卡配置高级策略路由---从哪里来就回哪里去~!
- 【 2015-2016 XVI Open Cup, Grand Prix of Bashkortostan, SKB Kontur Cup Stage 2】题目总结
- 新系统申请软件著作权详细操作说明
- 计算机一级插入页眉,计算机一级考试,设置页眉为“汉字的交换码”
- freepiano 手残党也想弹钢琴(在电脑上弹奏电子钢琴自娱自乐,也许还是有点困难,不如试试freepiano+鼠标宏,这样用简谱就不怕残疾了)
- Duilib版视频监控客户端(简易版)
- 到底什么才是真正的商业智能(BI)
- 学习ios Metal(3)—宽度可调的线条的绘制
- 苹果 谷歌 微软 三国混战 附地图详解
- 深度学习_21天实战Caffe.pdf
- 【笔记本显卡改BIOS硬超频方法初探及简明步骤】
- 服务器性能评分,服务器CPU排行榜之服务器CPU性能评分
热门文章
- 计算机网络和智能家居,华中科技大学计算机网络专题智能家居与普适计算.ppt...
- 常见荧光染料修饰多种基团及其激发和 发射波长数据一览数据
- 通用接口开放平台设计与实现——(1)开篇
- 如何给php安装上pecl,PHP安装PECL扩展的方法
- python修改文件内容_Python之文件处理-批量修改md文档内容-Go语言中文社区
- 11.Python初窥门径(函数名,可迭代对象,迭代器)
- java pfx 和cer_pfx证书和CER证书
- 众数和中位数的应用题_什么是众数和中位数
- 流水线计算公式及吞吐量
- Google 搜索知识