请教各位高手:
如何才能使得SQL2000 server的数据库与sql 7.0的数据库保持数据同步,当sql7.0的数据变动时,sql2000能与它保持数据同步?
急!急!急!
如何才能使得SQL2000 server的数据库与sql 7.0的数据库保持数据同步,当sql7.0的数据变动时,sql2000能与它保持数据同步?
急!急!急!
解决方案 »
- 用语句,能否删除备份设备中指定的一个备份集
- update触发器 同步更新2个表 在线等 !!
- CURSOR里怎么拼where条件?
- 这条SQL语句在执行的时候 会不会有什么问题?请大侠们看看
- SQL难度查询
- 记录转移?
- sql server 视图
- SqlServer 2000 能发送电子邮件吗?
- 请问那位老兄知道何处有sql server 7.0下载,急用,在下有礼啦!!!在线等待。
- 我的表有三个字段..有一个列是有默认值的..我在插入的时候想..那个 列的值等于默认值..怎么写这个存储过程
- 从Excel转化到SQL的问题,急!急!急!
- 使用bcp从sqlserver到access之间数据迁移的问题??????
*--同步两个数据库的示例测试环境及同步要求:有数据库服务器srv1和srv2,两台电脑能互相访问,有数据
srv1.库名..author有字段:id,name,phone,
srv2.库名..author有字段:id,name,telphone,adress要求:
srv1.库名..author增加记录则srv1.库名..author记录增加
srv1.库名..author的phone字段更新,则srv1.库名..author对应字段telphone更新
--*/--大致的处理步骤
--1.在 srv1 上创建连接服务器,以便在 srv1 中操作 srv2,实现同步
exec sp_addlinkedserver 'srv2','','SQLOLEDB','srv2的sql实例名或ip'
exec sp_addlinkedsrvlogin 'srv2','false',null,'用户名','密码'
go--2.在 srv1 和 srv2 这两台电脑中,启动 msdtc(分布式事务处理服务),并且设置为自动启动
我的电脑--控制面板--管理工具--服务--右键 Distributed Transaction Coordinator--属性--启动--并将启动类型设置为自动启动
go
--新增同步
create trigger tr_insert_author on author
for insert
as
set xact_abort on
insert srv2.库名.dbo.author(id,name,telphone)
select id,name,telphone from inserted
go--修改同步
create trigger tr_update_author on author
for update
as
set xact_abort on
update b set name=i.name,telphone=i.telphone
from srv2.库名.dbo.author b,inserted i
where b.id=i.id
go--删除同步
create trigger tr_delete_author on author
for delete
as
set xact_abort on
delete b
from srv2.库名.dbo.author b,deleted d
where b.id=d.id
go
回SCMAIL81:第一种方式:好象不能自动同步,只能手动同步,不能满足我的要求。第二种方式:只设置启动 msdtc(分布式事务处理服务)就可以了吗?能实现SQL2000服务器的数据(要求的表或字段)主动并且自动的同步SQL7.0上的数据吗,而且我的条件是SQL7.0的数据库是主的,SQL2000是从的。第三种方式:好象不行,因为SQL7.0数据库的表、存储过程、触法器,我是不能修改的,只能读取它的数据。
我的具体情况再说明以下:
SQL7.0数据库的数据,我只能利用、读取,不能做任何的修改。SQL2000数据库中的部分数据需要同步SQL7.0数据库中的数据。SQL2000我可以有任何的权限做任何的设置。而且这个数据的同步是要求实时的。