Update: Wenn Sie eine Abfrage ausführen, die mehrere Selbstverknüpfung Vorgänge für dieselbe Spalte in SQL Server 2005, SQL Server 2008 und SQL Server 2008 R2 enthält eine schlechte Leistung auftreten

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 2451540 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Microsoft stellt Microsoft SQL Server 2005 oder Microsoft SQL Server 2008 oder Microsoft SQL Server 2008 R2 als downloadbare Datei behebt. Da die Updates kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die mit früheren SQL Server 2005 oder Microsoft SQL Server 2008 oder Microsoft SQL Server 2008 R2 enthalten waren Release beheben.
Alles erweitern | Alles schließen

Auf dieser Seite

Problembeschreibung

Betrachten Sie das folgende Szenario. Sie haben eine Datenbank in Microsoft SQL Server 2005 oder Microsoft SQL Server 2008 oder Microsoft SQL Server 2008 R2. Sie führen eine Abfrage, die mehrere selbst-JOIN-Operationen in derselben Spalte einer Tabelle in der Datenbank enthält. Wenn Sie versuchen, einen Cube zu erstellen, der die Daten in der Datenbank verwendet, kann eine Abfrage enthält mehrere selbst-JOIN-Operationen in derselben Spalte ausgeführt werden. In diesem Szenario eine schlechte Leistung kann es kommen, und die Abfrage möglicherweise sehr lange dauern, die ausgeführt werden.

Ursache

Dieses Problem tritt auf, weil die Kardinalität-Schätzungen in der Abfrage nicht korrekt ist. Nachdem mehrere Selbstverknüpfung Vorgänge gelten, kann der Abfrageoptimierer die Anzahl der Zeilen für eine andere Join-Operator 1 schätzen. Daher wird der Abfrageoptimierer wählt eines ineffizienten Abfrageplanes, und eine schlechte Leistung auftreten.

Lösung

Kumulatives Update-Informationen

SQL Server 2008 Servicepack 2

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 3 für SQL Server 2008 Service Pack 2 veröffentlicht. Weitere Informationen über dieses kumulative Updatepaket finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2498535Kumulatives Updatepaket 3 für SQL Server 2008 Service Pack 2
HinweisDa die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle die Sicherheitsupdates, die mit der vorherigen SQL Server 2008 enthalten waren. Microsoft empfiehlt, dass Sie sich, die jeweils neueste Update-Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2402659Die SQL Server 2008 erstellt, die nach der Veröffentlichung von 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 SQL Server Servicepack enthalten.

SQLServer 2008 R2

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 R2 zu erhalten finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2489376Kumulatives Update-Paket 6 für SQL Server 2008 R2
HinweisDa die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle die Sicherheitsupdates, die mit früheren SQL Server 2008 R2 enthalten waren. Es wird empfohlen, dass Sie sich, die jeweils neueste Update-Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
981356Die SQL Server 2008 R2 builds, die nach der Veröffentlichung von SQL Server 2008 R2

SQL Server 2008 Servicepack 1

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 12 für SQL Server 2008 Service Pack 1 veröffentlicht. Weitere Informationen über dieses kumulative Updatepaket finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2467236Kumulatives Updatepaket 12 für SQL Server 2008 Service Pack 1
HinweisDa die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle die Sicherheitsupdates, die mit der vorherigen SQL Server 2008 enthalten waren. Microsoft empfiehlt, dass Sie sich, die jeweils neueste Update-Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
970365Die SQL Server 2008 erstellt, die nach der Veröffentlichung von 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 SQL Server Servicepack enthalten.


Nachdem Sie dieses kumulative Updatepaket installieren, müssen Sie aktivieren.TraceFlag4199. Hierzu können Sie die-T4199Startparameter, oder Sie können dieDBCC traceon(4199)Anweisung für eine einzelne Sitzung.

SQL Server 2005 Servicepack 3

SQL Server 2005 Servicepack 3 Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 13 für SQL Server 2005 Service Pack 3 veröffentlicht. Weitere Informationen über dieses kumulative Updatepaket finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2438344Kumulatives Updatepaket 13 für SQL Server 2005 Service Pack 3
HinweisDa die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle die Sicherheitsupdates, die mit der vorherigen SQL Server 2005 enthalten waren. Microsoft empfiehlt, dass Sie sich, die jeweils neueste Update-Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
960598Die SQL Server 2005 erstellt, die veröffentlicht wurden, nach der Veröffentlichung von SQL Server 2005 Service Pack 3
Microsoft SQL Server 2005 Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen Hotfix für SQL Server 2005 Service Pack 3 auf eine Installation von SQL Server 2005 Service Pack 3 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird in das nächste SQL Server Servicepack enthalten.


Nachdem Sie dieses kumulative Updatepaket installieren, müssen Sie aktivieren.TraceFlag4199. Hierzu können Sie die-T4199Startparameter, oder Sie können dieDBCC traceon(4199)Anweisung für eine einzelne Sitzung.

SQL Server 2005 Servicepack 4

Die Fehlerbehebung für dieses Problem wurde zuerst im kumulativen Update 2 für SQL Server 2005 Service Pack 4 veröffentlicht. Weitere Informationen über dieses kumulative Updatepaket finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2489409Kumulative Updatepaket 2 für SQL Server 2005 Service Pack 4
HinweisDa die Builds kumulativ sind, enthält jede neue Update-Version alle Hotfixes und alle die Sicherheitsupdates, die mit der vorherigen SQL Server 2005 enthalten waren. Microsoft empfiehlt, dass Sie sich, die jeweils neueste Update-Version, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
2485757Die SQL Server 2005 erstellt, die veröffentlicht wurden, nach der Veröffentlichung von SQL Server 2005 Service Pack 4
Microsoft SQL Server 2005 Hotfixes sind für bestimmte SQL Server Servicepacks erstellt. Sie müssen einen Hotfix für SQL Server 2005 Service Pack 4 auf eine Installation von SQL Server 2005 Service Pack 4 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack bereitgestellt wird in das nächste SQL Server Servicepack enthalten.

Status

Microsoft hat bestätigt, dass dies ein Problem in Microsoft-Produkten handelt, die im Abschnitt "Beziehen sich auf" aufgeführt sind.

Informationsquellen

Weitere Informationen zum inkrementellen Dienstmodell für SQL Server finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
935897 erläutert wirdEin inkrementelles Dienstmodell steht SQL Server-Team zum Übermitteln von Hotfixes für gemeldete Probleme
Weitere Informationen zum Benennungsschema für SQL Server-Updates finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
822499Neues Namensschema für Microsoft SQL Server-Softwareupdate-Paketen
Weitere Informationen zur Terminologie für Softwareupdates finden Sie in folgendem Artikel der Microsoft Knowledge Base anzuzeigen:
824684Beschreibung der Standardterminologie, die zum Beschreiben von Softwareupdates von Microsoft verwendet wird

Eigenschaften

Artikel-ID: 2451540 - Geändert am: Montag, 21. März 2011 - Version: 5.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Evaluation Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2005 Service Pack 4
  • Microsoft SQL Server 2005 Service Pack 3
Keywords: 
kbqfe kbfix kbexpertiseadvanced kbsurveynew kbmt KB2451540 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: 2451540
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