Share via


Für Ad-hoc-Arbeitsauslastungen optimieren (Serverkonfigurationsoption)

Die Option Optimieren für Ad-hoc-Arbeitsauslastung wird zum Verbessern der Effizienz des Plancaches für Arbeitsauslastungen verwendet, die viele Ad-hoc-Batches für die einmalige Verwendung enthalten. Wenn diese Option auf 1 festgelegt ist, speichert Database Engine (Datenbankmodul) statt des vollständigen kompilierten Plans einen kleinen Stub des kompilierten Plans in dem Plancache, wenn ein Batch erstmalig ausgeführt wird. Dadurch wird die Auslastung des Arbeitsspeichers reduziert, indem verhindert wird, dass der Plancache mit kompilierten Plänen gefüllt wird, die nicht wiederverwendet werden.

Der Stub des kompilierten Plans ermöglicht Database Engine (Datenbankmodul) zu erkennen, dass dieser Ad-hoc-Batch bereits kompiliert worden ist, jedoch nur ein Stub des kompilierten Plans gespeichert worden ist, sodass Database Engine (Datenbankmodul) den Batch kompiliert, wenn er erneut aufgerufen (kompiliert oder ausgeführt) wird, dann den Stub des kompilierten Plans aus dem Plancache entfernt und den vollständigen kompilierten Plan zum Plancache hinzufügt.

Wenn Optimieren für Ad-hoc-Arbeitsauslastungen auf 1 festgelegt wird, wirkt sich dies ausschließlich auf neue Pläne aus. Pläne, die sich bereits im Plancache befinden, sind davon nicht betroffen.

Das Stub des kompilierten Plans ist eines der cacheobjtypes, die von der sys.dm_exec_cached_plans-Katalogsicht angezeigt werden. Er verfügt über einen eindeutigen SQL-Handle und Planhandle. Dem Stub des kompilierten Plans ist kein Ausführungsplan zugeordnet, und die Abfrage des Planhandles gibt keinen XML-Showplan zurück.

Ablaufverfolgungsflag 8032 setzt die Cachelimitparameter auf die RTM-Einstellung von SQL Server 2005 zurück, die im Allgemeinen einen größeren Cache zulässt. Verwenden Sie diese Einstellung, wenn häufig wiederverwendete Cacheeinträge nicht in den Cache passen, und wenn das Problem mit dem Plancache durch die Für Ad-hoc-Arbeitsauslastungen optimieren (Serverkonfigurationsoption) nicht behoben werden konnte.

VorsichtshinweisVorsicht

Ablaufverfolgungsflag 8032 kann die Leistung mindern, wenn große Caches weniger Arbeitsspeicher für andere Arbeitsspeicherconsumer, z. B. den Pufferpool, verfügbar machen.

Siehe auch

Verweis

sys.dm_exec_cached_plans (Transact-SQL)

Konzepte

Serverkonfigurationsoptionen