Überwachungskonfiguration im Management Pack für SQL Server

In diesem Abschnitt werden Überwachungskonfigurationen im Management Pack für SQL Server erläutert.

Warnungsregeln für SQL Server-Agent: Besonderheiten der Konfiguration

Das Management Pack für SQL Server stellt die folgenden Warnungsregeln für den SQL Server-Agent bereit:

  • MSSQL für Windows: Die Warnungs-Engine wurde aufgrund nicht behebbarer Fehler im lokalen Ereignisprotokoll beendet.
  • MSSQL für Windows: Ein SQL-Auftrag konnte nicht erfolgreich abgeschlossen werden.
  • MSSQL für Windows: Der Auftragsschritt kann nicht ausgeführt werden, da das Subsystem nicht geladen wurde.
  • MSSQL für Windows: Der Agent ist fehlerverdächtig. Keine Antwort innerhalb der letzten Minuten.
  • MSSQL für Windows: SQL Server-Agent konnte nicht gestartet werden.
  • MSSQL für Windows: SQL Server-Agent leitet das automatische Beenden ein.
  • MSSQL für Windows: Der Schritt eines Auftrags verursachte eine Ausnahme im Subsystem.
  • MSSQL für Windows: SQL Server-Agent kann keine Verbindung mit SQL Server herstellen.
  • MSSQL für Windows: Das lokale Ereignisprotokoll kann nicht erneut geöffnet werden.

Standardmäßig sind diese Regeln im Agent-Überwachungsmodus aktiviert, im gemischten Überwachungsmodus hingegen deaktiviert. Der Grund dafür ist, dass Operations Manager das Sammeln von Ereignissen aus Ereignisprotokollen auf Remotecomputern nicht zulässt. Sie können Sie die Option AllowProxying aktivieren und jede dieser Regeln außer Kraft setzen, um das zu ändern.

Hinweis

Das Aktivieren der Option AllowProxying kann eine Remotecodeausführung bewirken. Aktivieren Sie diese Option nur dann, wenn Sie sicher sind, dass Ihr Computer geschützt ist.

Im Überwachungsmodus ohne Agent funktioniert keine dieser Regeln, und die Regeln sind für SQL unter Linux nicht verfügbar.

Warnungsregeln für Always On

Das Management Pack für SQL Server verfügt über zwei Ereignisregeln für Warnmeldungen in Fällen, in denen die folgenden Ereignisse im Windows-Anwendungsprotokoll angezeigt werden:

  • Ereignis-ID 1480, Rolle des Datenbankreplikats geändert

  • Ereignis-ID 19406: Rolle des Verfügbarkeitsreplikats geändert

Standardmäßig kann SQL Server diese Ereignisse nicht im Anwendungsprotokoll auslösen. Führen Sie die folgenden T-SQL-Skripts aus, um sie zu aktivieren:

sp_altermessage 1480, 'with_log', 'true'
sp_altermessage 19406, 'with_log', 'true'

Überwachung der Verfügbarkeitsdatenbanksicherung

Das Management Pack für SQL Server stellt einen Monitor zur Verfügung, der das Vorhandensein und Alter einer Datenbanksicherung entsprechend der Meldung von Microsoft SQL Server überprüft. Zu diesem Zweck wird eine Abfrage für die Masterdatenbank der SQL-Instanz ausgeführt und das Alter der Sicherung zurückgegeben.

Standardmäßig verfolgt der Monitor die Sicherungseinstellungen für Verfügbarkeitsgruppen nicht nach. Wenn diese Außerkraftsetzung aktiviert ist, verfolgt der Monitor den Sicherungsspeicherort nach, der in den Sicherungseinstellungen der Verfügbarkeitsgruppe konfiguriert ist, und überprüft, ob die Sicherung auf dem ausgewählten Replikat mit der Einstellung für die Sicherungshäufigkeit übereinstimmt.

