- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
局域网内服务器之间数据同步
局域网内两个数据库表之间数据联动:
当两个数据库不在同一台服务器(在局域网内),怎样使一个数据库中表的数据发生变化另一个库中的数据跟着一起变化,用存储过程或者触发器
SQL code
--定时同步服务器上的数据
--例子:
--测试环境,SQL Server2000,远程服务器名:xz,用户名为:sa,无密码,测试数据库:test
--服务器上的表(查询分析器连接到服务器上创建)
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, NIsUserTable) = 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, NIsProcedure) = 1)
drop procedure [dbo].[p_synchro]
GO
create proc p_synchro
as
--set XACT_ABORT on
--启动远程服务器的MSDTC服务
--exec master..xp_cmdshell isql /Sxz /Usa /P /qexec 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=
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 m
您可能关注的文档
- 宽带上网用户端常见问题和使用指南.docx
- 宽带连接和故障处理的办法.doc
- 宾馆安全的案例分析.doc
- 宿州三模语文-.doc
- 寄生虫检验试题2-.doc
- 寄生虫的的答案.doc
- 寄生虫的资料2单选多选填空判断-.doc
- 密克罗尼西亚粮食种植市场投资前景预测的报告.doc
- 密切干群的关系和构建和谐社会.doc
- 密封线的设计.doc
- 原电池电动势的测定实验报告.pdf
- 与业主、设计、总包、监理和他承包人的配合措施.pdf
- 公司管理流程.pptx
- 2024_2025学年新教材高中地理第1章地球的运动素养综合训练新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第3章大气的运动第1节常见天气系统第1课时锋与天气分层作业新人教版选择性必修1.doc
- 2024_2025学年新教材高中地理第1章地球的运动第2节地球运动的地理意义第4课时正午太阳高度的变化四季更替和五带划分分层作业课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第2章地表形态的塑造第2节构造地貌的形成第1课时地质构造与地貌课件新人教版选择性必修1.pptx
- 2024_2025学年新教材高中地理第1章地球的运动问题研究人类是否需要人造月亮课件新人教版选择性必修1.pptx
- 五片小雪花课件.pdf
- 2024_2025学年新教材高中地理第3章大气的运动第2节气压带和风带第1课时气压带和风带的形成分层作业课件新人教版选择性必修1.pptx
最近下载
- 北京市东城区2020-2021学年七年级下学期数学期末试卷.doc VIP
- 电梯规范要求gb7588-2020.doc VIP
- 20道中国民航机务维修岗位常见面试问题含HR常问问题考察点及参考回答.docx VIP
- 体操《燕式平衡》教案.doc
- 2023年全国卷高三数学真题试卷6套合集带答案解析.pdf
- 土建安全职业健康与环境保护(1).pptx VIP
- 血站项目可行性研究报告.docx
- (外文电子版资料)Pat Murphy - Rachel In Love.pdf
- 《会打喷嚏的帽子》幼儿园小班语言PPT课件.pptx VIP
- 第三十五课 学会问为什么 课件 二年级下册小学心理健康(北师大版).pptx
文档评论(0)