Bei Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Microsoft vertreibt Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) oder Microsoft SQL Server 2012-Fixes in einer herunterladbaren Datei. Da die Fixes kumulativ sind, enthält jede neue Version alle Hotfixes und alle Sicherheitsupdates, die im vorherigen SQL Server 2008 R2 Service Pack 1 (SP1) oder SQL Server 2012-Update veröffentlicht wurden.

Problembeschreibung

Stellen Sie sich folgendes Szenario vor: Sie führen eine Abfrage in Microsoft SQL Server 2008 R2 oder in Microsoft SQL Server 2012 aus, und der Abfrageoptimierer generiert einen Ausführungsplan, der den Top-Operator enthält. In diesem Szenario kann die Ausführung der Abfrage viel Zeit in Anspruch nehmen. So führen Sie beispielsweise eine Abfrage aus, die der folgenden ähnelt:

SELECT TableA.Col1 FROM TableA JOIN TableB ON TableA.Col1 = TableB.Col1 WHERE TableA.Col2 = N'A' AND TableB.Col3 IN (SELECT Col1 FROM TableC )Diese Abfrage umfasst zwei Joins. Eine Verknüpfung besteht zwischen TableB und TableC. (Dies wird durch das vorhanden sein des in-Prädikats impliziert.) Die andere Verknüpfung ist zwischen Tabelle A und dem Ergebnis der ersten Verknüpfung. Das in-Prädikat gibt true zurück, wenn die Abfrage mindestens eine Zeile findet, die das erste JOIN-Prädikat erfüllt. Aus diesem Grund fügt der Abfrageoptimierer den Top-Operator im Abfrageausführungsplan hinzu. Eine solche Abfrage gibt möglicherweise nur wenige Zeilen zurück. Es kann jedoch mehr Zeit in Anspruch nehmen, diese Abfrage auszuführen, als erwartet wird. Im eigentlichen Abfrageausführungsplan unterscheidet sich die geschätzte Anzahl von Zeilen erheblich von der tatsächlichen Zeilenanzahl. Dies wirkt sich auf die Fähigkeit des Abfrageoptimierers aus, die Kosten für verschiedene Plan Entscheidungen genau zu schätzen. Das Problem kann auch auftreten, wenn Sie den Top-Operator explizit verwenden oder einen der folgenden Operatoren verwenden:

  • Option (fast N)

  • IN

  • Existiert

Fehlerbehebung

Informationen zum kumulativen Update

SQL Server 2008 R2 Service Pack 2

Der Fix für dieses Problem wurde erstmals im kumulativen Update 1 für SQL Server 2008 R2 Service Pack 2 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:

2720425 Kumulatives Update Paket 1 für SQL Server 2008 R2 Service Pack 2Hinweis 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:

2730301 Die SQL Server 2008 R2-Builds, die nach dem Veröffentlichen von SQL Server 2008 R2 Service Pack 2 veröffentlicht wurden

SQL Server 2008 R2 Service Pack 1

Die Lösung für dieses Problem wurde erstmals im kumulativen Update 7 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:

2703282 Kumulatives Update Paket 7 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 2012

Der Fix für dieses Problem wurde erstmals im kumulativen Update 2 für SQL Server 2012 veröffentlicht. Wenn Sie weitere Informationen zu diesem kumulativen Updatepaket erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:

2703275 Kumulatives Updatepaket 2 für SQL Server 2012Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2012 behoben wurden. Microsoft empfiehlt, die neueste Fix-Version zu verwenden, die diesen Hotfix enthält. Weitere Informationen finden Sie im folgenden Artikel der Microsoft Knowledge Base:

2692828 Die SQL Server 2012-Builds, die nach der Veröffentlichung von SQL Server 2012 veröffentlicht wurden Sie müssen einen SQL Server 2012-Hotfix auf eine Installation von SQL Server 2012 anwenden.

SQL Server 2008 R2

Der Fix für dieses Problem wurde erstmals im kumulativen Update 13 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:

2679366 Kumulatives Updatepaket 13 für SQL Server 2008 R2Hinweis 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 wurdenHinweis Nachdem Sie das kumulative Update installiert haben, sollten Sie das Ablaufverfolgungsflag 4199 aktivieren, um den Fix zu aktivieren, der in diesem kumulativen Update bereitgestellt wird, wenn die folgenden Bedingungen zutreffen:

  • Der Abfrageplan hat einen Top-Operator über einem geschachtelten Schleifen-Join-Operator (Join 1) auf der rechten Seite eines anderen Apply/Join-Operators (Join 2).

  • Die äußere Seite von Join 1 hat einen äußeren Bezug auf die äußere Seite von Join 2.

  • Join 1 verwendet ein Gleichheitsprädikat in einer Spalte auf der linken Seite, die eindeutig ist.

Ein Beispiel für eine solche Abfrage wird im Abschnitt "Symptom" angezeigt. (Es wird davon ausgegangen, dass in der Datenbank einige Eindeutigkeitseinschränkungen vorhanden sind.) Wenn es andere Abfragen gibt, die Top, Option (fast N), in oder Exists-Operatoren enthalten und ähnliche Symptome aufweisen, aber nicht in das hier beschriebene Muster passen, aktivieren Sie das Ablaufverfolgungsflag 4138.Warnung Wenn Sie das Ablaufverfolgungsflag 4138 aktivieren, kann die Leistung bei einigen anderen Abfragen verringert werden, die die Operatoren Top, Option (fast N), in oder Exists enthalten. Das Ablaufverfolgungsflag 4138 sollte nur verwendet werden, wenn die folgenden Bedingungen zutreffen:

  • Seine Auswirkung auf langsame Abfragen, die diese Operatoren einbeziehen, wird bestätigt.

  • Es gibt keine weiteren nützlichen Problemumgehungen.

  • Bei anderen Abfragen, die ähnliche Operatoren enthalten, werden keine Regressionen erkannt.

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Problemumgehung

Um dieses Problem zu umgehen, verwenden Sie den Left Outer Join-Operator oder einen der zahlreichen Optimierungshinweise.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×