Die Sicherungseinstellungen der ausgewählten Verfügbarkeitsgruppe können wie folgt lauten:

  • Sekundär bevorzugen

    Gibt an, dass Sicherungen auf einem sekundären Replikat erfolgen müssen, außer wenn es sich beim primären Replikat um das einzige Onlinereplikat handelt. In diesem Fall muss die Sicherung auf dem primären Replikat erfolgen. Dies ist die Standardoption.

  • Nur sekundär

    Gibt an, dass Sicherungen nie auf dem primären Replikat ausgeführt werden dürfen. Wenn es sich beim primären Replikat um das einzige Onlinereplikat handelt, darf keine Sicherung erfolgen.

  • Primärer Server/verwaltete Instanz

    Gibt an, dass die Sicherungen immer auf dem primären Replikat erfolgen müssen. Diese Option ist hilfreich, wenn Sie Sicherungsfunktionen benötigen, z. B. das Erstellen differenzieller Sicherungen, die nicht unterstützt werden, wenn die Sicherung auf einem sekundären Replikat ausgeführt wird.

  • Beliebiges Replikat

    Gibt an, dass Sicherungsaufträge die Rolle der Verfügbarkeitsreplikate ignorieren sollen, wenn sie das Replikat zum Durchführen der Sicherungen auswählen. Sicherungsaufträge können andere Faktoren auswerten, wie z. B. die Sicherungspriorität jedes Verfügbarkeitsreplikats in Verbindung mit seinem Betriebszustand und Verbindungsstatus.

Weitere Informationen finden Sie unter Sicherungseinstellungen.

Richtlinienüberwachung

Das Management Pack für SQL Server erfasst die Integritätsmetriken für Datenbanken und verfügbaren Always On-Objekte in der SQL Server-Zielinstanz, indem der Zustand der PBM-Richtlinien (Policy-Based Management, richtlinienbasierte Verwaltung) für die einzelnen Objekte gelesen wird.

Zusätzlich zu den Systemrichtlinien ermöglicht das Management Pack die Überwachung benutzerdefinierter Benutzerrichtlinien für die folgenden Objekte:

  • Datenbank
  • Verfügbarkeitsgruppe
  • Verfügbarkeitsreplikat
  • Datenbankreplikat

Für jedes dieser Objekte verfügt das Management Pack über die folgenden Monitore:

  • Monitor mit zwei Zuständen und dem Status Warnung. Dieser Monitor zeigt den Status der benutzerdefinierten Benutzerrichtlinie an, die als Richtlinienkategorie eine der vordefinierten Warnkategorien aufweist.
  • Monitor mit zwei Zuständen und dem Status Fehler. Dieser Monitor zeigt den Status der benutzerdefinierten Benutzerrichtlinie an, die als Richtlinienkategorie eine der vordefinierten Fehlerkategorien aufweist.

Überwachen des Speicherplatzes

Das Management Pack für SQL Server kann die Speicherplatzüberwachung durchführen, indem es Metriken auf den folgenden Ebenen sammelt:

  • Datenbank
  • Dateigruppe
  • Datei
  • Protokolldatei

Sie können Einheitenmonitore und Leistungsmetriken dazu verwenden, diese Informationen für mehrere Datenbanken und lange Zeitintervalle anzuzeigen.

Die Speicherplatzüberwachung unterstützt die folgenden Medientypen:

  • Lokaler Speicher und Bereitstellungspunkte
  • Freigegebene Clustervolumes
  • SMB-Freigaben
  • Azure-BLOBs

Nachdem Sie das Management Pack für SQL Server importiert haben, werden Sie möglicherweise feststellen, dass einige Workflows zur Überwachung des Speicherplatzes standardmäßig aktiviert sind, während andere deaktiviert sind. Um die Auslastung der Umgebung zu reduzieren, wird die Speicherplatzüberwachung nur auf Datenbankebene aktiviert und auf den Ebenen von Dateigruppe, Protokolldatei, In-Memory-OLTP-Container und FILESTREAM-Dateigruppe deaktiviert. Wenn in Ihrer Umgebung zusätzliche Lasten ein Problem darstellen, wird von einer Aktivierung selten verwendeter Workflows abgeraten.

