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

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

按一下這裡查看此文章的英文版本: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 cesimplereproGOuse cesimplereproGOcreate table main (mainid int not null primary key, id_user int)GOcreate table child (childid int not null primary key, id_user int, mainid int foreign key references main(mainid))GOinsert into main (mainid, id_user) values (3, 5)GOinsert into child (childid, id_user, mainid) values (1, 10, 3)GOexec 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 = 0GOexec 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 = 235959GOexec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'BUILTIN\Administrators'GOexec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'distributor_admin'GOexec 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 = 0GOexec 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 = 0GO-- 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 = 0GO
  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 - 最後檢閱時間:01/17/2015 10:59:50 - 修訂: 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

  • kbnosurvey kbarchive kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB867879 KbMtzh
意見反應