到未在合并复制中复制的行中的表结果 PRB: 批量操作

文章翻译 文章翻译
文章编号: 275680 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

症状

当您将数据加载到参与合并复制中,除非采取某些措施是使用大容量操作 (如的 bcp 命令行实用程序、 BULK INSERT TRANSACT-SQL 语句、 大容量复制 API,或 SQL Server 数据转换服务 (DTS) 时, 插入的行不会复制到其他服务器。

原因

因为这些大容量操作经过优化以供大量数据的快速、 高效地负载,默认情况下它们不会触发接收插入的数据在表上的触发器。合并复制要求在发布服务器和订阅服务器,之间跟踪的更改,如果不会触发该触发器的参与表上的系统触发器使用,因为合并复制不能复制行。

替代方法

此问题的解决方法取决于您使用大容量复制数据和版本 SQL Server 所使用的方法:

  • 如果您要插入行使用 SQL Server DTS,清除 Data Transformation Task 属性表 选项 选项卡下的 (默认情况下启用) 使用快速装载 选项。但是,请注意 SQL Server 2000 大容量插入任务不公开为可以更改 使用快速装载 选项,只有转换数据任务不会。

  • 如果要使用的 bcp 命令行实用程序或 $ TRANSACT-SQL BULK INSERT 语句 SQL Server 2000 中,您必须使用 FIRE_TRIGGERS 选项。 请注意 FIRE_TRIGGERS 选项不可用 SQL Server 7.0 版中。由于该 FIRE_TRIGGERS 选项对于批量操作 7.0 SQL Server 版中不可用,外部的 DTS 任何大容量操作会导致不被复制到订阅服务器的行。

  • 您在使用大容量复制 API 通过 ODBC 时您必须启用 FIRE_TRIGGERS 选项 bcp_control() 函数的调用通过在适当的连接句柄上。

  • 您在使用 IRowsetFastLoad OLE DB 接口时指定 IOpenRowset 接口上的为 SSPROP_FASTLOADOPTIONS 属性 FIRE_TRIGGERS 选项。

更多信息

插入、 删除,和要复制在合并复制发布的更新命令将被添加到 MSmerge_contentsMSmerge_tombstone 表时跟踪由合并代理程序。要通过系统触发器复制安装过程中的表上创建这些表添加行。

大容量操作不会检查表约束或激发触发器在目的表。如此一来合并复制系统触发器不会触发。因为这些触发器不会触发,行的"触摸"由大容量插入操作不会添加到 MSmerge_contents 表,因此未复制到订阅服务器。

引用

有关效果的触发器的详细信息在目的表时指定该 FIRE_TRIGGERS 选项,则执行,请参阅"使用 bcp 和 BULK INSERT"主题中 SQL Server 2000 丛书联机。

属性

文章编号: 275680 - 最后修改: 2003年10月31日 - 修订: 3.2
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 7.0 标准版
关键字:?
kbmt kbprb KB275680 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 275680
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com