Hinweis

Beim Überwachen von Dateigruppen wird nur dann eine Warnung ausgelöst, wenn alle Dateien in der Dateigruppe fehlerhaft sind. Wenn in der Dateigruppe mindestens eine Datei fehlerfrei ist, werden keine Warnungen registriert.

Im Folgenden finden Sie eine Liste, in der der Standardzustand der einzelnen Workflows für die Speicherplatzüberwachung erläutert wird:

  • Aktivierte Ermittlungen für Windows und Linux
    • Datenbank-Engines
    • Datenbanken für eine Datenbank-Engine
  • Deaktivierte Ermittlungen für Windows und Linux
    • Datenbank-Dateigruppen
    • Datenbankdateien
    • Transaktionsprotokolldatei
    • FILESTREAM-Dateigruppen
    • Speicheroptimierte Datendateigruppe
    • Container für speicheroptimierte Datendateigruppe
  • Aktivierte Monitore für Windows
    • Mit der Datenbank als Ziel
      • Verbleibender freier Speicherplatz für Zeilendaten
      • Verbleibender freier Speicherplatz für Protokolle
  • Deaktivierte Monitore für Windows
    • Mit der Datenbank als Ziel
      • Änderung des Zeilenspeicherplatzes in %
      • Verbleibender freier Speicherplatz für speicherinterne OLTP-Daten
      • Verbleibender freier Speicherplatz für FILESTREAM-Daten
    • Mit der Dateigruppe als Ziel
      • Restlicher freier Speicherplatz in Datenbankdatei
    • Mit der Protokolldatei als Ziel
      • Restlicher freier Speicherplatz in Datenbankprotokolldatei
    • Mit dem speicherinternen OLTP-Datencontainer als Ziel
      • Freier Speicherplatz für Container der speicheroptimierten Datendateigruppe
    • Mit der FILESTREAM-Dateigruppe als Ziel
      • Freier Speicherplatz in FILESTREAM-Dateigruppe der Datenbank
  • Aktivierte Monitore für Linux
    • Mit der Dateigruppe als Ziel
      • Restlicher freier Speicherplatz in Datenbankdatei
    • Mit der Protokolldatei als Ziel
      • Restlicher freier Speicherplatz in Datenbankprotokolldatei
    • Mit dem speicherinternen OLTP-Datencontainer als Ziel
      • Freier Speicherplatz für Container der speicheroptimierten Datendateigruppe

Deaktivierte Workflows für die Speicherplatzüberwachung für SQL unter Linux

Die folgenden Workflows sind standardmäßig deaktiviert, da sie nicht mit den erforderlichen Daten von SQL Server für Linux bereitgestellt werden:

  • Regeln
    • MSSQL für Linux: gesamter freier Speicherplatz für speicheroptimierte Datendateigruppe der Datenbank (MB)
    • MSSQL für Linux: gesamter freier Speicherplatz für speicheroptimierte Datendateigruppe der Datenbank (%)
    • MSSQL für Linux: freier Gesamtspeicherplatz in DB FILESTREAM-Dateigruppe (%)
    • MSSQL für Linux: freier Gesamtspeicherplatz in DB FILESTREAM-Dateigruppe (MB)
    • MSSQL für Linux: freier Gesamtspeicherplatz in DB-Dateigruppe (%)
    • MSSQL für Linux: freier Gesamtspeicherplatz in DB-Dateigruppe (MB)
    • MSSQL für Linux: zugeordneter freier Speicherplatz in DB-Dateigruppe (%)
    • MSSQL für Linux: zugeordneter freier Speicherplatz in DB-Dateigruppe (MB)
    • MSSQL für Linux: freier äußerer Speicherplatz in Datenbank (MB)
    • MSSQL für Linux: zugeordneter freier Speicherplatz in Datenbank (MB)
    • MSSQL für Linux: gesamter freier Speicherplatz für Datenbank-Transaktionsprotokoll (%)
    • MSSQL für Linux: genutzter zugewiesener Speicherplatz in Datenbank (MB)
    • MSSQL für Linux: Freier Speicherplatz in Datenbank insgesamt (%)
    • MSSQL für Linux: freier Gesamtspeicherplatz in Datenbank (MB)
    • MSSQL für Linux: Zugewiesener DB-Speicherplatz (MB)
  • Monitore
    • Restlicher freier Datenbankspeicherplatz
    • Änderung des Datenbankspeicherplatzes in %
    • Freier Speicherplatz im Transaktionsprotokoll (%)
    • Freier Speicherplatz in FILESTREAM-Dateigruppe der Datenbank

