用OPENROWSET试一下:
select * from OPENROWSET('SQLOLEDB',
'SERVER=IP地址;uid=sa;pwd=;Database=数据库','select * from 表名') as table......
select * from OPENROWSET('SQLOLEDB',
'SERVER=IP地址;uid=sa;pwd=;Database=数据库','select * from 表名') as table......
也可以创建链接服务器,或者用"子陌红尘"的办法,利用SQL的复制功能
不过如果只是一个表的同步,不必用复制功能
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','SQL服务名'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户','密码'
gocreate trigger tri_test
on 表
for insert,update,delete
as
begin
delete srv_lnk.数据库.dbo.表 from srv_lnk.数据库.dbo.表 a,deleted b where a.标识列=b.标识列
insert into srv_lnk.数据库.dbo.表 select * from inserted
end
go
sp_addlinkedsrvlogin
用這兩個系統存儲過程,
其具體的說明可以看聯機幫助。
exec sp_addlinkedserver 'srv_lnk','','SQLOLEDB','SQL服务名'
exec sp_addlinkedsrvlogin 'srv_lnk','false',null,'用户','密码'
gocreate trigger tri_test
on 表
for insert,update,delete
as
begin
delete srv_lnk.数据库.dbo.表 from srv_lnk.数据库.dbo.表 a,deleted b where a.标识列=b.标识列
insert into srv_lnk.数据库.dbo.表 select * from inserted
end
go
1.不同的主机也可以;从A机分发给B机,有两种方法:一种是请求订阅,一种是强制订阅;如果AB两机的数据要实时同步,可以选择强制订阅,这样在A机更新后会自动向B机更新;
具体设置时:A机可以作为发布/分发服务器,B机作为订阅服务器2.distribution数据库是分发数据库4.按设定时间执行数据库间的复制操作5.服务器需要实时数据时,最好使用事务发布(不过这个选项只有在SQL2000 服务器版中才有,楼主安装时要注意)参考下面的帖子:
http://community.csdn.net/Expert/topic/4150/4150172.xml?temp=.2713129http://community.csdn.net/Expert/topic/4150/4150172.xml?temp=.2713129
http://community.csdn.net/Expert/topic/4276/4276288.xml?temp=.5837519