Update: Tritt mit SQL Server CE-Abonnenten Zusammenführung-Replikation non-Convergence auf

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 867879 - Produkte anzeigen, auf die sich dieser Artikel bezieht
# Fehler: 471602 (SHILOH_BUGS)
Microsoft stellt Updates für Microsoft SQL Server 2000 als downloadbare Datei. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2000 enthalten waren.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Wenn zwei Tabellen, die die folgenden Bedingungen erfüllen veröffentlicht werden, sind die entsprechenden untergeordneten Tabellenzeilen, die "kommenden in Partition" übergeordnete Änderungen nicht an die Microsoft SQL Server CE-Abonnenten repliziert werden zugeordnet:
  • Die übergeordnete Tabelle hat einen dynamische Teilmengenfilter.
  • Die untergeordnete Tabelle ist mit der übergeordneten Tabelle verknüpft, mithilfe von einen Verknüpfungsfilter.
  • Die Abonnenten in den Artikeln sind SQL Server CE-Abonnenten.
  • Updates auf der übergeordneten Tabelle und der untergeordneten Tabelle bewirken, dass die Zeile aus der Partition, gefolgt von anderen Updates in der übergeordneten Tabelle, die die Zeile wieder in Partition stammen verursachen wechseln.
Dieses Problem tritt nicht mit SQL Server-Abonnenten. Finden Sie im Abschnitt "Weitere Informationen" ein Beispiel für das Problem ausführlich.

Lösung

Informationen zu Service Packs

Installieren Sie das neueste Service Pack für Microsoft SQL Server 2000, um dieses Problem zu beheben. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
290211So erhalten Sie das neueste Service Pack für SQL Server 2000

Hotfix-Informationen

Die englische Version dieses Hotfixes weist die Dateiattribute (oder höher Dateiattribute), die in der folgenden Tabelle aufgelistet werden. Die Datums- und Uhrzeitangaben für diese Dateien sind in Coordinated Universal Time (UTC) angegeben. Wenn Sie sich die Dateiinformationen ansehen, werden diese Angaben in die lokale Zeit konvertiert. Um die Differenz zwischen UTC und der Ortszeit zu ermitteln verwenden Sie die Registerkarte Zeitzone des Tools ? Datum und Uhrzeit in der Systemsteuerung.
   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

Hinweis: Aufgrund von Dateiabhängigkeiten enthält das aktuellste Update oder Feature, das diese Dateien enthält, möglicherweise auch weitere Dateien.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind. Dieses Problem wurde erstmals im Microsoft SQL Server 2000 Service Pack 4.

Weitere Informationen

Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Schritte zum Reproduzieren des Problems

  1. In SQL Server ausführen den folgenden Code die Datenbank, die Tabellen, einrichten und Mergereplikation:
    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. Führen Sie den Snapshot-Agent, und downloaden Sie den Snapshot auf einen SQL Server CE-Abonnenten.
  3. Die folgenden Abfragen ausführen, auf dem Abonnenten: Update Main
    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. Synchronisieren Sie die Änderungen an den Herausgeber. Beachten Sie, dass SQL Server CE-Abonnenten keine Zeilen für die Haupttabelle und die untergeordnete Tabelle verfügt, da der Filter nicht mehr erfüllt ist.
  5. Führen Sie die folgende Abfrage in Publisher:
    Update main set id_user = 5 -- Satisfies the filter clause again. The row will get into partition on the next synch.
  6. Synchronisieren die Änderungen zum SQL Server CE Abonnenten.

    Auf dem Abonnenten sehen Sie eine Zeile für die Haupttabelle. Dieses Verhalten ist korrekt. Aber keine Zeilen für die untergeordnete Tabelle sehen. Dies ist falsch.

Eigenschaften

Artikel-ID: 867879 - Geändert am: Freitag, 2. November 2007 - Version: 2.3
Die Informationen in diesem Artikel beziehen sich auf:
  • 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
Keywords: 
kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB867879 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 867879
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

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