Datenbankstatusüberwachung

Die Datenbankstatusüberwachung dient dazu, den von Microsoft SQL Server berichteten Datenbankstatus zu überprüfen. Zur Statusüberprüfung wird eine Abfrage der Master-Datenbank der SQL Server-Instanz ausgeführt, die den Status der Datenbank zurückgibt. Wenn Sie eine Warnung von diesem Monitor erhalten, ist eine Maßnahme erforderlich, um den funktionsfähigen Status der Datenbank wiederherzustellen.

Alle Datenbankzustände mit Ausnahme des Zustands ONLINE führen zu einem fehlerhaften Monitorstatus. Die folgende Tabelle definiert den Datenbankstatus.

State Definition
ONLINE Die Datenbank ist für den Zugriff bereit. Die primäre Dateigruppe ist online, auch wenn die Rollbackphase der Wiederherstellung möglicherweise noch nicht abgeschlossen ist.
OFFLINE Die Datenbank ist nicht verfügbar. Eine Datenbank wird durch explizite Benutzeraktionen offline geschaltet und bleibt offline, bis weitere Benutzeraktionen durchgeführt werden. Die Datenbank kann z. B. offline geschaltet werden, um eine Datei auf einen neuen Datenträger zu verschieben. Die Datenbank wird dann erneut online geschaltet, nachdem der Verschiebevorgang abgeschlossen wurde.
RESTORING Eine oder mehrere Dateien der primären Dateigruppe werden wiederhergestellt, oder eine oder mehrere sekundäre Dateien werden offline wiederhergestellt. Die Datenbank ist nicht verfügbar.
RECOVERING Die Datenbank wird aktuell wiederhergestellt. Der Wiederherstellungsvorgang ist ein vorübergehender Zustand; die Datenbank wird automatisch online geschaltet, wenn die Wiederherstellung erfolgreich war. Sollte die Wiederherstellung einen Fehler erzeugen, erhält die Datenbank den Status Fehlerverdächtig. Die Datenbank ist nicht verfügbar.
RECOVERY PENDING SQL Server hat während der Wiederherstellung einen ressourcenbezogenen Fehler festgestellt. Die Datenbank ist nicht beschädigt, möglicherweise fehlen jedoch Dateien, oder Systemressourceneinschränkungen verhindern ihren Start. Die Datenbank ist nicht verfügbar. Es sind weitere Aktionen durch den Benutzer erforderlich, um den Fehler zu beheben und den Wiederherstellungsvorgang erfolgreich abzuschließen.
SUSPECT Mindestens die primäre Dateigruppe weist den Status Fehlerverdächtig auf und ist möglicherweise beschädigt. Die Datenbank kann während des Starts von SQL Server nicht wiederhergestellt werden. Die Datenbank ist nicht verfügbar. Es sind weitere Aktionen durch den Benutzer erforderlich, um das Problem zu beheben.
EMERGENCY Der Benutzer hat die Datenbank geändert und den Status NOTFALL festgelegt. Die Datenbank befindet sich im Einzelbenutzermodus und wird möglicherweise repariert oder wiederhergestellt. Die Datenbank ist als READ_ONLY markiert, die Protokollierung deaktiviert und der Zugriff auf Mitglieder der festen Serverrolle sysadmin beschränkt. Der Status EMERGENCY wird hauptsächlich zu Problembehandlungszwecken verwendet. Für eine Datenbank, die als fehlerverdächtig markiert ist, kann z. B. der Status NOTFALL festgelegt werden. Dies kann dem Systemadministrator schreibgeschützten Zugriff auf die Datenbank ermöglichen. Nur Mitglieder der festen Serverrolle sysadmin können für eine Datenbank den Status EMERGENCY festlegen.

