上一篇 | 下一篇

SQL Server merge replication: 巧用Merge Agent的hostname参数创建dynamic filter

发布: 2008-6-30 23:24 | 作者: admin | 来源: | 查看: 18次

SQL Server merge replication: 巧用Merge Agent的hostname参数创建dynamic filter

热 荐

【字体:小 大】

SQL Server merge replication: 巧用Merge Agent的hostname参数创建dynamic filter

作者:- 文章来源:- 点击数:535 更新时间:2006-4-20

我们知道,SQL Server 2000的Merge Replication支持dynamic filter的功能。如果我们有多个subscriber,每个subscriber只需要维护自己特定的数据,这时候我们只需创建一个publication, 然后利用dynamic filter的功能,把每个subscriber需要的特定数据复制过去。最常用的用于dynamic filter的系统函数是SUSER_SNAME() 和 HOST_NAME(),针对每个subscriber的merge agent连到publisher时,SQL Server会计算出么特定merge agent连接的SUSER_SNAME() 或 HOST_NAME()值,然后根据结果来过滤数据。

直接利用SUSER_SNAME() 或 HOST_NAME()时候,需要table中有相应SUSER_SNAME() 或 HOST_NAME()的值。比如如果我们的publisher server叫shanghai来维护所有的数据,三个subscriber分别叫nanjing, suzhou和hangzhou来维护各自的数据,如果我们希望利用HOST_NAME()把数据复制到三个subscriber, 我们的表中应该有一列来存HOST_NAME()的值,然后我们才能用dynamic filter如filter_column = host_name()来过滤数据:

create table orders(orderID int not null, filter_column char(20), Quantity int)

go

insert into orders values(1,nanjing,100)

insert into orders values(2,suzhou,200)

字号: | 推荐给好友

41/41234>

评分:0

我来说两句

月度热点

网络推荐