Update: Unterschiedliche Ergebnisse möglicherweise zurückgegeben werden, wenn Sie dieselbe Abfrage gleichzeitig mit der Option RECOMPILE in SQL Server 2008 ausführen

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: 976603
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 in vorherigen SQL Server 2008 enthalten waren.
Problembeschreibung
In Microsoft SQL Server 2008 müssen Sie eine Abfrage, die die Option RECOMPILE verwendet. Wenn Sie die Abfrage in einige Verbindungen gleichzeitig ausführen, können unterschiedliche Ergebnisse für dieselbe Abfrage zurückgegeben werden.
Ursache
In SQL Server 2008 wurde eine Erweiterung eingeführt, die den Abfrageoptimierer die eigentlichen Parameterwerte übergeben beim Kompilieren der Pläne für Batches mit der OPTION RECOMPILE Syntax ausgeführt verwenden zulässig. (Parameter Embedding Optimierung)

Die Ursache für dieses Problem war die Tatsache, dass der Abfrageoptimierer Pläne gebunden, die mit dieser Methode an einen bestimmten Thread kompiliert worden war. Es wurde jedoch keine Garantie dafür, die der kompilierten Plan für diesen Thread immer in demselben Thread ausgeführt wird.
Lösung
Die Fehlerbehebung für dieses Problem wurde zuerst im kumulative Update 5 für SQL Server 2008 Service Pack 1 veröffentlicht. Weitere Informationen zu diesem kumulativen Update-Paket klicken Sie auf die folgende KB-Artikelnummer:
975977Kumulatives Updatepaket 5 für SQL Server 2008 Service Pack 1
Hinweis: Da die Builds kumulativ sind, enthält jede neue Update-Version aller Hotfixes, und alle Sicherheitsupdates, die in vorherigen SQL Server 2008 enthalten waren. Microsoft empfiehlt, dass Sie sich die neueste Version der Updates, die diesen Hotfix enthält anzuwenden. Weitere Informationen finden Sie die folgende KB-Artikelnummer:
970365SQL Server 2008 erstellt, die nach der Freigabe 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 Hotfix für SQL Server 2008 Service Pack 1 auf eine Installation von SQL Server 2008 Service Pack 1 anwenden. Standardmäßig ist jeder Hotfix, der in einem SQL Server Servicepack zur Verfügung gestellt wird in das nächste Servicepack für SQL Server enthalten.
Abhilfe
Um dieses Problem zu umgehen, verwenden Sie nicht die Option RECOMPILE.
Status
Microsoft hat bestätigt, dass dies ein Problem bei den Microsoft-Produkten handelt, die im Abschnitt "Gilt für" aufgeführt sind.
Weitere Informationen
Dieses Problem wurde ursprünglich in SQL Server 2008 Kumulatives Update 4 behoben, indem Sie die Parameter Einbetten von Optimierung Routinen entfernen oder den technischen nicht die OPTION RECOMPILE-Syntax verwenden.

Weitere Informationen finden Sie auf den folgenden Knowledge Base-Artikel:
968693Update: Eine Abfrage, die Parameter und die Option RECOMPILE verwendet gibt falsche Ergebnisse beim Ausführen der Abfrage in mehrere Verbindungen gleichzeitig in SQL Server 2008




Microsoft haben nun dieses Update veröffentlicht, die eine umfassende Lösung für dieses Problem ist, löst das ursprüngliche Problem falsche Ergebnisse, ermöglicht aber auch die Verwendung der erweiterten Funktionen für die OPTION RECOMPILE-Syntax in SQL Server 2008 eingeführt.
Informationsquellen
Weitere Informationen zum inkrementellen Dienstmodell für SQL Server klicken Sie auf die folgende KB-Artikelnummer:
935897Ein inkrementelles Dienstmodell ist vom SQL Server-Team zum Übermitteln von Hotfixes für gemeldete Probleme verfügbar


Weitere Informationen zum Benennungsschema für SQL Server-Updates finden Sie die folgende KB-Artikelnummer:
822499Neues Benennungsschema für Softwareupdate-Pakete von Microsoft SQL Server


Weitere Informationen zur Terminologie für Softwareupdates finden Sie die folgende KB-Artikelnummer:
824684Erläuterung von Standardbegriffen bei Microsoft Softwareupdates

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 976603 – Letzte Überarbeitung: 11/16/2009 09:37:02 – Revision: 1.0

Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Workgroup

  • kbmt kbexpertiseadvanced kbsurveynew kbqfe kbfix KB976603 KbMtde
Feedback