Weitere Informationen finden Sie unter Database States.

Der Monitor unterstützt auch die Außerkraftsetzung „Deaktivieren, wenn die Verfügbarkeitsgruppe offline ist“ für Windows-basierte Umgebungen. Wenn diese Außerkraftsetzung auf TRUE festgelegt ist und die Verfügbarkeitsgruppe, die die Datenbank hostet, nicht mehr verfügbar ist, beendet der Monitor die Nachverfolgung des Status einer solchen Datenbank. Diese Außerkraftsetzung ist insofern hilfreich, als dass sie ein übermäßiges Warnungsaufkommen verhindert, das bei der Arbeit mit SQL Server 2012 aufgrund der Besonderheiten der Architektur auftreten kann. Für höhere Versionen von SQL Server ist diese Außerkraftsetzung nicht erforderlich.

Zahlreiche Datenbanken auf dem gleichen Laufwerk

Die in diesem Management Pack eingeführte Überwachung des Speicherplatzes kann in Umgebungen, in denen viele Datenbanken dieselben Medien nutzen und die Einstellung Automatische Vergrößerung aktiviert ist, recht komplex sein. In solchen Situationen wird für jede Datenbank eine Warnung erstellt, wenn die Menge freien Speicherplatzes auf der Festplatte den Schwellenwert erreicht.

Um die Komplexität zu verringern, deaktivieren Sie die Speicherplatzüberwachung für Daten- und Transaktionsprotokolldateien, und verwenden Sie das Management Pack des Betriebssystems, um den Speicherplatz auf der Festplatte zu überwachen.

Latenzzeitüberwachung der Datenbankspeicherung

Das Management Pack für SQL Server erfasst die Leistungsmetriken Datenbank-Datenträgerleselatenz (ms) und Datenbank-Datenträgerschreiblatenz (ms) für jede Datenbank. Das Management Pack definiert außerdem zwei zugeordnete Monitore, die Warnungen bei erheblichem Leistungsabfall registrieren. Diese Monitore und Leistungsregeln sind standardmäßig deaktiviert. Aktivieren Sie diese nur bei Bedarf für bestimmte Datenbanken.

Blockierte Sitzungen

Mit dem Monitor für blockierende Sitzungen wird jede Datenbank nach einer Sitzung abgefragt, die über einen längeren Zeitraum blockiert ist. Wird eine Blockierung festgestellt und überschreitet sie den vorgegebenen Schwellenwert, wird der Status geändert und eine Warnung ausgegeben.

Mithilfe einer Außerkraftsetzung können Sie den Parameter WaitMinutes ändern, mit dem bestimmt wird, ob die blockierte Sitzung als eine Sitzung mit langer Ausführungszeit betrachtet werden soll. Der Standardwert für diesen Parameter ist eine Minute.

Monitor für Konfigurationsstatus sicherungsfähiger Elemente

Dieser Monitor überprüft, ob auf jedes der erforderlichen sicherungsfähigen SQL Server-Elemente unter dem konfigurierten ausführenden Konto zugegriffen werden kann.

