您的位置:首页 > 其它

对于事务复制更新启用Singleton 新跟踪标志

2012-06-28 17:16 309 查看
作为延迟更新如果更新任何列在属于唯一或聚集索引, SQLServer 实现更新。 延迟更新意味着 UPDATE 是发送到订阅服务器成对的 DELETE 和 INSERT 操作。 是在以下 MicrosoftKnowledgeBase 文章中详细详细介绍一个延迟更新:
238254 (http://support.microsoft.com/kb/238254/EN-US/) INF: 可能作为 DELETE / INSERT 对复制 UPDATE 语句
组织可能发现更新发送到订户 DELETE 和 INSERT 操作时不符合其业务需求。 例如, 业务规则可能需要更新触发器以激发在订阅服务器。 新跟踪标志, 为了适应这些情况 8207, 是引入 SQL Server 2000 Service Pack 1, 使 Singleton 更新用于事务复制中。 作为 UPDATE 和 DELETE 或 INSERT 对不复制更新以影响一行 (单独更新) 唯一列。 如果更新影响多行, 更新仍复制成对 DELETE 或 INSERT。

更多信息

您可以通过使用下列方法之一启用发布服务器上跟踪标志 8207:

从 SQLServer 查询分析器运行以下代码:

DBCC TRACEON (8207, -1)

注意 : 每次您停止并重新启动 SQLServer 时必须重复此步骤。

- 或 -

如果您想有 8207 跟踪标志将 ON 永久, 然后:

1.停止 MSSQLServer 服务。
2.添加 - T8207 到启动参数。 要添加 - T8207, 从 SQL 企业管理器:
a.右键单击服务器名称, 并单击 属性 。
b.在 属性 对话框中, 单击 常规 选项卡, 然后单击 启动参数 。
c.添加跟踪标志。
3.启动 MSSQLServer 服务。
从该点向前, 更新以唯一列影响一行 (单独更新) 并不作为 UPDATE 和 DELETE 或 INSERT 对被复制。 如果更新影响多行, 更新仍复制成对 DELETE 或 INSERT。

要点 : 通常, 在只读事务复制使用跟踪标志 8207。 如果不要使用跟踪标志 8207 带有更新订阅:
在订阅服务器发生了主键更新。
订阅服务器上发生更新以唯一约束中包含一列。
订阅服务器上发生更新以唯一索引中包含一列。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