DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 948628 - Geändert am: Dienstag, 26. Februar 2008 - Version: 1.1

 
Fehler: # 50002221 (SQL-Hotfix)
Microsoft stellt Updates für Microsoft SQL Server 2005 als downloadbare Datei. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2005 enthalten waren.

Problembeschreibung

Stellen Sie das Folgendes Szenario in Microsoft SQL Server 2005:
  • Sie konfigurieren eine Mergereplikation für eine Tabelle, die eine oder mehrere Spalten des Datentyps XML enthält.
  • Erstellen Sie einen Seriendruck Filter für die Tabelle. Der Seriendruck-Filter ist ein logischer Datensatz Beziehungstyp. @ Filter_type Parameter von der Prozedur Sp_addmergefilter gespeichert ist, 2 oder 3.
  • Sie führen Sie eine Batch-Anweisung für diese Tabelle auf dem Verleger oder Abonnent.
  • Die Batch-Anweisung besteht aus einer DELETE-Anweisung gefolgt von einer INSERT-Anweisung.
  • Danach synchronisieren Sie die Replikation.
In diesem Szenario beim Untersuchen der eingefügten Daten auf das andere Replikat möglicherweise die Spalten des Datentyps XML sein leeren Zeichenfolgen. Dieses Problem entsteht in non-Convergence von Daten.

Ursache

In SQL Server 2005 bei der Durchführung einer Insert-Operation oder einen Aktualisierungsvorgang für eine Tabelle, die XML-Spalten enthält, übernimmt der Mergereplikation den Vorgang in zwei Schritten. Erste Schritt eingefügt oder aktualisiert alle Spalten, die nicht den Datentyp XML. Die zweite Schritt führt einen Aktualisierungsvorgang für jede Spalte von der XML-Datentyp. Diese Schritte auftreten, weil die XML-Spalten nur als Streams gebunden werden können. Allerdings lässt der OLE DB-Provider nicht zum Binden von mehr als einen Datenstrom für eine Zeile.

Da ein Batch nur ein Befehlstyp hat, ist der Befehlstyp des Stapels DELETE, wenn eine DELETE-Anweisung zuerst in einem Batch vorhanden ist. In diesem Szenario wird, die in Abschnitt, wenn ein Batch, der eine DELETE-Anweisung gefolgt von einer INSERT-Anweisung, die Änderung enthält, in der INSERT-Anweisung für XML-Spalten übersprungen wird "Problembeschreibung" beschrieben.

Lösung

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Updates 6 freigegeben. Weitere Informationen, wie Sie dieses kumulative Updatepaket für SQL Server 2005 Service Pack 2 zu erhalten finden Sie im folgenden Artikel der Microsoft Knowledge Base:
946608  (http://support.microsoft.com/kb/946608/LN/ ) Kumulatives Updatepaket 6 für SQL Server 2005 Service Pack 2
Hinweis: Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2005 enthalten waren. Microsoft empfiehlt, dass Sie in Erwägung ziehen Anwenden der neuesten Update-Version, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL Server 2005 erstellt, die veröffentlicht wurden, nachdem SQL Server 2005 Service Pack 2 freigegeben wurde
Microsoft SQL Server 2005-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen ein SQL Server 2005 Service Pack 2 Hotfix auf eine Installation von SQL Server 2005 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einer SQL Server Service Pack bereitgestellt wird in das nächste SQL Server Service Pack enthalten.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.

Weitere Informationen

Sie können die folgende Abfrage verwenden, um festzustellen, ob ein Mergefilter logischen Datensatz Beziehungstyp für eine Tabelle erstellt wird. f.artid
Select f.artid, a.name, f.filter_type 
from sysmergesubsetfilters f join sysmergearticles a
on f.artid=a.artid where a.name='<TableName>'
ein DELETE-Anweisung erfordert keine dieser Schritten. Die Entscheidung, ob der zweite Schritt führen wird auf der Ebene Batch durchgeführte Geben Sie an der Befehl des ersten Befehls im Batch ein. Wird davon ausgegangen, dass alle Befehle im Batch vom gleichen Typ sind. Daher ist es ausreichend, nur den ersten Befehl im Batch zu untersuchen. Wenn in einem Batch logische Datensätze vorhanden sind, kann der Stapel von anderen Befehlstypen bestehen. Daher ist es nicht nur den ersten Befehl überprüfen. Die Entscheidung, ob der zweite Schritt führen sollte der Befehl Ebene und nicht auf der Batch-Ebene vorgenommen werden. Dieser Hotfix behebt dieses Problem. Nachdem der Hotfix angewendet wird, werden alle Befehle untersucht und dann die Schritte werden basierend auf bestimmt der Befehlstyp.

Weitere Informationen, welche Dateien geändert werden, sowie über alle Voraussetzungen für das kumulative Updatepaket anwenden, das den Hotfix enthält, der in diesem Knowledge Base-Artikel beschrieben wird, finden Sie die folgende KB-Artikelnummer:
946608  (http://support.microsoft.com/kb/946608/LN/ ) Kumulatives Updatepaket 6 für SQL Server 2005 Service Pack 2

Informationsquellen

Weitere Informationen zur Liste der Builds, die nach SQL Server Service Pack 2 finden Sie im folgenden Artikel der Microsoft Knowledge Base:
937137  (http://support.microsoft.com/kb/937137/LN/ ) SQL Server 2005 erstellt, die veröffentlicht wurden, nachdem SQL Server 2005 Service Pack 2 freigegeben wurde
Weitere Informationen zu inkrementellen Dienstmodell für SQL Server finden Sie im folgenden Artikel der Microsoft Knowledge Base:
935897  (http://support.microsoft.com/kb/935897/LN/ ) Ein inkrementelles Dienstmodell steht SQL Server-Team zum Übermitteln von Hotfixes für gemeldete Probleme
Weitere Informationen, wie Sie SQL Server 2005 Service Pack 2 erhalten können finden Sie im folgenden Artikel der Microsoft Knowledge Base:
913089  (http://support.microsoft.com/kb/913089/LN/ ) Beziehen der neuesten Service Packs für SQL Server 2005
Weitere Informationen zu neuen Features und die Verbesserungen in SQL Server 2005 Service Pack 2 die folgenden Microsoft-Website:
http://go.microsoft.com/fwlink/?LinkId=71711 (http://go.microsoft.com/fwlink/?LinkId=71711)
Weitere Informationen zum Benennungsschema für SQL Server-Updates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
822499  (http://support.microsoft.com/kb/822499/LN/ ) Neues Namensschema für Microsoft SQL Server-Softwareupdate-Paketen
Weitere Informationen zur Terminologie für Softwareupdates finden Sie im folgenden Artikel der Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Keywords: 
kbmt kbsql2005repl kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB948628 KbMtde
Maschinell übersetzter ArtikelMaschinell ü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: 948628  (http://support.microsoft.com/kb/948628/en-us/ )
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.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: