FIX: Beim Ausführen einer Abfrage, die die Row_number-Funktion in SQL Server 2008 verwendet, erhalten ein falsches Ergebnis

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 970198 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Microsoft stellt Updates für Microsoft SQL Server 2008 als downloadbare Datei. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2008 geliefert wurden beheben Version.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Betrachten Sie das folgende Szenario. Sie führen eine Abfrage für eine Tabelle mit einen gruppierten Index in Microsoft SQL Server 2008. In der Abfrage verwenden Sie die ROW_NUMBER Funktion. In diesem Szenario erhalten Sie ein falsches Ergebnis, wenn ein paralleler Ausführungsplan für die Abfrage verwendet wird. Wenn Sie viele Male die Abfrage ausführen, erhalten Sie möglicherweise unterschiedliche Ergebnisse.

Lösung

Kumulatives Update-Informationen

SQL Server 2008 Servicepack 2

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 6 für SQL Server 2008 Service Pack 2 veröffentlicht. Weitere Informationen zu diesem kumulativen Update-Paket finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2582285 Kumulatives Updatepaket 6 für SQL Server 2008 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 2008 geliefert wurden beheben Version. Microsoft empfiehlt, dass Sie sich die neueste Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2402659 Die SQL Server 2008 erstellt, die nach dem SQL Server 2008 Service Pack 2 veröffentlicht wurden
Microsoft SQL Server-2008-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen SQL Server 2008 Service Pack 2 Hotfix auf eine Installation von SQL Server 2008 Service Pack 2 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird in das nächste Servicepack für SQL Server enthalten.

SQL Server 2008 Servicepack 1

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 15 für SQL Server 2008 Service Pack 1 veröffentlicht. Weitere Informationen zu diesem kumulativen Update-Paket finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2555406 Kumulatives Updatepaket 15 für SQL Server 2008 Service Pack 1
Hinweis Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2008 geliefert wurden beheben Version. Microsoft empfiehlt, dass Sie sich die neueste Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
970365 Die SQL Server 2008 erstellt, die nach dem SQL Server 2008 Service Pack 1 veröffentlicht wurden
Microsoft SQL Server-2008-Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen SQL Server 2008 Service Pack 1 Hotfix auf eine Installation von SQL Server 2008 Service Pack 1 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird in das nächste Servicepack für SQL Server enthalten.

Die Releaseversion von SQL Server 2008

Wichtig Sie müssen dieses kumulative Updatepaket installieren, wenn Ihr Computer die Releaseversion von SQL Server 2008 ausgeführt wird.

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 6 veröffentlicht. Weitere Informationen dazu, wie Sie dieses kumulative Updatepaket für SQL Server 2008 erhalten finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
971490 Kumulatives Updatepaket 6 für SQL Server 2008
Hinweis Da die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2008 geliefert wurden beheben Version. Wir empfehlen, dass Sie sich die neueste Version, die diesen Hotfix enthält. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
956909 Die SQL Server 2008 erstellt, die nach der Freigabe von SQL Server 2008

Hinweis Nachdem Sie das kumulative Update 6 für SQL Server 2008 anwenden, aktivieren Sie die Ablaufverfolgung Flag 4134, um das Update zu aktivieren. Weitere Informationen zum Aktivieren des Ablaufverfolgungsflags finden Sie auf der folgenden Microsoft-Websites:
DBCC TRACEON (Transact-SQL)

Abhilfe

Verwenden Sie eine der folgenden Methoden, um dieses Problem zu umgehen.

Methode 1

Verwenden Sie einen nicht gruppierten Index anstelle von den gruppierten Index für die Tabelle. Sie müssen den gruppierten Index zu entfernen und erstellen Sie einen nicht gruppierten Index für die Tabelle.

Methode 2

Führen Sie die Abfrage durch Festlegen der MAXDOP Der Abfragehinweis auf 1.

Status

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

Informationsquellen

Weitere Informationen zum inkrementellen Dienstmodell für SQL Server finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
935897Ein inkrementelles Dienstmodell ist SQL Server-Team zum Übermitteln von Hotfixes für gemeldete Probleme verfügbar
Weitere Informationen zum Benennungsschema für SQL Server-Updates finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
822499Neues Benennungsschema für Softwareupdate-Pakete Microsoft SQL Server
Weitere Informationen zur Terminologie für Softwareupdates finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
824684 Beschreibung der Standardterminologie, die zum Beschreiben von Microsoft-Softwareupdates verwendet wird

Eigenschaften

Artikel-ID: 970198 - Geändert am: Montag, 19. September 2011 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Standard
Keywords: 
kbsurveynew kbexpertiseadvanced kbqfe kbfix kbmt KB970198 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: 970198
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