Microsoft vertreibt Microsoft SQL Server 2008 SP2 oder Microsoft SQL Server 2008 R2-Fixes als eine herunterladbare Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 SP2 oder SQL Server 2008 R2 enthalten waren.
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie verfügen über eine Tabelle oder eine Ansicht mit zwei Indizes in Microsoft SQL Server 2008 oder Microsoft SQL Server 2008 R2. Der erste Index hat einen AFTER-Trigger. Der zweite Index hat jedoch keinen AFTER-Trigger.
-
Einige Datensätze im zweiten Index enthalten Versionsinformationen für Zeilen. Sie haben beispielsweise zuvor das Feature für die Snapshot-Isolierung aktiviert, um die Zeilenversion zu aktivieren.
-
Sie versuchen, eine DML-Abfrage für die Tabelle oder die Ansicht auszuführen.
In diesem Szenario kann eines der folgenden Probleme auftreten:
-
Ein Assertionsfehler tritt auf, und der folgende Fehler wird im SQL Server-Fehlerprotokoll protokolliert:
UhrzeitSPID # Fehler: 17066, Schweregrad: 16, Zustand: 1.DatumderSPID # SQL Server-Assertion: Datei: PAGEREF. cpp, Zeile = 1332 fehlerhafte Assertion = "0 = = pageFull". Dieser Fehler kann Zeit bezogen sein. Wenn der Fehler nach erneuter Ausführung der Anweisung weiterhin auftritt, verwenden Sie DBCC CHECKDB, um die Datenbank auf strukturelle Integrität zu überprüfen, oder starten Sie den Server neu, um sicherzustellen, dass die Datenstrukturen im Arbeitsspeicher nicht beschädigt sind.UhrzeitSPID # Fehler: 3624, Schweregrad: 20, Bundesland: 1.Datum der Zeit #a0 SPID # eine System Assertionsüberprüfung ist fehlgeschlagen. Weitere Informationen finden Sie im SQL Server-Fehlerprotokoll. In der Regel wird ein Assertionsfehler durch einen Softwarefehler oder Datenbeschädigung verursacht. Wenn Sie nach einer Datenbankbeschädigung suchen möchten, sollten Sie DBCC CHECKDB ausführen. Wenn Sie während des Setups zugestimmt haben, Dumps an Microsoft zu senden, wird ein Mini-dump an Microsoft gesendet. Möglicherweise ist ein Update von Microsoft im neuesten Service Pack oder in einem QFE vom technischen Support erhältlich.
-
Die Abfrage gibt falsche Ergebnisse zurück.
-
Ein Datenbeschädigungsproblem tritt auf.
Ursache
Dieses Problem tritt aufgrund eines Fehlers im SQL Server-Abfrageoptimierer auf. Wenn Sie eine DML-Abfrage ausführen, die einen Trigger generiert, werden falsche Zeilen Versionskennzeichen festgesetzt, und das SQL Server-Speichermodul verwendet die Informationen der alten Zeilenversion. Daher treten die im Abschnitt "Problembeschreibung" beschriebenen Probleme auf.
Fehlerbehebung
Informationen zum kumulativen Update
SQL Server 2008 R2
Der Fix für dieses Problem wurde erstmals im kumulativen Update 10 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 R2 benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2591746 Kumulatives Update Paket 10 für SQL Server 2008 R2 Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 R2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
981356 Die SQL Server 2008 R2-Builds, die nach der Veröffentlichung von SQL Server 2008 R2 veröffentlicht wurden
SQL Server 2008 R2 Service Pack 1
Der Fix für dieses Problem wurde erstmals im kumulativen Update 3 für SQL Server 2008 R2 Service Pack 1 veröffentlicht. Wenn Sie weitere Informationen zum Abrufen dieses kumulativen Updatepakets benötigen, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2591748 Kumulatives Update Paket 3 für SQL Server 2008 R2 Service Pack 1Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die mit der vorherigen Version von SQL Server 2008 R2 behoben wurden. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2567616 Die SQL Server 2008 R2-Builds, die nach dem Veröffentlichen von SQL Server 2008 R2 Service Pack 1 veröffentlicht wurden
SQL Server 2008 Service Pack 2 (SP2) Kumulatives Updatepaket 6
Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 6 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 Service Pack 2 erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2582285 Kumulatives Updatepaket 6 für SQL Server 2008 Service Pack 2Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen SQL Server 2008 Service Pack 2-Fix-Version enthalten sind. Wir empfehlen, dass Sie die neueste Fix-Version anwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:
2402659 Die SQL Server 2008-Builds, die nach der Veröffentlichung von SQL Server 2008 Service Pack 2 veröffentlicht wurden
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.