FIX: 合併列印交集複寫非-發生與 SQL Server CE 的訂閱者

文章翻譯 文章翻譯
文章編號: 867879 - 檢視此文章適用的產品。
Bug #: 471602 (SHILOH_BUGS)
Microsoft 為一個可下載檔案散佈 Microsoft SQL Server 2000 的修正程式。由於此修正程式是累積,每個新版本包含所有 Hotfix,隨附先前的 SQL Server 2000 所有安全性修正程式都修正發行。
全部展開 | 全部摺疊

在此頁中

徵狀

當兩個資料表會發佈符合下列條件時,相對應的子資料表資料列,是與未來資料分割成的變更不會複寫到 Microsoft SQL Server CE 訂閱者的父代相關聯:
  • 父資料表有動態子集篩選器。
  • 子資料表聯結到父系表格上,使用聯結篩選。
  • 文件訂閱者是 SQL Server CE 的訂閱者。
  • 要移出的後面跟著其他更新造成要回來為資料分割之資料列在父系表格的磁碟分割之資料列會在父資料表和子資料工作表上的更新。
與 SQL Server 訂閱者,不會發生這個問題。請參閱 < 其他相關資訊 > 一節中詳細資料問題的範例。

解決方案

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack,Microsoft SQL Server 2000。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
290211如何取得最新的 SQL Server 2000 Service Pack

Hotfix 資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。
   Date         Time   Version        Size     File name
   ------------------------------------------------------------------
   19-Jun-2004  00:51  2000.80.952.0    664,128  Autoplt.dll
   19-Jun-2004  00:51  2000.80.952.0     78,400  Console.exe
   19-Jun-2004  00:51  2000.80.952.0    315,968  Custtask.dll
   19-Jun-2004  00:51  2000.80.952.0     33,340  Dbmslpcn.dll
   08-Apr-2004  21:42                   786,432  Distmdl.ldf
   08-Apr-2004  21:42                 2,359,296  Distmdl.mdf
   10-Oct-2003  18:48                       180  Drop_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0  1,905,216  Dtspkg.dll
   19-Jun-2004  00:52  2000.80.952.0    528,960  Dtspump.dll
   19-Jun-2004  00:52  2000.80.952.0  1,557,052  Dtsui.dll
   19-Jun-2004  00:52  2000.80.952.0    639,552  Dtswiz.dll
   10-Oct-2003  18:48                   747,927  Instdist.sql
   10-Oct-2003  18:48                     1,581  Inst_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0    352,828  Isqlw.exe
   19-Jun-2004  00:51  2000.80.952.0     82,492  Itwiz.exe
   19-Jun-2004  00:52  2000.80.952.0     90,692  Msgprox.dll
   19-May-2004  23:43  8.11.40209.0     209,408  Mssdi98.dll
   19-Jun-2004  00:52  2000.80.952.0     62,024  Odsole70.dll
   19-Jun-2004  00:52  2000.80.952.0     25,144  Opends60.dll
   19-Jun-2004  00:51  2000.80.952.0     57,904  Osql.exe
   19-Jun-2004  00:52  2000.80.952.0    279,104  Pfutil80.dll
   10-Oct-2003  18:37                   550,780  Procsyst.sql
   08-Apr-2004  21:42                    12,305  Qfe469315.sql
   08-Apr-2004  21:42                    19,195  Qfe469571.sql
   15-Jun-2004  18:11                 1,105,167  Replmerg.sql
   19-Jun-2004  00:52  2000.80.952.0    221,768  Replprov.dll
   19-Jun-2004  00:52  2000.80.952.0    307,784  Replrec.dll
   15-Jun-2004  15:43  2000.80.952.0    159,813  Replres.rll
   10-Oct-2003  18:48                 1,087,150  Replsys.sql
   10-Oct-2003  18:48                   986,603  Repltran.sql
   19-Jun-2004  00:52  2000.80.952.0    287,304  Rinitcom.dll
   19-Jun-2004  00:52  2000.80.952.0     78,416  Sdiclnt.dll
   19-Jun-2004  00:52  2000.80.952.0     66,112  Semmap.dll
   19-Jun-2004  00:52  2000.80.952.0     57,916  Semnt.dll
   19-Jun-2004  00:52  2000.80.952.0    492,096  Semobj.dll
   15-Jun-2004  16:18  2000.80.952.0    172,032  Semobj.rll
   19-Jun-2004  00:51  2000.80.952.0     53,832  Snapshot.exe
   12-Mar-2004  03:10                   117,834  Sp3_serv_uni.sql
   19-Jun-2004  00:51  2000.80.952.0     28,672  Sqlagent.dll
   19-Jun-2004  00:51  2000.80.952.0    311,872  Sqlagent.exe
   19-Jun-2004  00:51  2000.80.952.0    168,001  Sqlakw32.dll
   19-Jun-2004  00:52  2000.80.952.0     33,344  Sqlctr80.dll
   19-Jun-2004  00:52  2000.80.952.0  4,215,360  Sqldmo.dll
   19-Jun-2004  00:51                    25,172  Sqldumper.exe
   15-Jun-2004  15:26  2000.80.952.0     28,672  Sqlevn70.rll
   19-Jun-2004  00:52  2000.80.952.0    180,792  Sqlmap70.dll
   19-Jun-2004  00:52  2000.80.952.0    188,992  Sqlmmc.dll
   15-Jun-2004  16:25  2000.80.952.0    479,232  Sqlmmc.rll
   19-Jun-2004  00:52  2000.80.952.0    401,984  Sqlqry.dll
   19-Jun-2004  00:52  2000.80.952.0     57,920  Sqlrepss.dll
   19-Jun-2004  00:52  2000.80.952.0  7,581,777  Sqlservr.exe
   19-Jun-2004  00:52  2000.80.952.0    590,396  Sqlsort.dll
   19-Jun-2004  00:52  2000.80.952.0     45,644  Sqlvdi.dll
   19-Jun-2004  00:52  2000.80.952.0    106,588  Sqsrvres.dll
   19-Jun-2004  00:52  2000.80.952.0     33,340  Ssmslpcn.dll
   19-Jun-2004  00:52  2000.80.952.0     82,492  Ssnetlib.dll
   19-Jun-2004  00:52  2000.80.952.0     25,148  Ssnmpn70.dll
   19-Jun-2004  00:52  2000.80.952.0    123,456  Stardds.dll
   19-Jun-2004  00:52  2000.80.952.0    158,240  Svrnetcn.dll
   19-Jun-2004  00:51  2000.80.952.0     76,416  Svrnetcn.exe
   19-Jun-2004  00:52  2000.80.952.0     53,808  Ums.dll
   19-Jun-2004  00:52  2000.80.952.0     98,872  Xpweb70.dll

附註由於檔案相依性最新版 Hotfix 或包含這些檔案的功能也可能包含其他檔案。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。 這個問題,首先已經在 Microsoft SQL Server 2000 服務套件 4 中獲得修正。

其他相關資訊

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
824684用來描述 Microsoft 軟體更新標準術語的說明

如果要重現問題的步驟

  1. SQL Server 中執行下列程式碼,以設定資料表資料庫與合併複寫:
    create database cesimplerepro
    GO
    use cesimplerepro
    GO
    create table main (mainid int not null primary key, id_user int)
    GO
    create table child (childid int not null primary key, id_user int, mainid int foreign key references main(mainid))
    GO
    insert into main (mainid, id_user) values (3, 5)
    GO
    insert into child (childid, id_user, mainid) values (1, 10, 3)
    GO
    exec sp_replicationdboption @dbname = N'cesimplerepro', @optname = N'merge publish', @value = N'true'
    GO
    -- Add the merge publication.
    exec sp_addmergepublication @publication = N'cesimplerepro',  @retention = 14, @sync_mode = N'character', @allow_push = N'true', @allow_pull = N'true', @allow_anonymous = N'true', @enabled_for_internet = N'false', @centralized_conflicts = N'true', @dynamic_filters = N'true', @snapshot_in_defaultfolder = N'true', @compress_snapshot = N'false', @ftp_port = 21, @ftp_login = N'anonymous', @conflict_retention = 14, @keep_partition_changes = N'true', @allow_subscription_copy = N'false', @allow_synctoalternate = N'false',@add_to_active_directory = N'false', @max_concurrent_merge = 0, @max_concurrent_dynamic_snapshots = 0
    GO
    exec sp_addpublication_snapshot @publication = N'cesimplerepro',@frequency_type = 4, @frequency_interval = 1, @frequency_relative_interval = 1, @frequency_recurrence_factor = 0, @frequency_subday = 1, @frequency_subday_interval = 5, @active_start_date = 0, @active_end_date = 0, @active_start_time_of_day = 500, @active_end_time_of_day = 235959
    GO
    exec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'BUILTIN\Administrators'
    GO
    exec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'distributor_admin'
    GO
    exec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'sa'
    GO
    -- Add the merge articles.
    exec sp_addmergearticle @publication = N'cesimplerepro', @article = N'main', @source_owner = N'dbo', @source_object = N'main', @type = N'table', @description = null, @column_tracking = N'true', @pre_creation_cmd = N'drop', @creation_script = null, @schema_option = 0x000000000000CFF1, @article_resolver = null, @subset_filterclause = N'ID_User = 5', @vertical_partition = N'false', @destination_owner = N'dbo', @auto_identity_range = N'false', @verify_resolver_signature = 0, @allow_interactive_resolver = N'false', @fast_multicol_updateproc = N'true', @check_permissions = 0
    GO
    exec sp_addmergearticle @publication = N'cesimplerepro', @article = N'child', @source_owner = N'dbo', @source_object = N'child', @type = N'table', @description = null, @column_tracking = N'true', @pre_creation_cmd = N'drop', @creation_script = null, @schema_option = 0x000000000000CFF1, @article_resolver = null, @subset_filterclause = null, @vertical_partition = N'false', @destination_owner = N'dbo', @auto_identity_range = N'false', @verify_resolver_signature = 0, @allow_interactive_resolver = N'false', @fast_multicol_updateproc = N'true', @check_permissions = 0
    GO
    -- Add the article subset filter.
    exec sp_addmergefilter @publication = N'cesimplerepro', @article = N'Child', @filtername = N'child_main', @join_articlename = N'main', @join_filterclause = N'main.mainid = Child.mainid', @join_unique_key = 0
    GO
  2. 執行 「 快照集代理程式 」,然後下載到 「 SQL Server CE 訂閱者 」 的 [快照集。
  3. 在 「 訂閱者 」 執行下列查詢:
    update main set id_user = 0  -- Take this row out of the partition.
    update child set id_user = 10 -- This is a dummy update on the child table.
    
  4. 同步處理變更到發行者。請注意 「 SQL Server CE 訂閱者 」 有沒有主資料表] 和 [子資料工作表的列,因為不再滿足篩選器。
  5. 在 「 發行者 」 中執行下列查詢:
    Update main set id_user = 5 -- Satisfies the filter clause again. The row will get into partition on the next synch.
    下一個同步處理。
  6. 同步處理至 SQL Server CE 變更訂閱者。

    在 「 訂閱者 」 上,您會看到主資料表的一資料列。這項行為是正確的。但是您不做看到子系表格的任何資料列。這是不正確。

屬性

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