WEB开发网
开发首页
CMS教程
WEB开发
网站运营
网页设计
图形图像
数据库
服务器
网络安全
手机开发
软件开发
操作系统
软件教学
PHP开发
PHP培训
开发学院
数据库
MSSQL Server
利用数据库复制技术 实现数据同步更新
阅读
利用数据库复制技术 实现数据同步更新
2007-11-11 09:21:36 来源:WEB开发网
核心提示:
同步的方案 --定时同步服务器上的数据 --例子: --测试环境,sql server(WINDOWS平台上强大的数据库平台)2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test --服务器上的表(查询分析器连接到服务器上创建) create table [user](id int Prima(
同步的方案
--定时同步服务器上的数据
--例子:
--测试环境,sql server
(WINDOWS平台上强大的数据库平台)
2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test
--服务器上的表(查询分析器连接到服务器上创建)
create table [user](id int Prima
(最完善的虚拟主机管理系统)
ry 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
上一页
1
2
Tags:
利用
数据库
复制
编辑录入:coldstar [
复制链接
] [
打 印
]
相关阅读
››
利用纹理素材及图层样式制作熔岩字
››
利用PS抽出滤镜抠出长发美女图片
››
利用图案填充图层打造发黄老照片
››
利用笔刷制作抽象的水墨美女效果
››
利用Java技术搞定两个不同数据库之间的数据交换
››
利用jquery验证银行卡号信息
››
利用SkyDrive在Win8系统上载照片和文件
››
利用js进行赋值实现js混淆代码还原
››
利用Java来判别TXT文档的编码方式
››
利用Java获取本机mac地址
››
利用java 发送邮件
››
利用jquery的滚动条滚动固定div
中查找“利用数据库复制技术 实现数据同步更新”更多相关内容
中查找“利用数据库复制技术 实现数据同步更新”更多相关内容
上一篇:
SQL Server 2000之日志传送功能 - 问题解决
下一篇:
跟我学MS SQL Server(1)
更多精彩
Word文档在保存时可能遇到各种各样的问题
三种策略实现虚拟化环境价值最大化
Photoshop特效:浑身带刺的仙人掌文字
免费VPN公布器 8万多网友为你收集VPN
Excel 2007快速定位超长行数据
赞助商链接
热点阅读
XP SP3下安装office2010,提示要安装MSXML6....
Linux怎么上QQ LinuxQQ2012详解
win8的ie打不开怎么办
iPhone应用开发-UIPickerView选取器详解
Android手机如何取消安全模式
No space left on device的分析及解决
error:Error parsing XML:unbound prefix
Visual C#两分钟搭建BHO IE钩子
4个补丁解决IE10在WIN7安装的问题
如何绕开Google Play地区限制
焦点图片
删除Win8自带中文输入...
Windows8操作系统无法...
win7+IIS+php+mysql环...
如何设置/启动Win8移动...
最新推荐
ASP.NET及JS中的cookie基本用法
sql server自动生成批量执行SQL脚本的批处理...
修改Oracle默认密码过期天数
PHP执行进度百分比代码
删除Win8自带中文输入法方法
Windows8操作系统无法关机解决办法
30种mysql优化sql语句查询的方法
Centos6.2_x86_64环境下puppet-dashboard安...
解决linux下SVN迁移时忘记了用户名和密码的...
网站建好后该怎么做友情链接
精彩阅读
佳伦:五大“吸毒式”网站推广方法
Struts标记库(2)
用Dreamweaver MX建立一个简单的图书查询系...
Thinking:Java中static、this、super、fina...
关于防火墙的思考
让Windows XP系统性能更优越的四招技巧
快速把Word文档中的数字格式规范化
将word 2007宏导出为单独的文件
税务行业应用虚拟化 缓解机房压力提升灵活性...
java - Serializable (2)
创建与维护Oracle分区表和本地索引
修改注册表以增强网络功能
技术首页
| 关于本站 |
广告合作
|
联系我们
|
友情连接
|
网站地图
飞鹰联盟成员网站
Copyright © 2003-2013
CnCms
.Com
. All Rights Reserved 京ICP备10000768号