MS SQL入门基础:复制选项的规划
2007-01-03 09:24:19 来源:WEB开发网1 行过滤(Row Filter)
使用行过滤就是把某些特定的行发送给订购者,清除那些用户不必(或不应)看到的数据行,从而能为不同的订购者创建不同的出版物。同时,由于不同的订购者订购是来自同一表的不同数据行,因此有助于避免因多个订购者修改同一数据而导致的修改冲突。
行过滤可在合并复制、快照复制和事务复制中使用,但是,在事务复制中由于针对版表的每一数据操作语句(INSERT、 DELETE、 UPDATA) 都要使用过滤条件语句来进行验证,以确定是否打上“复制”标志,所以,使用行过滤会极大地增加系统负载。
2 列过滤(Column Filter)
列过滤实质就是对表进行垂直分割。使用列过滤能够减少订购者需要的存储空间,减少向订购者传送数据修改的时间。但是有些列不能从出版物中过滤出去,它们是:有主键约束的列;
没有缺省值的非空列;
包含在惟一索引中的列;
合并复制以及立即更新订购者的快照复制或事务复制中的ROWGUID 列。
3 动态过滤(Dynamic Filter)
动态过滤是指在合并复制的处理过程中,根据从订购者那里得到的数据值对出版表进行数据过滤。在合并复制中使用动态过滤能带来以下好处:
出版者上几乎不必存储出版物从而减少因管理多个出版物而带来的系统负载;
在动态过滤中使用用户自定义的函数,这样根据订购者的属性来进行数据过滤,从而使订购者仅获得必要的信息。
4 联合过滤(Joint Filter)
联合过滤允许在合并处理过程中定义两个出版表中的关系。它常与行过滤一同使用,并在合并处理中保持联合出版表之间的参照完整性。如果某一使用笔过滤的出版表被另外的出版表的外键所引用,那么,外键表的论文必须要有一个联合过滤器来代表其对主键表的依赖关系。
联合过滤并不仅限于主键/外键关系,事实上也可以针对任何两个不同的出版表的数据间的比较关系设置联合过滤。
查看全套"MS SQL入门基础教程">>>>>
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接