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 Microsoft SQL Server 2012-Update veröffentlicht wurden.
Problembeschreibung
Stellen Sie sich folgendes Szenario vor:
-
Sie Aktualisieren von Microsoft SQL Server 2005 auf Microsoft SQL Server 2008 oder auf Microsoft SQL Server 2008 R2 oder auf Microsoft SQL Server 2012.
-
Sie führen eine Abfrage aus, die die sp_cursoropen gespeicherte Prozedur verwendet, und geben dann den ROWCOUNT -Parameter an, um die ersten verschiedenen Zeilen einer Tabelle abzurufen.
In diesem Szenario kann die Leistung langsamer sein, als wenn Sie die gleiche Abfrage in SQL Server 2005 ausführen.
Ursache
Dieses Problem tritt auf, weil der Abfrageoptimierer anstelle eines dynamischen Cursor Plans einen statischen Cursorplan verwendet. Bei einem statischen Cursorplan ruft SQL Server alle Zeilen ab und fügt Sie in die Cursor Arbeitstabelle ein. Bei einem dynamischen Cursor-Plan ruft SQL Server jedoch nur die erforderlichen Zeilen ab.
Fehlerbehebung
Informationen zum kumulativen Update
SQL Server 2012
Die Fehlerbehebung für dieses Problem wurde erstmals im kumulativen Update 1 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:
2679368 Kumulatives Updatepaket 1 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.
Kumulatives Updatepaket 5 für SQL Server 2008 R2 SP1
Nachdem Sie diesen Hotfix angewendet haben, aktivieren Sie das Ablaufverfolgungsflag 4199. Der Fix für dieses Problem wurde erstmals im kumulativen Update 5 veröffentlicht. Wenn Sie weitere Informationen zum beziehen dieses kumulativen Updatepakets für SQL Server 2008 R2 SP1 erhalten möchten, klicken Sie auf die folgende Artikelnummer, um den Artikel in der Microsoft Knowledge Base anzuzeigen:
2659694 Kumulatives Updatepaket 5 für SQL Server 2008 R2 SP1Hinweis Da die Builds kumulativ sind, enthält jede neue Fix-Version alle Hotfixes und alle Sicherheitsupdates, die in der vorherigen Version von SQL Server 2008 R2 SP1 enthalten waren. 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 der Veröffentlichung von SQL Server 2008 R2 SP1 veröffentlicht wurden
Problemumgehung
Um dieses Problem zu umgehen, fügen Sie den schnellen Abfragehinweis zur Abfrage hinzu.
Weitere Informationen
Weitere Informationen dazu, wie Sie Abfragehinweise verwenden, finden Sie auf der folgenden MSDN-Website:
Allgemeine Informationen zur Verwendung von AbfragehinweisenWeitere Informationen zu Ablaufverfolgungsflag 4199 finden Sie auf der folgenden Website:
Status
Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.