PRB: 大量作業成不在合併複寫中複寫的資料列中的資料表結果

文章翻譯 文章翻譯
文章編號: 275680 - 檢視此文章適用的產品。
全部展開 | 全部摺疊

在此頁中

徵狀

當使用大量作業 (例如 bcp 命令列公用程式、 BULK INSERT Transact-SQL 陳述式、 大量複製 API 或 SQL Server 資料轉換服務 (DTS),參與合併式複寫的資料表資料載入,除非採取某些措施是插入的資料列不會複寫到其他伺服器。

發生的原因

因為這些大量作業會最佳化對於快速又有效率的大量的資料載入,預設它們做不引發觸發程序接收插入的資料的資料表上。因為合併式複寫需要在發行者和訂閱者,之間追蹤的變更,如果不引發觸發程序的參與資料表上的系統觸發程序使用,合併式複寫無法複寫資料列。

其他可行方案

這個問題的解決方法取決於您使用大量複製資料和您正在使用的 SQL Server 版本的方法:

  • 如果您要插入資料列使用 SQL Server DTS,清除 [在 資料轉換工作 的屬性工作表的 [選項] 索引標籤下的 [使用快速載入 選項 (預設為啟用)]。不過,請注意 [SQL Server 2000 大量插入工作不會公開可以變更 [使用快速載入 選項,只有 「 轉換資料工作不會。

  • 如果您使用 bcp 命令列公用程式或 Transact-SQL BULK INSERT 陳述式在 SQL Server 2000 中,您必須使用 FIRE_TRIGGERS 選項。 請注意 FIRE_TRIGGERS 選項不適用於 SQL Server 7.0 版。因為 [FIRE_TRIGGERS 選項中的大量作業的 SQL Server 7.0 版無法使用,DTS 以外的任何大量作業會導致無法複寫到 「 訂閱者 」 的資料列。

  • 當您使用 [大量複製 API 透過 ODBC 您必須啟用適當的連線控制代碼,透過 bcp_control() 函式呼叫上的 [FIRE_TRIGGERS] 選項。

  • 當您使用 [IRowsetFastLoad OLE DB 介面時指定 [IOpenRowset 介面上的 [SSPROP_FASTLOADOPTIONS 屬性的 FIRE_TRIGGERS 選項]。

其他相關資訊

插入、 刪除和更新命令會在合併式複寫發行集複寫追蹤 「 合併代理程式 」 加入至 [MSmerge_contents] 和 [MSmerge_tombstone 資料表時。資料列加入至複寫安裝期間建立的資料表上的系統觸發程序透過這些資料表。

大量作業不會檢查資料表條件約束上,或引發觸發程序在目的資料表。如此一來不會引發合併複寫系統的觸發程序。由於不會引發這些觸發程序,資料列的"觸及 「 大量插入作業不會加入至 MSmerge_contents 資料表由,因此不會複寫到 「 訂閱者 」。

參考

觸發程序的效果的相關資訊執行在目的資料表指定 FIRE_TRIGGERS 選項時請參閱 SQL Server 2000 線上叢書 》 中的 [使用 bcp 並 BULK INSERT >] 主題。

屬性

文章編號: 275680 - 上次校閱: 2003年10月31日 - 版次: 3.2
這篇文章中的資訊適用於:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
關鍵字:?
kbmt kbprb KB275680 KbMtzh
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本: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