OMS: SQL Assessment Solution

Was ist SQL Assessment?

Das SQL Assessment analysiert und überwacht eine SQL Umgebung und liefert eine Indikation zum Servicezustand und potentiellen Risikos. Die Lösung wird anhand eines festen Intervalls – alle sieben Tage – ausgeführt und die Ergebnisse in einigen übersichtlichen Graphen zusammengefasst.

Die Lösung legt ihren Fokus auf die nachfolgenden Bereiche und bietet den Konsumenten der Lösung die Möglichkeit auf einen Blick zu sehen, wo Arbeiten an einer SQL Server Umgebung notwendig sind um den langfristigen und reibungslosen Betrieb der Umgebung sicherzustellen.

  1. Security and Compliance
  2. Availability and Business Continuity
  3. Performance and Scalability
  4. Upgrade, Migration and Deployment
  5. Operations and Monitoring
  6. Change and Configuration Management

image

Für jeden Bereich werden Metriken gesammelt, die Konfiguration der Datenbank und des Systems analysiert. Diese Daten werden mit den Empfehlungen und Best Practices von Microsoft verglichen. Die Empfehlungen von Microsoft basieren auf den Einträgen der Knowledge Base und den Erfahrungen aus dem Betrieb von vielen SQL Umgebungen bei Microsoft und unserer Kunden. Aus diesen Daten werden Indikatoren für den jeweiligen Bereich zusammengestellt. Ein Indikator kann unterschiedlich gewichtet sein. Die Gewichtung wird aus drei Werten berechnet: Auswirkung, Wahrscheinlichkeit und Aufwand.

  • Die Auswirkung eines Indikators auf das Unternehmen/die Organisation, wenn es ein Problem verursacht. Eine höhere Auswirkung führt zu einer höheren Gesamtbewertung.
  • Die Wahrscheinlichkeit, dass ein Indikator ein Problem innerhalb der Umgebung verursachen wird. Eine höhere Wahrscheinlichkeit führt zu einer höheren Gesamtbewertung.
  • Der Aufwand, der benötigt wird um die vorgeschlagene Verbesserung umzusetzen. Ein höherer Aufwand führt zu einer geringeren Gesamtbewertung.

Im folgenden Beispiel ist der Indikator Set autogrowth increments for database files and log files to fixed values rather than percentage values mit 4,9 bewertet. Die Umsetzung dieser Empfehlung verbessert die Gesamtbewertung für Performance and Scalability um 4,9% von 81% auf insgesamt 85%.

2016-04-11 10_38_20-Mail

Implementieren der Solution

Damit die Lösung Daten vom SQL Server erheben und ein Assessment des SQL Servers erstellen kann, müssen einige Voraussetzungen erfüllt sein. Wie schon beim Einsatz von Microsoft System Center Operations Manager muss der Microsoft Monitoring Agent auf dem SQL Server installiert sein. Des Weiteren muss der Agent entweder direkt an OMS oder sich in der OMS Computergruppe einer Operations Manager Installation befinden.

Neben der Konnektivität an OMS muss der Agent auch in der Lage sein, Daten vom SQL Server zu erheben. Damit dies möglich ist benötigt der Benutzer unter dem der Agent läuft bzw. der Run As Account wenn die Daten über Operations Manager erhoben werden gewisse Rechte auf der Datenbank.

Datenbankrechte

Damit die für das Assessment notwendigen Daten der Datenbanken eingesammelt werden können, müssen dem ausführenden Benutzer entsprechende Rechte eingeräumt werden. Das folgende SQL Script richtet den Account und die entsprechenden Leserechte ein und muss auf allen SQL Servern ausgeführt werden.

 -- Replace "DOMAIN\UserName" with the actual user name being used as Run As Account (removing the quotes).
USE master

-- Create login for the user, comment this line if login is already created.
CREATE LOGIN ["DOMAIN\UserName"] FROM WINDOWS

-- Grant permissions to user.
GRANT VIEW SERVER STATE TO ["DOMAIN\UserName"]
GRANT VIEW ANY DEFINITION TO ["DOMAIN\UserName"]
GRANT VIEW ANY DATABASE TO ["DOMAIN\UserName"]

-- Add database user for all the databases on SQL Server Instance, this is required for connecting to individual databases.
-- NOTE: This command must be run anytime new databases are added to SQL Server instances.
EXEC sp_msforeachdb N'USE [?]; CREATE USER ["DOMAIN\UserName"] FOR LOGIN ["DOMAIN\UserName"];'

OMS direkt

Der Microsoft Monitoring Agent läuft im Kontext von BUILTIN\LOCAL SYSTEM. Diesem Benutzer müssen Leserechte auf der Datenbank eingeräumt werden. Ein entsprechendes Script ist unter Datenbankrechte beschrieben.

OMS über Operations Manager

  1. In Operations Manager den Tab Administration öffnen
  2. Unter Run As Configuration den Punkt Accounts auswählen
  3. Einen neuen Windows Account erstellen
  4. Unter Run As Configuration den Punkt Profiles auswählen
  5. Rechtsklick auf das Profil Microsoft System Center Advisor SQL Assessment Run As Profile und Properties auswählen (wenn Operations Manager erst gerade mit OMS verbunden wurde, kann es einige Minuten dauern, bis das Profil verfügbar ist, da das entsprechende Management Pack erst von OMS zur Verfügung gestellt wird)
  6. Unter Run As Accounts dem Profil den Account aus Schritt 3 hinzufügen
  7. Als letzten Schritt müssen dem Account aus Schritt 3 noch leserechte auf dem Datenbankserver eingerichtet werden. Ein entsprechendes Script ist unter Datenbankrechte beschrieben.