Überwachen der Konfiguration in Management Pack für SQL Server
In diesem Abschnitt werden die Überwachungskonfigurationen in Management Pack for SQL Server erläutert.
SQL Server-Agent Warnungsregeln: Besonderheiten der Konfiguration
Management Pack für SQL Server stellt die folgenden SQL Server-Agent-Warnungsregeln bereit:
- <bpt i="1000001" x="1000001" type="formatting">{b></bpt>MSSQL unter Windows: Die Warnungs-Engine wurde aufgrund nicht behebbarer Fehler im lokalen Ereignisprotokoll beendet.<ept i="1000001"><b}</ept>
- MSSQL unter Windows: Ein SQL-Auftrag konnte nicht erfolgreich abgeschlossen werden.
- MSSQL unter Windows: Der Auftragsschritt kann nicht ausgeführt werden, da das Subsystem nicht geladen wurde.
- MSSQL unter Windows: Der Agent ist fehlerverdächtig. Keine Antwort innerhalb der letzten Minuten
- MSSQL unter Windows: SQL Server-Agent konnte nicht gestartet werden.
- MSSQL unter Windows: SQL Server-Agent leitet das automatische Beenden ein.
- MSSQL unter Windows: Der Schritt eines Auftrags verursachte eine Ausnahme im Subsystem.
- MSSQL unter Windows: SQL Server-Agent kann keine Verbindung mit SQL Server herstellen.
- MSSQL unter Windows: Das lokale Ereignisprotokoll kann nicht erneut geöffnet werden.
Standardmäßig sind diese Regeln im Modus Agent-Überwachung aktiviert, im Modus gemischte Überwachung jedoch deaktiviert, da Operations Manager die Sammlung von Ereignissen aus Ereignisprotokollen auf Remotecomputern nicht zulässt. Um dies zu ändern, können Sie jede dieser Regeln außer Kraft setzen, indem Sie die Option AllowProxying aktivieren.
Hinweis
Das Aktivieren der Option AllowProxying kann ferngesteuerte Codeausführung verursachen. Aktivieren Sie diese Option nur, wenn Sie sicher sind, dass Ihr Computer sicher ist.
Keine dieser Regeln funktioniert im Modus Agentenlose Überwachung und ist für SQL unter Linux nicht verfügbar.
Regeln für die ständige Warnung
Management Pack for SQL Server verfügt über zwei Ereignisregeln, die eine Warnung auslösen, wenn die folgenden Ereignisse im Windows-Anwendungsprotokoll erscheinen:
Ereignis ID 1480, die Rolle "Datenbankreplikat" wurde geändert
Ereignis-ID 19406: Die Rolle „Verfügbarkeitsreplikat“ wurde geändert.
Standardmäßig darf SQL Server diese Ereignisse nicht im Anwendungsprotokoll auslösen. Um sie zu aktivieren, führen Sie die folgenden T-SQL-Skripte aus:
sp_altermessage 1480, 'with_log', 'true'
sp_altermessage 19406, 'with_log', 'true'
Überwachung der Verfügbarkeitsdatenbanksicherung
Management Pack for SQL Server stellt Monitore bereit, die die Existenz und das Alter einer Datenbank überprüfen und Sicherungen protokollieren, wie sie von Microsoft SQL Server gemeldet werden. Zu diesem Zweck wird eine Abfrage für die Masterdatenbank der SQL-Instanz ausgeführt und das Alter der Sicherung zurückgegeben.
Diese Monitore befinden sich unter dem Rollup Verfügbarkeitsgruppe Datenbankverfügbarkeitsstatus in der Ansicht Verfügbarkeitsgruppe. Die Liste der Monitore lautet wie folgt:
- Verfügbarkeitsdatenbank-Sicherungsstatus-Monitor
- Verfügbarkeitsdatenbankprotokoll-Sicherungsstatus-Monitor
Verfügbarkeitsdatenbank-Sicherungsstatus-Monitor
Dieser Monitor zielt auf den Integritätsstatus der Verfügbarkeitsdatenbank ab und überprüft den Datenbanksicherungsstatus gemäß dem Schwellenwert in Tagen.
Standardmäßig verfolgt der Monitor nicht die Voreinstellungen für die Sicherung der Verfügbarkeitsgruppe. Wenn dieser Overdrive aktiviert ist, verfolgt der Monitor den in den Sicherungseinstellungen der Verfügbarkeitsgruppe konfigurierten Sicherungsort und überprüft, ob die Sicherung auf dem ausgewählten Replikat mit der eingestellten 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 das primäre Replikat das einzige Onlinereplikat ist, sollte die Sicherung nicht stattfinden.
Primärer Server/verwaltete Instanz
Gibt an, dass die Sicherungen immer auf dem primären Replikat erfolgen müssen. Diese Option ist nützlich, wenn Sie Sicherungsfunktionen benötigen, wie z. B. die Erstellung von differenziellen 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.
Hinweis
Sicherungsaufträge können andere Faktoren wie die Sicherungspriorität jeder Verfügbarkeitsreplik in Kombination mit ihrem Betriebs- und Verbindungsstatus bewerten.
Im Folgenden finden Sie Beispiele für das Festlegen der Option für die Nachverfolgungseinstellungen, wenn die Sicherungseinstellungen das primäre Replikat für die Verfügbarkeitsgruppe ist und die Sicherungsdatei nur auf einem sekundären Replikat vorhanden ist.
Der Parameter „Sicherungseinstellungen nachverfolgen“ ist aktiviert - für beide Datenbankreplikate befindet sich der Availability Database Backup Status Monitor im Zustand Kritisch:
Der Parameter „Sicherungseinstellungen nachverfolgen“ ist deaktiviert – nur für das primäre Datenbankreplikat befindet sich der Verfügbarkeitsdatenbank-Sicherungsstatusmonitor im Zustand Kritisch:
Verfügbarkeitsdatenbankprotokoll-Sicherungsstatus-Monitor
Dieser Monitor zielt auf die Verfügbarkeit der Datenbank ab und überprüft den Status der Sicherung des Datenbankprotokolls gemäß dem Schwellenwert in Minuten.
Verfügbarkeit Datenbank-Rollup überwacht Warnungen
Der Sicherungsstatus der Verfügbarkeitsdatenbank und der Sicherungsstatus des Verfügbarkeitsdatenbankprotokolls werden mit der Rolluprichtlinie „Bester Status eines Mitglieds“ konfiguriert und verfügen standardmäßig über die kritischen Warnungen für den jeweiligen Rollup, um den vollständigen Status der Datenbank in der Verfügbarkeitsgruppe anzuzeigen.
Die Verfügbarkeitsdatenbank ist die Entität einer Datenbank, die auf vielen Replikaten gehostet werden kann. Daher ist nur der „Status der Sicherung der Verfügbarkeitsdatenbank (Rollup)“ für die Warnung zuständig, um den gesamten Status der Verfügbarkeitsdatenbank anhand der Anzeige des Datenbankstatus auf jedem Replikat zu überprüfen:
Ein Rollup wird nur dann als kritisch eingestuft und benachrichtigt, wenn alle Datenbankreplikate den Status „kritische Datenbanksicherung“ oder „ Protokollsicherung“ haben. Wenn nur ein Replikat den Status „kritische Datenbanksicherung“ oder „Protokollsicherung“ hat, bleibt das Rollup gemäß der Rollup-Richtlinie intakt.
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:
- Zwei-Status-Monitor mit einem Warnungs-Status. Dieser Monitor zeigt den Status der benutzerdefinierten Richtlinie, die eine der vordefinierten Warnkategorien als Richtlinienkategorie hat.
- Zwei-Status-Monitor mit einem Fehler-Status. Dieser Monitor zeigt den Status der benutzerdefinierten Richtlinie an, die eine der vordefinierten Fehlerkategorien Richtlinienkategorie aufweist.
Speicherüberwachung
Management Pack for SQL Server ist in der Lage, eine Speicherüberwachung durchzuführen, indem eine Sammlung von Metriken auf den folgenden Ebenen festgelegt wird:
- Datenbank
- Dateigruppe
- Datei
- Protokolldatei
Sie können Einheitenmonitore sowie Leistungsmetriken verwenden, um diese Informationen für mehrere Datenbanken und für lange Zeitintervalle anzuzeigen.
Die Speicherüberwachung unterstützt die folgenden Arten von Medien:
- Lokaler Speicher und Bereitstellungspunkte
- Freigegebene Clustervolumes
- SMB-Freigaben
- Azure-Blobs
Nach dem Import von Management Pack for SQL Server finden Sie möglicherweise, dass einige der Workflows zur Speicherüberwachung standardmäßig aktiviert sind, während andere deaktiviert sind. Um die Auslastung der Umgebung zu reduzieren, ist die Speicherüberwachung nur für die Ebene der Datenbank aktiviert und für die Ebenen der Dateigruppen, der Protokollebene, des In-Memory OLTP-Containers und der FILESTREAM-Dateigruppe deaktiviert. Wenn Ihre Umgebung empfindlich auf zusätzliche Auslastung reagiert, ist es nicht empfehlenswert, selten verwendete Workflows zu aktivieren.
Hinweis
Bei der Überwachung von Dateigruppen wird nur dann eine Warnung ausgelöst, wenn alle Dateien in der Dateigruppe insgesamt ungesund sind. Wenn es mindestens eine Datei in der Dateigruppe gibt, die in Ordnung ist, werden keine Warnungen registriert.
In der folgenden Liste wird der Standardzustand der einzelnen Workflows für die Speicherüberwachung erläutert:
- Aktivierte Ermittlungen für Windows und Linux
- Datenbank-Engines
- Datenbanken für eine Datenbank-Engine
- Deaktivierte Ermittlungen für Windows und Linux
- DB-Dateigruppen
- DB-Dateien
- Transaktionsprotokolldatei
- FILESTREAM-Dateigruppen
- Speicheroptimierte Datendateigruppe
- Container für speicheroptimierte Datendateigruppe
- Aktivierte Monitore für Windows
- Auf die Datenbank ausgerichtet
- ROWS restlicher freier Speicherplatz
- LOG restlicher freier Speicherplatz
- Auf die Datenbank ausgerichtet
- Deaktivierte Monitore für Windows
- Auf die Datenbank ausgerichtet
- ROWS Änderung des Datenbereichs in Prozent
- In-Memory-OLTP restlicher freier Speicherplatz
- FILESTREAM restlicher freier Speicherplatz
- Auf die Dateigruppe ausgerichtet
- Restlicher freier Speicherplatz in Datenbankdatei
- Auf die Protokolldatei ausgerichtet
- Restlicher freier Speicherplatz in Datenbankprotokolldatei
- Auf den In-Memory-OLTP-Datencontainer ausgerichtet
- Freier Speicherplatz für Container der speicheroptimierten Datendateigruppe
- Auf die FILESTREAM-Dateigruppe ausgerichtet
- Freier Speicherplatz in FILESTREAM-Dateigruppe der Datenbank
- Auf die Datenbank ausgerichtet
- Aktivierte Monitore für Linux
- Auf die Dateigruppe ausgerichtet
- Restlicher freier Speicherplatz in Datenbankdatei
- Auf die Protokolldatei ausgerichtet
- Restlicher freier Speicherplatz in Datenbankprotokolldatei
- Auf den In-Memory-OLTP-Datencontainer ausgerichtet
- Freier Speicherplatz für Container der speicheroptimierten Datendateigruppe
- Auf die Dateigruppe ausgerichtet
Die folgenden Monitore unterstützen die Außerkraftsetzung Integritätsberechnungsmodus:
- FILESTREAM restlicher freier Speicherplatz
- In-Memory-OLTP restlicher freier Speicherplatz
- Restlicher freier Speicherplatz in Datenbankprotokolldatei
- ROWS restlicher freier Speicherplatz
Mit dieser Außerkraftsetzung können Sie definieren, wie Sie freien Speicherplatz in Ihrer Umgebung überwachen möchten. Sie können einen beliebigen Monitor anweisen, den Integritätszustand auf der Grundlage des Parameters „Schwellenwert“ als Prozentwert (%) oder als Kapazitätsmetrik (MB) zu verfolgen. Um die Überwachung noch effizienter zu gestalten, können Sie die Schwellenwerte für den Prozentwert (%) und die Kapazitätsmetrik (MB) gleichzeitig verwenden. In diesem Fall wird die Metrik mit dem schlechtesten Zustand verwendet, um den Gesamtintegritätszustand zu melden.
Deaktivierte Speicherüberwachungsworkflows für SQL für Linux
Die folgenden Linux-Workflows sind standardmäßig deaktiviert, da ihnen nicht die nötigen Daten von SQL Server für Linux zur Verfügung gestellt 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 Überwachung des Datenbankstatus ist dazu gedacht, den von Microsoft SQL Server gemeldeten Datenbankstatus zu überprüfen.. Die Statusprüfung erfolgt durch eine Abfrage an die Master-Datenbank der SQL Server-Instanz, die den Datenbankstatus zurückgibt. Wenn Sie von diesem Monitor eine Benachrichtigung erhalten, ist eine Aktion erforderlich, um die Datenbank wieder in einen Betriebszustand zu versetzen.
Alle Datenbankzustände außer ONLINE führen zu einem fehlerhaften Überwachungszustand. 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 erkannt. 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 gesetzt ist und die Verfügbarkeitsgruppe, die die Datenbank hostet, nicht verfügbar ist, hört der Monitor auf, den Status einer solchen Datenbank zu verfolgen.. 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 Speicherplatzüberwachung im Management Pack kann in Umgebungen, in denen viele Datenbanken dasselbe Medium nutzen und die Einstellung autogrowth aktiviert ist, störend sein. In solchen Situationen wird für jede Datenbank eine Warnung erstellt, wenn die Menge freien Speicherplatzes auf der Festplatte den Schwellenwert erreicht.
Um das Rauschen zu reduzieren, schalten Sie die Speicherplatzüberwachung für Daten und Transaktionsprotokolldateien aus und verwenden Sie das Operating System Management Pack, um den Speicherplatz auf der Festplatte zu überwachen.
Latenzzeitüberwachung der Datenbankspeicherung
Management Pack für SQL Server sammelt DB Disk Read Latency (ms) und DB Disk Write Latency (ms) Leistungsmetriken für jede Datenbank. Darüber hinaus definiert das Management-Paket zwei zugehörige Monitore, die im Falle einer signifikanten Leistungsverschlechterung Warnmeldungen registrieren. Diese Überwachungs- und Leistungsregeln sind standardmäßig deaktiviert. Aktivieren Sie sie nur für bestimmte DBs, wenn dies erforderlich ist.
Blockierte Sitzungen
Der Monitor Blockierungssitzungen wurde entwickelt, um jede Datenbank nach einer Sitzung abzufragen, die während eines signifikanten Zeitraums blockiert wurde. Wird eine Blockierung festgestellt und überschreitet sie den vorgegebenen Schwellenwert, wird der Zustand geändert und eine Warnung ausgelöst.
Sie können den Parameter WaitMinutes überschreiben, um zu bestimmen, ob die blockierte Sitzung als lang andauernd betrachtet werden soll. Der Standardwert für diesen Parameter ist eine Minute.
Statusmonitor für sicherungsfähige Konfiguration
Dieser Monitor prüft, ob jede der erforderlichen SQL Server-Securables unter dem konfigurierten ausführendes Konto zugänglich ist.
Nachfolgend finden Sie eine vollständige Liste der Sicherheitsmerkmale, die vom Monitor für die SQL Server DB Engine überprüft werden:
Berechtigungen auf Serverebene
- VIEW SERVER STATE
- VIEW ANY DEFINITION
- VIEW ANY DATABASE
SELECT-Berechtigung für dynamische Verwaltungsansichten
- 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
- master.sys.dm_db_index_physical_stats
SELECT-Berechtigung für Katalogansichten
- 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
- master.sys.indexes
- 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.sysjobactivity
- msdb.dbo.sysjobhistory
- msdb.dbo.syssessions
- msdb.dbo.log_shipping_primary_databases
- msdb.dbo.log_shipping_secondary_databases
- msdb.dbo.backupset
Erteilen der EXECUTE-Berechtigung für gespeicherte Prozeduren
- master.sys.sp_enumerrorlogs
- master.sys.xp_readerrorlog
- master.sys.xp_instance_regread
- msdb.dbo.sp_help_job
- msdb.dbo.agent_datetime
- msdb.dbo.SQLAGENT_SUSER_SNAME
Im Folgenden finden Sie eine vollständige Liste der Sicherheitsmerkmale, die der Monitor für SQL Server-Datenbanken überprüft:
- SELECT-Berechtigung für Katalogansichten
- sys.database_files
- sys.tables
- sys.filegroups
- sys.syscolumns
Hinweis
Einige Monitore können Eigenschaften mit doppeltem Unterstrich in ihrem Namen haben. Solche Eigenschaften werden für interne Management Pack-Zwecke verwendet; achten Sie darauf, sie nicht zu verwenden.
WMI-Integritätsstatus-Monitor
Dieser Monitor überprüft, ob das konfigurierte ausführende Konto Zugriff auf die folgenden Namespaces auf dem Ziel-SQL Server hat:
- 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
- ROOT\Microsoft\SqlServer\ComputerManagement16
Der Monitor erzeugt eine Warnung in Fällen, in denen auf keinen der oben genannten Namespaces zugegriffen werden kann.
SQL Server-Agent-Aufträge, Überwachen
Management Pack für SQL Server ist in der Lage, Agent-Aufträge für SQL Server mit den folgenden Workflows zur Verfügbarkeit und Leistungsüberwachung auszuführen:
Statusmonitor für letzte Ausführungen
Dieser Monitor überprüft alle Aufträge für den SQL-Agent, und wenn einer der Aufträge nicht erfolgreich abgeschlossen wurde, ändert der Monitor seinen Status in „Warnung“. Dadurch wird keine Warnung generiert, da es eine Außerkraftsetzung gibt, um Warnungen zum Steuern des Rauschens zu deaktivieren. Wenn Sie diese Überwachungsstufe wünschen, müssen Sie Generiert Warnungen wieder auf aktiviert zurücksetzen.
Der Monitor verfügt über die Außerkraftsetzung Schwellenwert für die Anzahl der Fehlversuche, was angibt, wie oft ein SQL-Agent-Auftrag fehlschlagen kann, bevor der Status des Monitors in „Warnung“ geändert wird. Die Außerkraftsetzung Definiert den Status „Abgebrochen“ als „Fehlgeschlagen“ könnte den letzten Ausführungsstatus des abgebrochenen Auftrags als fehlgeschlagen nachverfolgen.
Monitor für zeitintensive Aufträge
Dieser Monitor überprüft SQL Agentaufträge mit langer Ausführungszeit. Eine Warnung oder Fehlermeldung wird angezeigt, wenn bei der Ausführung eines Auftrags die konfigurierten Schwellenwerte überschritten wurden – Warnungsschwellenwert (Minuten) und Kritischer Schwellenwert (Minuten).
Standardmäßig überwacht dieser Monitor keine Aufträge mit Zeitplantyp Automatisch starten, wenn der SQL Server-Agent startet, da diese Aufträge häufig ausgeführt werden, bis der SQL-Agent beendet wird (d. h. kontinuierlich). In der Regel verwendet die SQL Server-Replikation solche Aufträge, aber in einigen Fällen können Aufträge mit dem Zeitplantyp Automatisch starten, wenn der SQL Server-Agent startet für ein relativ kurzes Intervall ausgeführt werden. Um diese Aufträge zu überwachen, überschreiben Sie den Parameter Einbezogene kontinuierlich ausgeführte Aufträge mit einer durch Kommas getrennten Liste der Auftragsnamen. Der Auftragsname in der Liste sollte die Anforderungen einer der folgenden Bezeichnerklassen erfüllen:
Regulär
- Kann ein beliebiges Zeichen mit Ausnahme des Kommazeichens (,) und des doppelten Anführungszeichens (") enthalten
- Sollte nicht mit einem der Leerzeichen beginnen oder enden
Durch Trennzeichen getrennt
- Kann beliebige Zeichen enthalten und sollte durch doppelte Anführungszeichen getrennt werden
- Doppelte Anführungszeichen sollten durch Verdoppelung escapet werden.
Jeder Name, der zu einer der oben genannten Klassen gehört, sollte – ohne Trennzeichen – aus 1 bis 128 Zeichen bestehen.
Auftragsdauermonitor
Dieser Monitor überprüft alle Aufträge für den SQL-Agenten; es wird auch geprüft, ob einer der Aufträge zeitlich den angegebenen Schwellenwert überschreitet. Wenn die Dauer eines Auftrags die konfigurierten Schwellenwerte überschreitet, wird eine Warnung oder Fehlermeldung angezeigt – Warnungsschwellenwert (Minuten) und Kritischer Schwellenwert (Minuten). Dadurch wird keine Warnung generiert, da es eine Außerkraftsetzung gibt, um Warnungen zum Steuern des Rauschens zu deaktivieren. Wenn Sie diese Überwachungsstufe wünschen, müssen Sie Generiert Warnungen auf aktiviert zurücksetzen oder die Warnungsregel für Auftragsdauer verwenden.
Warnungsregel für Auftragsdauer
Diese Regel überprüft, ob die Ausführungszeit eines Ihrer SQL-Agent-Aufträge den angegebenen Schwellenwert in Minuten überschritten hat, und löst eine Warnung aus, wenn dies der Fall ist.
Leistungsregel für Auftragsdauer
Diese Regel erfasst die Dauer von allen Ihrer SQL-Agent-Aufträge in Minuten.
Überwachung des SQL Server-Verbindungsverschlüsselungszertifikats
Management Pack für SQL Server bietet den Monitor, der den Zertifikatstatus der SQL Server-Verbindungsverschlüsselung ausführen kann.
SQL Server kann TLS zum Verschlüsseln der Daten verwenden, die über ein Netzwerk zwischen einer Clientanwendung und einer Instanz von SQL Server übertragen werden. TLS verwendet ein Zertifikat, um die Verschlüsselung zu implementieren. Das Aktivieren der TLS-Verschlüsselung erhöht die Sicherheit von Daten, die netzwerkübergreifend zwischen Instanzen von SQL Server und Anwendungen übertragen werden. Weitere Informationen finden Sie in den Artikeln Zertifikatübersicht und Zertifikatprozeduren.
Dieser Monitor zielt auf die SQL Server-Datenbank-Engine unter Windows und Linux ab und überprüft den Zertifikatüberprüfungszeitraum in Tagen sowie die Zertifikatanforderungen.
Wichtig
SQL Server wird nicht gestartet, wenn ein Zertifikat im Computerspeicher vorhanden ist, aber nur einige Anforderungen in der obigen Liste erfüllt sind, und wenn es manuell für die Verwendung durch den SQL Server-Konfigurations-Manager oder Registrierungseinträge konfiguriert ist (nur für SQL Server unter Windows). Wählen Sie ein anderes Zertifikat aus, das alle erforderlichen Anforderungen erfüllt, oder entfernen Sie das Zertifikat aus der Verwendung durch SQL Server, bis Sie eines bereitstellen können, das die Anforderungen erfüllt. Weitere Informationen finden Sie unter Konfigurieren von SQL Server für die Verschlüsselung.
In der folgenden Tabelle werden die Überschreibungsparameter des Monitors definiert und die Anforderungen an die Zertifikatsvalidierung für SQL Server feinabgestimmt:
Überschreiben Sie den Namen | Beschreibung |
---|---|
Zusätzliche zu überprüfende Hostnamen | Standardmäßig überprüft der Monitor, ob das Zertifikat den Prinzipalnamen der Ziel-DB-Engine enthält. Diese Überschreibung ermöglicht das Überprüfen mit einer kommagetrennten Liste von zusätzlichen Hostnamen wie Always On Listener DNS-Name, DNS-Alias des Hostcomputers, virtueller FCI-Name, usw. |
Zertifikat muss konfiguriert werden (nur für SQL Server unter Windows) | Wenn True, ändert der Monitor seinen Status in Critical, wenn eine DB Engine kein explizit konfiguriertes Zertifikat hat. |
Überprüfung 'Nicht vertrauenswürdiger Stamm' ignorieren | Wenn True, ignoriert der Monitor, dass das Zertifikat nicht in den vertrauenswürdigen Stammzertifizierungsstellen eingesetzt ist. Wenn sie platziert werden, werden diese Zertifikate vom Betriebssystem als vertrauenswürdig eingestuft und können von Anwendungen als Referenz dafür verwendet werden, welche Hierarchien der Public Key Infrastructure (PKI) und digitalen Zertifikate vertrauenswürdig sind. |
Flag 'IgnoreCertificateAuthorityRevocationUnknown' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass der Widerruf der Zertifizierungsstelle unbekannt ist. |
Flag 'IgnoreCtlNotTimeValid' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass die Zertifikatsvertrauensliste (CTL) nicht gültig ist, z. B. weil die CTL abgelaufen ist. |
Flag 'IgnoreCtlSignerRevocationUnknown' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass der Widerruf des Unterzeichners der Zertifikatsvertrauensliste (CTL) unbekannt ist. |
Flag 'IgnoreEndRevocationUnknown' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass der Widerruf des Endzertifikats (des Benutzender-Zertifikats) unbekannt ist. |
Flag 'IgnoreInvalidBasicConstraints' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass die Basisbedingungen nicht gültig sind. |
Flag 'IgnoreInvalidPolicy' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass das Zertifikat eine ungültige Richtlinie hat. |
Flag 'IgnoreNotTimeNested' festlegen | Ignorieren Sie beim Überprüfen des Zertifikats, dass das CA-Zertifikat (Zertifizierungsstelle) und das ausgestellte Zertifikat nicht geschachtelte Gültigkeitszeiträume haben. Das Zertifikat der Zertifizierungsstelle kann z. B. vom 01.01. bis zum 01.12. und das ausgestellte Zertifikat vom 02.01. bis zum 02.12. gültig sein, was bedeutet, dass die Gültigkeitszeiträume nicht geschachtelt sind. |
Flag 'IgnoreNotTimeValid' festlegen | Ignorieren Sie beim Ermitteln der Zertifikatsgültigkeit Zertifikate in der Kette, die nicht gültig sind, weil sie entweder abgelaufen oder noch nicht in Kraft sind. |
Flag 'IgnoreRootRevocationUnknown' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass der Stammwiderruf unbekannt ist. |
Flag 'IgnoreWrongUsage' festlegen | Ignorieren Sie bei der Ermittlung der Zertifikatsüberprüfung, dass das Zertifikat nicht für den momentanen Verwendungszweck ausgestellt wurde. |
Überspringen Sie die Überprüfung von 'Hostname'. | Bei True überspringt der Monitor die Überprüfung, ob das Zertifikat bestimmte Hostnamen enthält. |
Überspringen Sie die Überprüfung der 'Schlüsselverwendungsserverauthentifizierung'. | Bei True überspringt der Monitor das für das Authentifizierungszertifikat des Servers erforderliche Vorhandensein der Verwendungserweiterung des Schlüssels 'Serverauthentifizierung'. Einige Verbindungstreiberimplementierungen überprüfen das Vorhandensein dieser Erweiterung möglicherweise nicht und betrachten das Zertifikat auch ohne diese Erweiterung als gültig. |
Überspringen der 'Widerrufsprüfung' | Wenn True, ignoriert der Monitor alle Probleme im Zusammenhang mit dem Widerruf. |
Überwachung des Status der Sicherung von Zertifikaten mit transparenter Datenverschlüsselung (TDE)
Management Pack for SQL Server stellt einen Monitor bereit, mit dem überprüft werden kann, ob das Zertifikat, das für die Verschlüsselung des Datenbankschlüssels verwendet wird, nicht gesichert worden ist.
Bei der transparenten Datenverschlüsselung (TDE) wird die Speicherung einer gesamten Datenbank mit einem symmetrischen Schlüssel verschlüsselt, dem sogenannten Datenbankverschlüsselungsschlüssel. Der Verschlüsselungsschlüssel für die Datenbank kann auch mithilfe eines Zertifikats geschützt werden, das mit dem Datenbankhauptschlüssel der Masterdatenbank geschützt wird. TDE führt die E/A-Verschlüsselung und -Entschlüsselung von Daten- und Protokolldateien in Echtzeit durch. Die Verschlüsselung nutzt einen DEK (Database Encryption Key, Datenbankverschlüsselungsschlüssel). Der Datenbankstartdatensatz speichert den Schlüssel, damit er für die Wiederherstellung verfügbar ist. Der DEK ist ein symmetrischer Schlüssel und durch ein Zertifikat gesichert, das in der Master-Datenbank des Servers gespeichert ist, oder durch einen asymmetrischen Schlüssel, den ein EKM-Modul schützt. TDE schützt ruhende Daten, also die Daten- und Protokolldateien. Sie entspricht den in vielen Branchen etablierten Gesetzen, Bestimmungen und Richtlinien. Dadurch können Softwareentwickler Daten mithilfe der AES- und 3DES-Verschlüsselungsalgorithmen verschlüsseln, ohne vorhandene Anwendungen ändern zu müssen. Weitere Informationen finden Sie in den Artikeln Best Practices für die Sicherheit von SQL Server und Transparent Data Encryption (TDE).
Hinweis
TDE ist für Systemdatenbanken nicht verfügbar. Es kann nicht zur Verschlüsselung von master, model oder msdb verwendet werden. tempdb wird automatisch verschlüsselt, wenn eine Benutzerdatenbank TDE aktiviert hat, kann aber nicht direkt verschlüsselt werden.
Überwachung zeitintensiver Abfragen
Management Pack for SQL Server bietet eine Regel, die einen Alarm auslöst, wenn die Ausführungszeit einer der laufenden SQL-Abfragen den angegebenen Schwellenwert (in Sekunden) überschritten hat.
Die Regel unterstützt die Filterung von Alarmen mit den folgenden Außerkraftsetzungen.
- Liste der auszuschließenden Anwendungen - zum Ausschluss der Abfrage mit dem Anwendungsnamen
- Datenbankausschlussliste – zum Ausschließen der Abfrage mit Datenbankname
- Abfrageausschlussliste – zum Ausschließen der Abfrage mit benutzerdefiniertem Abfragetext
Diese Überschreibungen unterstützen Wildcards und können verwendet werden, um lange laufende Abfragen mit dem Anwendungsnamen, dem Datenbanknamen oder dem Abfragetext selbst mit kommagetrennten Werten auszuschließen. Verwenden Sie beispielsweise Bedingungen wie *test
, um Abfragen auszuschließen, die mit _test
enden, oder Test*
, um Abfragen auszuschließen, die mit Test
beginnen, oder *test*
, um Abfragen auszuschließen, die an irgendeiner Stelle des Abfragetextes einen test
-Eintrag enthalten.
Wenn ein Element ein Sternchen (*) enthält, das kein Platzhalter, Anführungszeichen (") oder umgekehrter Schrängstrich (\) ist, muss das Element mit einem umgekehrten Schrägstrich \
versehen werden. Verwenden Sie beispielsweise Bedingungen wie Query\*3
, um Abfragen auszuschließen, die Query*3
im Abfragetext enthalten, verwenden Sie Bedingungen wie \\path\\to\\
, um Abfragen auszuschließen, die \path\to\
im Abfragetext enthalten, oder "GO, WITH"
, um Abfragen auszuschließen, die einen "GO, WITH"
-Eintrag mit einem Komma innerhalb des Abfragetextes enthalten. Außerkraftsetzungen mit Ausschlusslisten können gleichzeitig verwendet werden.
In der folgenden Tabelle werden Wildcardmuster definiert, die Sie in Ausdrücken verwenden können:
Zeichen | BESCHREIBUNG | Beispiel |
---|---|---|
? | Entspricht einem beliebigen einzelnen Zeichen. Sie können das Fragezeichen (?) an einer beliebigen Stelle in einer Zeichenfolge verwenden. | Quer? findet Query, Quer1, Quer_, Quer?, Quer*, aber nicht Query1, oder Queries. |
* | Passt auf eine beliebige Anzahl von Zeichen. Sie können das Sternchen (*) überall in einer Zeichenfolge verwenden. | DB* findet DBs, DB1, DB2, DB_prod, aber nicht 1DB oder Datenbank. *DB findet 1DB, _DB, Test-DB, aber nicht 1DB_prod oder D_Base. *DB* findet cloudDB_1, DBtest, 3DB, aber nicht prod_D_B oder Datenbank. |
" | Passt auf eine beliebige Anzahl von Zeichen in doppelten Anführungszeichen. Sie können die doppelten Anführungszeichen („ “) überall in einer Zeichenfolge verwenden. Wenn eine Zeichenkette ein Komma enthält, muss sie in Anführungszeichen gesetzt werden. | „Instance, Database“ findet eine Instanz- und eine Datenbank-Zeichenfolge mit einem Komma darin, aber nicht eine Instanz-Zeichenfolge separat und eine Datenbank-Zeichenfolge separat. „ Abfrage mit vor- und nachgestellten Leerzeichen “ findet einen Eintrag, bei dem alle Leerzeichen in Anführungszeichen gesetzt sind. |
In der folgenden Tabelle werden Escapemuster definiert, die Sie in Ausdrücken verwenden können:
Zeichen | BESCHREIBUNG | Beispiel |
---|---|---|
\* | Not a wildcard. Escapet das Sternchen (*) an einer beliebigen Stelle in einer Zeichenfolge. | dbname\* findet dbname*, aber nicht dbname1, dbname_prod, dbnames. |
\" | Not a wildcard. Escapet die doppelten Anführungszeichen (") an beliebiger Stelle in einer Zeichenfolge. | query \"example\" findet query „example“, aber nicht query\, query example, oder „example“. |
\\ | Not a wildcard. Escapet den umgekehrten Schrägstrich (\) an einer beliebigen Stelle in einer Zeichenfolge. | C:\\Path\\to\\ findet C:\Path\to\, aber nicht C:\, Path\\to. |
Hinweis
Diese Regel stellt die Texte der Ausführung von Abfragen aufgrund von Sicherheitsgründen nicht bereit.