SQL Server Resource Governor

In Rahmen meiner Vorbereitungen zur Microsoft Zertifizierungsprüfung „Administering Microsoft SQL Server 2012“ bin ich wieder einmal auf den Ressource Governor gestoßen. Daher will ich an dieser Stelle kurz den Ressource Governor vorstellen und seine Aufgaben skizzieren.

Der Ressource Governor wird als Tool seit dem SQL Server 2008 in den Versionen Enterprise, Developer und Evaluation mitgeliefert. Die wesentliche Aufgabe des Ressource Governor besteht darin, dass eine Limitierung der Verwendung von Ressourcen durch verschiedene Sessions ermöglicht wird. Als Ressourcen werden in diesem Zusammenhang CPU und Arbeitsspeicher verstanden. Somit können konkurrierenden Sessions ein Mindestmaß an Arbeitsspeicher und CPU zur Verfügung gestellt werden, sodass die Performance der Sessions nicht beeinträchtigt werden soll. Im Gegensatz zur Vorgängerversion, dem Workload Governor, können einzelnen Sessions (eine Applikation oder ein User) eine Grenze der Ressourcenverwendung zugeteilt werden. Zuvor war eine Limitierung der Ressourcennutzung nur serverweit möglich. Konfigurationen und Einstellungen des Ressource Governor erfolgen entweder über T-SQL Befehle oder über den Object Explorer (siehe Abbildung) des SQL Server Management Studios.

Resource Governor 1

Ressource Governor beinhalten drei Komponenten, die im Folgenden definiert werden.

Der Ressource Pool stellt die Sammlung der physikalischen Ressourcen des Datenbanksystems dar. In diesem Pool kann das Maximum und Minimum für die Verwendung einer Ressource in Prozentwerten angegeben werden. Die zwei vordefinierten Ressourcen Pools Internal und Default können nicht konfiguriert werden. Der Internal Pool wird direkt von der Datenbank Engine verwendet (Maximum-Wert = 100). Der Default Pool wird von allen Sessions verwendet, die nicht einem spezifischen Pool zugeordnet worden sind. Es können bis zu 18 spezifische Ressource Pools definiert werden.

Die Workload Group dient dazu, dass den Ressource Pools bestimmte User oder Applikationen zugeordnet werden sollen. Demnach kann einem Ressource Pool ein oder mehrere Workload Groups zugeordnet werden.

Die Classifier Function ordnet jeden User einer Session einer Workload Group zu. Folgende Abbildung skizziert den Ablauf einer Session, die über die Classifier Function einer Workload Group und dann dem entsprechenden Ressource Pool zugeordnet wird.

Resource Governor 2

Grundsätzlich sollte der Ressource Governor nur dann verwendet werden, wenn Bedarf hinsichtlich Performance vorliegt, da durch den Einsatz des Ressource Governor die Komplexität erhöht wird. Seit dem SQL Server 2014 können auch physikalische I/Os limitiert werden.

mm
Mostafa Shukoor
Mostafa Shukoor ist Diplom-Wirtschaftsinformatiker und bei arelium als Berater für den Bereich Business Intelligence tätig. Neben seinem fundierten Fachwissen im BI-Umfeld verfügt er über umfangreiche Kenntnisse in der Softwareentwicklung mit .NET (C# oder VB.NET).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.