Es folgt eine vollständige Liste der sicherungsfähigen Elemente, die von dem Monitor überprüft werden, der die SQL Server-Datenbank-Engine zum Ziel hat:

  • Berechtigungen auf Serverebene

    • VIEW SERVER STATE
    • VIEW ANY DEFINITION
    • VIEW ANY DATABASE
  • SELECT-Berechtigung für dynamische Verwaltungssichten

    • master.sys.dm_hadr_availability_group_states
    • master.sys.dm_hadr_availability_replica_states
    • master.sys.dm_hadr_database_replica_cluster_states
    • master.sys.dm_os_performance_counters
    • master.sys.dm_tran_active_transactions
    • master.sys.dm_tran_session_transactions
    • master.sys.dm_exec_sessions
    • master.sys.dm_exec_requests
    • master.sys.dm_exec_connections
    • master.sys.dm_os_sys_info
    • master.sys.dm_os_ring_buffers
    • master.sys.dm_os_volume_stats
    • master.sys.dm_os_threads
    • master.sys.dm_server_services
    • master.sys.dm_db_xtp_checkpoint_files
    • master.sys.dm_db_xtp_table_memory_stats
    • master.sys.dm_db_xtp_hash_index_stats
    • master.sys.dm_resource_governor_resource_pools
  • SELECT-Berechtigung für Katalogsichten

    • master.sys.dm_os_host_info
    • master.sys.availability_groups
    • master.sys.databases
    • master.sys.database_files
    • master.sys.tables
    • master.sys.filegroups
    • master.sys.syscolumns
    • master.sys.sysprocesses
    • master.sys.availability_replicas
    • master.sys.database_mirroring
    • master.sys.configurations
    • msdb.dbo.syspolicy_policies
    • msdb.dbo.syspolicy_conditions
    • msdb.dbo.syspolicy_policy_execution_history
    • msdb.dbo.syspolicy_configuration
    • msdb.dbo.syspolicy_system_health_state
    • msdb.dbo.syspolicy_object_sets
    • msdb.dbo.syspolicy_policy_categories
    • msdb.dbo.syspolicy_target_sets
    • msdb.dbo.syspolicy_target_set_levels
    • msdb.dbo.syspolicy_policy_execution_history_details
    • msdb.dbo.sysjobschedules
    • msdb.dbo.syscategories
    • msdb.dbo.sysjobs_view
    • msdb.dbo.log_shipping_primary_databases
    • msdb.dbo.log_shipping_secondary_databases
    • msdb.dbo.backupset
  • EXECUTE-Berechtigung für gespeicherte Prozeduren

    • master.sys.sp_enumerrorlogs
    • master.sys.xp_readerrorlog
    • master.sys.xp_instance_regread
    • msdb.dbo.sp_help_jobactivity
    • msdb.dbo.sp_help_job
    • msdb.dbo.SQLAGENT_SUSER_SNAME

Es folgt eine vollständige Liste der sicherungsfähigen Elemente, die von dem Monitor überprüft werden, der SQL Server-Datenbanken zum Ziel hat:

  • SELECT-Berechtigung für Katalogsichten
    • sys.database_files
    • sys.tables
    • sys.filegroups
    • sys.syscolumns

WMI-Integritätsstatusmonitor

Dieser Monitor überprüft, ob das konfigurierte ausführende Konto Zugriff auf die folgenden Namespaces hat, die sich auf der SQL Server-Zielinstanz befinden:

  • ROOT\CIMV2
  • ROOT\Microsoft\SqlServer
  • ROOT\Microsoft\SqlServer\ComputerManagement11
  • ROOT\Microsoft\SqlServer\ComputerManagement12
  • ROOT\Microsoft\SqlServer\ComputerManagement13
  • ROOT\Microsoft\SqlServer\ComputerManagement14
  • ROOT\Microsoft\SqlServer\ComputerManagement15

Der Monitor erzeugt eine Warnung in Fällen, in denen kein Zugriff auf einen der oben genannten Namespaces besteht.