Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Sie können den Resource Governor verwenden, um den Ressourcenverbrauch der Datenbank-Engine zu verwalten und Richtlinien für Benutzer-Workloads durchzusetzen. Der Resource Governor ermöglicht es Ihnen, die Menge an CPU, Speicher und physischem E/A zu reservieren oder zu begrenzen, die Benutzerabfrage-Workloads verwenden können. Sie können auch das Verhalten der Ressourcennutzung jeder Abfrage ändern, z. B. den Grad der Parallelität oder die Größe einer Speichererteilung.
Ab SQL Server 2025 (17.x) Preview können Sie die Ressourcenkontrolle verwenden, um Grenzwerte für die Gesamtmenge des tempdb
von einer Anwendung oder Benutzerarbeitsauslastung verbrauchten Speicherplatzes zu erzwingen. Weitere Informationen finden Sie unter Tempdb-Speicherplatzressourcenverwaltung.
Für Konfigurations- und Überwachungsbeispiele und um die besten Praktiken für den Resource Governor zu erlernen, siehe Tutorial: Resource Governor-Konfigurationsbeispiele und bewährte Verfahren
Hinweis
Während Azure SQL-Datenbank den Resource Governor (neben anderen Techniken) nutzt, um Ressourcen zu verwalten, wird die Benutzerkonfiguration von Ressourcenpools und Arbeitslastgruppen in der Azure SQL-Datenbank nicht unterstützt.
Azure Synapse Analytics hat eine andere Implementierung eines ähnlichen Verhaltens Ressourcenkontrolle über die Arbeitslastklassifizierungsfunktion.
Vorteile des Ressource Governors
Der Ressource Governors ermöglicht es Ihnen, Datenbank-Engine-Workloads und -Ressourcen zu verwalten, indem Sie Reservierungen und Begrenzungen für den Ressourcenverbrauch durch Anfragen festlegen. Im Kontext des Resource Governor ist eine Arbeitslast eine Menge von Abfragen (Anfragen), die als eine einzige Einheit behandelt werden können und sollten. Beispielsweise können alle Abfragen, die von einer bestimmten Anwendung ausgeführt werden, als Arbeitsauslastung betrachtet werden. Obwohl dies keine Voraussetzung ist, gilt: Je einheitlicher das Ressourceneinsatzmuster einer Arbeitslast ist, desto mehr Vorteile können Sie wahrscheinlich aus dem Resource Governor ziehen.
Wenn mehrere unterschiedliche Workloads auf demselben Server vorhanden sind, können Sie mithilfe der Ressourcenkontrolle Ressourcen unterschiedlich unterschiedlichen Arbeitslasten zuordnen, basierend auf den von Ihnen angegebenen Grenzwerten.
Einige der vom Ressourcengouverneur unterstützten Nutzungsszenarien sind:
- Bereitstellen der Mehrinstanzenfähigkeit und Ressourcenisolation für einzelne SQL Server-Instanzen, die mehrere Clientarbeitsauslastungen verarbeiten. Das heißt, Sie können die verfügbaren Serverressourcen auf die Arbeitsauslastungen verteilen und dadurch Ressourcenkonflikte zwischen ihnen minimieren.
- Bereitstellen von vorhersehbarer Leistung und Unterstützung von SLAs für Arbeitslasten in einer Umgebung mit mehreren Arbeitslasten und mehreren Benutzern.
- Isolieren und begrenzen Sie unkontrollierte Abfragen oder beschränken Sie die E/A-Ressourcen für E/A-intensive Vorgänge, die das E/A-Subsystem auslasten und andere Arbeitslasten negativ beeinflussen können.
- Fügen Sie eine feinkörnige Ressourcenablaufverfolgung für die Rückbelastung des Ressourceneinsatzes hinzu und bieten Sie den Verbrauchern von Serverressourcen eine vorhersehbare Abrechnung.
Interoperabilität und Einschränkungen
- Resource Governor kann mit Always On Verfügbarkeitsgruppen und Failover-Clusterinstanzen verwendet werden. Es gelten die folgenden Bedingungen:
- Bei Verwendung in SQL Server muss die Ressourcenkontrolle für jede SQL Server-Instanz konfiguriert werden, die eine Verfügbarkeitsgruppe hosten soll. Die Konfiguration der Ressourcenkontrolle wird nicht vom primären Verfügbarkeitsgruppenreplikat an sekundäre Replikate weitergegeben. Es wird empfohlen, die gleiche Ressourcenverwaltungskonfiguration für alle SQL Server-Datenbankmodulinstanzen zu verwenden, die Verfügbarkeitsreplikate hosten. Dadurch wird ein konsistentes Verhalten sichergestellt, wenn Failovers in Verfügbarkeitsgruppen geschehen.
- Wenn der Resource Governor in Azure SQL Managed Instance verwendet wird, wird die Konfiguration vom primären Replikat auf alle sekundären Replikate übertragen, da die
master
-Datenbank des primären Replikats auf alle sekundären Replikate repliziert wird. Dies umfasst Hochverfügbarkeit und Geo-Replikationssekundärsysteme. Weitere Informationen finden Sie unter Resource Governor. - Wenn Sie enthaltene Verfügbarkeitsgruppen verwenden, finden Sie weitere Informationen unter Interaktionen mit anderen Features .
- Die Ressourcenverwaltung ist auf die SQL Server-Datenbank-Engine beschränkt. Der Ressource Govenor kann nicht für Analysis Services, Integration Services und Reporting Services verwendet werden.
- Der Resource Governor bietet keine Überwachungs- oder Verwaltungsfunktionen für Arbeitslasten über mehrere SQL Server-Instanzen hinweg.
- Sehr kurze Abfragen, z. B. Abfragen in einigen OLTP-Workloads, verwenden möglicherweise nicht die CPU lange genug, um CPU-Bandbreitensteuerelemente anzuwenden. Dies kann die CPU-Auslastungsstatistik verzerren und die Effektivität der CPU-Ressourcengovernance einschränken.
- Die Möglichkeit, physische E/A zu steuern, gilt nur für Benutzervorgänge und nicht für Systemaufgaben. Systemaufgaben führen Transaktionsprotokoll-, Checkpoint- und Lazy-Writer-E/A aus. Der Ressource Govenor steuert die physischen Lese-E/A-Vorgänge von Benutzern, jedoch nicht die Schreib-E/A-Vorgänge, die von Systemaufgaben ausgeführt werden.
- Sie können die Steuerung der Ressourcenverwaltung für den
internal
-Ressourcenpool und die Arbeitslastgruppe nicht ändern.
Ressourcenkonzepte
Die folgenden drei Konzepte sind grundlegend für das Verständnis und die Verwendung des Resource Governors:
- Ressourcenpool. Ein Ressourcenpool stellt einen Container für die physischen Ressourcen des Servers dar, z. B. CPU, Arbeitsspeicher und E/A. Zwei integrierte Ressourcenpools,
internal
unddefault
, sind immer vorhanden. Der Ressourcen-Manager unterstützt auch benutzerdefinierte Ressourcenpools. Je nach Konfiguration können Ressourcen in einem Ressourcenpool für andere Pools freigegeben oder reserviert werden. Weitere Informationen finden Sie unter Resource Governor-Ressourcenpool. - Arbeitslastgruppe. Eine Arbeitslastgruppe stellt einen Container für Sitzungen dar, die auf die gleiche Weise klassifiziert werden. Eine Arbeitslastgruppe ermöglicht die aggregierte Überwachung des Ressourcenverbrauchs von Sitzungen und Anfragen und definiert Anfragerichtlinien. Jede Arbeitsauslastungsgruppe befindet sich in einem eigenen Ressourcenpool. Zwei integrierte Arbeitslastgruppen,
internal
unddefault
, existieren immer und sind den Ressourcenpoolsinternal
unddefault
zugeordnet. Der Ressource Govenor unterstützt auch benutzerdefinierte Arbeitslastgruppen. Weitere Informationen finden Sie unter Resource Governor-Arbeitslastgruppe. - Klassifizierung. Der Klassifizierungsprozess weist eingehende Sitzungen einer Workload-Gruppe basierend auf den Attributen der Sitzung, wie Anmeldename oder Programmname, unter Verwendung Ihrer benutzerdefinierten Klassifizierungslogik zu. Sobald eine Sitzung in eine Workloadgruppe klassifiziert wurde, unterliegen alle Anforderungen, die in dieser Sitzung ausgeführt werden, den Workload-Gruppenrichtlinien. Sie definieren die Klassifizierungslogik, indem Sie eine skalare benutzerdefinierte Funktion schreiben, die als Klassifiziererfunktion bezeichnet wird. Weitere Informationen finden Sie unter Resource Governor-Klassifizierungsfunktion.
Hinweis
Der Ressource Govenor übt keine Kontrolle über eine dedizierte Administratorverbindung (DAC) aus. DAC-Abfragen werden immer in der internal
Arbeitslastgruppe und dem Ressourcenpool ausgeführt.
Die folgende Abbildung zeigt die Komponenten des Ressourcengovernors und deren Beziehung zueinander innerhalb der Datenbank-Engine. Von der Verarbeitungsperspektive aus stellt sich der vereinfachte Ablauf wie folgt dar:
- Es gibt eine eingehende Verbindung für eine Sitzung (Sitzung 1 von
n
). - Die Sitzung ist vertraulich.
- Mithilfe des Klassifizierungsergebnisses wird die Sitzung einer Arbeitslastgruppe zugewiesen, z. B.
Group 4
. - Die Arbeitslastgruppe erzwingt ihre Richtlinien für alle Anfragen und verwendet den Ressourcenpool, mit dem sie verknüpft ist, zum Beispiel
Pool 2
. - Der Ressourcenpool bietet und begrenzt die ressourcen, die von der Anwendung benötigt werden, z. B.
Application 3
.
Resource Governor-Aufgaben
Aufgabenbeschreibung | Artikel |
---|---|
Anzeigen von Konfigurationsbeispielen | Resource Governor-Konfigurationsbeispiele und bewährte Verfahren. |
Resource Governor aktivieren | Resource Governor aktivieren |
Resource Governor deaktivieren | Resource Governor deaktivieren |
Erstellen, Ändern und Ablegen eines Ressourcenpools | Resource Governor-Ressourcenpool |
Erstellen, Ändern, Verschieben und Ablegen einer Workloadgruppe | Resource Governor-Arbeitslastgruppe |
Erstellen und Testen einer benutzerdefinierten Klassifiziererfunktion | Resource Governor-Klassifizierungsfunktion |
Resource Governor mit einer Vorlage konfigurieren | Resource Governor mit einer Vorlage konfigurieren |
Resource Governor-Eigenschaften anzeigen | Eigenschaften der Ressourcenverwaltung anzeigen und ändern |
Festlegen eines Grenzwerts für tempdb den Speicherplatzverbrauch |
Verwaltung der Tempdb-Ressourcen |