DDL-Befehle und Systemsichten in der Ressourcenkontrolle

Sie können die DDL-Befehle, Katalogsichten und dynamischen Verwaltungssichten der Ressourcenkontrolle für alle Aspekte der Ressourcenkontrolle verwenden. Neben neuen spezifischen Sichten für die Ressourcenkontrolle wurden bestehende Systemsichten so geändert, dass sie Informationen zur Ressourcenkontrolle umfassen. Dieses Thema bietet eine Zusammenfassung der folgenden Anweisungen und Sichten:

  • DDL-Befehle (Befehle für Arbeitsauslastungsgruppen, Ressourcenpools und die Ressourcenkontrolle eingeschlossen)

  • Systemsichten für die Ressourcenkontrolle (Katalogsichten und dynamische Verwaltungssichten eingeschlossen)

  • SQL Server-Systemsichten, die für die Ressourcenkontrolle aktualisiert wurden

  • Aktualisierungen von SQL Server-Ereignisklassen sowie neue Ereignisklassen für die Ressourcenkontrolle

DDL-Anweisungen

In der Ressourcenkontrolle stehen sieben DDL-Befehle zur Verfügung, mit denen Sie alle Aspekte einer Ressourcenkontrollensitzung konfigurieren können. Die Befehle CREATE, ALTER und DROP werden für Arbeitsauslastungsgruppen und Ressourcenpools verwendet. Darüber hinaus gibt es eine ALTER RESOURCE GOVERNOR RECONFIGURE-Anweisung, mit der Konfigurationsänderungen übernommen werden.

Beachten Sie die folgenden wichtigen Punkte für die DDL-Befehle der Ressourcenkontrolle:

  • Die Anweisungen CREATE, ALTER und DROP beziehen sich auf die gespeicherten Metadaten und sind transaktional. Nach Abschluss dieser Anweisungen treten die Änderungen jedoch nicht sofort in Kraft. Sie müssen die Anweisung ALTER RESOURCE GOVERNOR RECONFIGURE ausführen, um die Änderungen zu übernehmen.

  • Die obigen Anweisungen können als Teil einer Transaktion verwendet werden, um zu verhindern, dass eine Konfiguration gleichzeitig von mehreren Benutzern geändert wird. Verwenden Sie zu diesem Zweck BEGIN TRANSACTION und COMMIT TRANSACTION mit den Anweisungen. Alle Sperren für eine Transaktion werden in sys.dm_tran_locks angezeigt, und die Transaktion kann bei Bedarf angehalten werden.

    HinweisHinweis

    Obwohl nicht zwingend erforderlich, sollten Sie bei den DDL-Anweisungen der Ressourcenkontrolle möglichst transaktionale Syntax verwenden. ALTER RESOURCE GOVERNOR DISABLE, ALTER RESOURCE GOVENOR RECONFIGURE und ALTER RESOURCE GOVERNOR RESET STATISTICS können jedoch nicht in einer Benutzertransaktion verwendet werden.

  • Die ALTER…RECONFIGURE-Anweisung, durch die Metadaten in den Arbeitsspeicher geladen werden, schlägt möglicherweise fehl. Für diese Anweisung kann kein Rollback durchgeführt werden. Falls die Anweisung fehlschlägt, werden die Änderungen an den Metadaten nicht in den Arbeitsspeicher kopiert. Wenn die Anweisung erfolgreich ausgeführt wird, treten die Änderungen in Kraft. ALTER…RECONFIGURE ist nicht transaktional, und die Änderungen können nicht mit einem Rollback zurückgesetzt werden.

Befehle für Ressourcenpools

Verwenden Sie zum Konfigurieren von Ressourcenpools die in der folgenden Tabelle vorgestellten Befehle.

DDL-Anweisung

Beschreibung

CREATE RESOURCE POOL

Erstellt einen Ressourcenpool.

ALTER RESOURCE POOL

Ändert die Konfiguration eines Ressourcenpools. Durch diese Anweisung werden die Änderungen in die gespeicherten Konfigurationsmetadaten geschrieben. Nach Ausführung dieser Anweisung müssen Sie die ALTER RESOURCE GOVERNOR-Anweisung ausführen, damit die Metadateninformationen in die Konfiguration im Arbeitsspeicher geschrieben werden.

DROP RESOURCE POOL

Löscht einen Ressourcenpool.

Die Ressourcenkontrolle stellt vier Parameter zum Konfigurieren von Ressourcenpools bereit. Diese sind:

  • Ein minimaler und ein maximaler Prozentwert für die CPU-Nutzung

  • Ein minimaler und ein maximaler Prozentwert für die Arbeitsspeicherauslastung

Je nach Änderung, die Sie an einer Ressourcenpoolkonfiguration vornehmen, gibt es eventuell eine Übergangsperiode sowie bekannte Verhalten für die Verarbeitung aktiver und wartender Anforderungen während dieser Zeit. Weitere Informationen finden Sie unter Status der Ressourcenkontrolle.

Befehle für Arbeitsauslastungsgruppen

Verwenden Sie zum Konfigurieren von Arbeitsauslastungsgruppen die in der folgenden Tabelle vorgestellten Befehle.

DDL-Befehl

Beschreibung

CREATE WORKLOAD GROUP

Erstellt eine Arbeitsauslastungsgruppe und ordnet sie einem Ressourcenpool zu.

ALTER WORKLOAD GROUP

Ändert die Konfiguration einer Arbeitsauslastungsgruppe. Durch diese Anweisung werden die Änderungen in die gespeicherten Konfigurationsmetadaten geschrieben. Nach Ausführung dieser Anweisung müssen Sie die ALTER RESOURCE GOVERNOR-Anweisung ausführen, damit die Metadateninformationen in die Konfiguration im Arbeitsspeicher geschrieben werden.

DROP WORKLOAD GROUP

Löscht eine Arbeitsauslastungsgruppe.

Die Ressourcenkontrolle stellt die folgenden sechs Parameter zum Konfigurieren einer Arbeitsauslastungsgruppe bereit:

  • Die maximale Arbeitsspeichermenge für eine Anforderung

  • Der maximale Prozentwert für die CPU, der für eine Anforderung verwendet werden darf

  • Der Ressourcentimeout für eine Anforderung

  • Die relative Wichtigkeit einer Anforderung

  • Die maximale Anzahl von Anforderungen für eine Arbeitsauslastungsgruppe

  • Der Ressourcenpool für die Arbeitsauslastungsgruppe

Je nach der Änderung, die Sie an der Konfiguration einer Arbeitsauslastungsgruppe vornehmen, gibt es bekannte Verhalten für die Verarbeitung aktiver und wartender Anforderungen, wenn die Änderungen übernommen werden. Weitere Informationen finden Sie unter Status der Ressourcenkontrolle.

Befehl der Ressourcenkontrolle

Verwenden Sie zum Konfigurieren der Ressourcenkontrolle den Befehl in der folgenden Tabelle.

DDL-Befehl

Beschreibung

ALTER RESOURCE GOVERNOR

Übernimmt mit dem ALTER-Befehl angegebene Konfigurationsänderungen, aktiviert oder deaktiviert die Ressourcenkontrolle (RESOURCE GOVERNOR), registriert eine Klassifizierungsfunktion oder setzt Statistiken zurück.

Die ALTER RESOURCE GOVERNOR-Anweisung wird für die folgenden Aktionen verwendet:

  • Anwenden der angegebenen Konfigurationsänderungen, wenn eine ALTER WORKLOAD GROUP-Anweisung oder eine ALTER RESOURCE POOL-Anweisung ausgegeben wird.

  • Aktivieren oder deaktivieren der Ressourcenkontrolle. Dies wird auch zum Anwenden von Konfigurationsänderungen verwendet.

  • Registrieren einer Funktion für die Anforderungsklassifizierung.

  • Zurücksetzen der Statistiken für alle Arbeitsauslastungsgruppen und Ressourcenpools.

Je nach der Änderung, die Sie an der Konfiguration der Ressourcenkontrolle vornehmen, gibt es bekannte Verhalten für die Verarbeitung aktiver und wartender Anforderungen, wenn die Änderungen übernommen werden. Weitere Informationen finden Sie unter Status der Ressourcenkontrolle.

Sichten der Ressourcenkontrolle

Die folgenden Katalogsichten und dynamischen Verwaltungssichten gehören speziell zur Ressourcenkontrolle.

Katalogsichten

In der folgenden Tabelle werden die Katalogsichten der Ressourcenkontrolle beschrieben.

Name

Beschreibung

sys.resource_governor_configuration

Gibt den gespeicherten Status der Ressourcenkontrolle zurück.

sys.resource_governor_resource_pools

Gibt die gespeicherte Konfiguration der Ressourcenpools zurück. Jede Zeile der Sicht bestimmt die Konfiguration eines Pools.

sys.resource_governor_workload_groups

Gibt die gespeicherte Konfiguration der Arbeitsauslastungsgruppen zurück.

Dynamische Verwaltungssichten

In der folgenden Tabelle werden die dynamischen Verwaltungssichten der Ressourcenkontrolle beschrieben.

Name

Beschreibung

sys.dm_resource_governor_workload_groups

Gibt Statistiken zu Arbeitsauslastungsgruppen sowie die aktuelle Konfiguration der Arbeitsauslastungsgruppen im Arbeitsspeicher zurück.

sys.dm_resource_governor_resource_pools

Gibt Informationen zum aktuellen Status der Ressourcenpools, der aktuellen Konfiguration der Ressourcenpools sowie Statistiken zu den Ressourcenpools zurück.

sys.dm_resource_governor_configuration

Gibt eine Zeile mit dem aktuellen Konfigurationsstatus der Ressourcenkontrolle im Arbeitsspeicher zurück.

SQL Server-Sichten

Mehrere SQL Server-Systemsichten wurden aktualisiert und stellen Informationen über die Ressourcenkontrolle bereit.

Dynamische Verwaltungssichten

In der folgenden Tabelle werden die dynamischen Verwaltungssichten von SQL Server beschrieben.

Name

Beschreibung

sys.dm_exec_query_memory_grants

Gibt Informationen zu den Abfragen zurück, die eine Arbeitsspeicherzuweisung erhalten haben oder für deren Ausführung noch eine Arbeitsspeicherzuweisung erforderlich ist. Abfragen, die nicht auf eine Arbeitsspeicherzuweisung warten müssen, werden in dieser Sicht nicht angezeigt. Die folgenden Spalten werden für die Ressourcenkontrolle hinzugefügt:

  • group_id

  • pool_id

  • is_small

  • ideal_memory_kb

sys.dm_exec_query_resource_semaphores

Gibt Informationen zum aktuellen Status des Abfrageressourcensemaphors zurück. sys.dm_exec_query_resource_semaphores stellt allgemeine Statusinformationen zum Arbeitsspeicher für die Abfrageausführung bereit. Mithilfe dieser Informationen können Sie bestimmen, ob das System Zugriff auf ausreichend Arbeitsspeicher hat.

Die folgende Spalte wird für die Ressourcenkontrolle hinzugefügt:

  • pool_id

sys.dm_exec_sessions

Gibt eine Zeile pro authentifizierter Sitzung in SQL Server zurück.

Die folgende Spalte wird für die Ressourcenkontrolle hinzugefügt:

  • group_id

sys.dm_exec_requests

Gibt Informationen über jede einzelne Anforderung, die in SQL Server ausgeführt wird, zurück.

Die folgende Spalte wird für die Ressourcenkontrolle hinzugefügt:

  • group_id

sys.dm_exec_cached_plans

Gibt eine Zeile für jeden Abfrageplan zurück, der von SQL Server für eine schnellere Abfrageausführung zwischengespeichert wird.

Die folgende Spalte wird für die Ressourcenkontrolle hinzugefügt:

  • pool_id

sys.dm_os_memory_brokers

SQL Server-interne Zuordnungen verwenden den Speicher-Manager von SQL Server.

Die folgenden Spalten werden für die Ressourcenkontrolle hinzugefügt:

  • pool_id

  • allocations_kb_per_sec

  • predicated_allocations_kb

  • overall_limit_kb

sys.dm_os_wait_stats

Gibt Informationen zu den Wartevorgängen in Threads zurück, die zurzeit ausgeführt werden. Mit dieser Sicht können Leistungsprobleme bei SQL Server sowie bei bestimmten Abfragen und Batches diagnostiziert werden.

Ereignisklassen in SQL Server – Referenz

Verschiedene SQL Server-Ereignisklassen wurden aktualisiert, und neue Ereignisklassen wurden für die Ressourcenkontrolle hinzugefügt.

Name

Beschreibung

CPU Threshold Exceeded (Ereignisklasse)

Diese Ereignisklasse zeigt an, dass die Ressourcenkontrolle eine Abfrage entdeckt hat, die den für REQUEST_MAX_CPU_TIME_SEC festgelegten CPU-Grenzwert überschritten hat.

PreConnect:Starting (Ereignisklasse)

Diese Ereignisklasse zeigt an, dass die Ausführung eines LOGON-Triggers oder einer Klassifizierungsfunktion der Ressourcenkontrolle beginnt.

PreConnect:Completed (Ereignisklasse)

Diese Ereignisklasse zeigt an, dass die Ausführung eines LOGON-Triggers oder einer Klassifizierungsfunktion der Ressourcenkontrolle zu Ende geht.