Einführung in die Ressourcenkontrolle
Die Ressourcenkontrolle ist eine neue Technologie in SQL Server 2008, mit der Sie die SQL Server-Arbeitsauslastung und -Ressourcen verwalten können, indem Sie durch eingehende Anforderungen Grenzen für den Ressourcenverbrauch festlegen. Im Kontext der Ressourcenkontrolle bezeichnet Arbeitsauslastung eine Reihe von ähnlich dimensionierten Abfragen oder Anforderungen, die als einzelne Entität behandelt werden kann und sollte. Dies ist zwar keine Voraussetzung, je einheitlicher das Ressourcenverwendungsmuster einer Arbeitsauslastung jedoch ist, desto größer der Nutzen der Ressourcenkontrolle. Ressourcengrenzen können in Echtzeit mit minimaler Wirkung auf Arbeitsauslastungen, die ausgeführt werden, neu konfiguriert werden.
In einer Umgebung, in der mehrere verschiedene Arbeitsauslastungen auf dem gleichen Server vorhanden sind, ermöglicht Ihnen die Ressourcenkontrolle, diese Arbeitsauslastungen zu unterscheiden und freigegebene Ressourcen bei Anforderung auf der Grundlage der angegebenen Grenzen zuzuweisen. Diese Ressourcen sind CPU und der Arbeitsspeicher.
Die Ressourcenkontrolle ist nur in der Enterprise, Developer und Evaluation Edition von SQL Server verfügbar.
Ressourcenprobleme
Die Ressourcenkontrolle wurde für folgende Ressourcenprobleme entwickelt, die häufig in einer Datenbankumgebung auftreten:
Runaway-Abfragen auf dem Server. In diesem Szenario kann eine ressourcenintensive Abfrage die meisten oder alle Serverressourcen beanspruchen.
Unvorhersehbare Arbeitsauslastungsausführung. In diesem Szenario haben gleichzeitige Anwendungen auf dem gleichen Server Arbeitsauslastungen verschiedener Größe und verschiedenen Typs, z. B. zwei Data Warehouse-Anwendungen oder eine Mischung von OLTP und Data Warehouse-Anwendungen. Diese Anwendungen werden nicht voneinander isoliert, und der resultierende Ressourcenkonflikt verursacht eine unvorhersehbare Arbeitsauslastungsausführung.
Das Festlegen von Arbeitsauslastungspriorität. In diesem Szenario kann eine Arbeitsauslastung schneller ausgeführt werden als eine andere oder wird bei einem Ressourcenkonflikt garantiert abgeschlossen. Die Ressourcenkontrolle ermöglicht es Ihnen, Arbeitsauslastungen eine relative Wichtigkeit zuzuweisen.
Alle vorangehenden Szenarios erfordern die Fähigkeit, Arbeitsauslastungen in irgendeiner Form zu unterscheiden. Die Ressourcenkontrolle bietet Folgendes:
Die Fähigkeit, eingehende Verbindungen zu klassifizieren und ihre Arbeitsauslastungen an eine bestimmte Gruppe weiterzuleiten.
Die Fähigkeit, die Ressourcenverwendung für jede Arbeitsauslastung in einer Gruppe zu überwachen.
Die Fähigkeit, Ressourcen zusammenzulegen und für die CPU-Verwendung und Speicherreservierung poolspezifische Grenzen festzulegen. Dies verhindert oder minimiert die Wahrscheinlichkeit von Runaway-Abfragen.
Die Fähigkeit, gruppierte Arbeitsauslastungen einem bestimmten Ressourcenpool zuzuordnen.
Die Fähigkeit, Arbeitsauslastungen zu identifizieren und Prioritäten für Arbeitsauslastungen festzulegen.
Ressourcenkontrolleinschränkungen
Diese Version der Ressourcenkontrolle hat die folgenden Einschränkungen:
Die Ressourcenverwaltung wird auf SQL Server Database Engine (Datenbankmodul) beschränkt. Die Ressourcenkontrolle kann nicht für Analysis Services, Integration Services und Reporting Services verwendet werden.
Es gibt keine Arbeitsauslastungsüberwachung oder Arbeitsauslastungsverwaltung zwischen SQL Server-Instanzen.
Die Grenzspezifikation gilt für die CPU-Bandbreite und den Arbeitsspeicher, die von SQL Server verwaltet werden.
OLTP-Arbeitsauslastungen. Die Ressourcenkontrolle kann OLTP-Arbeitsauslastungen zwar verwalten, allerdings befindet sich diese Art von Abfragen, die normalerweise nur sehr kurz sind, mitunter nicht lange genug auf der CPU, damit Bandbreitenkontrollen wirksam werden können. Dies verzerrt möglicherweise die Statistik, die für die CPU-Verwendung zurückgegeben wird.