Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:Azure SQL Managed Instance
In diesem Artikel erfahren Sie, wie Sie die Überwachung für die verwaltete Azure SQL-Instanz konfigurieren. Die Protokollierung erfasst Datenbankereignisse und schreibt sie in ein Protokoll in Ihrem Azure-Speicherkonto.
Die Überwachung ermöglicht außerdem Folgendes:
- Sie kann Ihnen dabei helfen, die gesetzlichen Bestimmungen einzuhalten, die Datenbankaktivität zu verstehen und Einblicke in Abweichungen und Anomalien zu erhalten, die auf geschäftsspezifische Bedenken oder mutmaßliche Sicherheitsverstöße hinweisen können.
- Sie ermöglicht und unterstützt die Einhaltung von Standards, garantiert diese aber nicht. Weitere Informationen finden Sie im Microsoft Azure Trust Center, wo die aktuelle Liste von Konformitätszertifizierungen für SQL Managed Instance angezeigt wird.
Wichtig
Die Überwachung der verwalteten Azure SQL-Instanz ist für Verfügbarkeit und Leistung optimiert. Bei hoher Aktivität oder hoher Netzwerklast ermöglicht Azure SQL Managed Instance den Betrieb fortzusetzen und möglicherweise nicht alle überwachten Ereignisse aufzuzeichnen.
Einrichten der Überwachung für Ihre Instanz in Azure Storage
Im folgenden Abschnitt wird die Konfiguration der Überwachung in Ihrer verwalteten SQL-Instanz beschrieben.
Öffnen Sie das Azure-Portal.
Erstellen Sie einen Azure Storage-Container, in dem die Überwachungsprotokolle gespeichert werden.
Navigieren Sie zu dem Azure Storage-Konto, in dem Sie Ihre Überwachungsprotokolle speichern möchten.
- Verwenden Sie ein Speicherkonto in derselben Region wie die von SQL verwaltete Instanz, damit Sie regionsübergreifende Lese-/Schreibvorgänge vermeiden können.
- Wenn sich das Speicherkonto hinter einem virtuellen Netzwerk oder einer Firewall befindet, finden Sie weitere Informationen unter Gewähren von Zugriff aus einem virtuellen Netzwerk.
- Wenn Sie den Aufbewahrungszeitraum von 0 (unbegrenzte Aufbewahrung) auf einen anderen Wert ändern, gilt die Aufbewahrung nur für Protokolle, die geschrieben wurden, nachdem der Aufbewahrungswert geändert wurde. Protokolle, die während des Zeitraums geschrieben wurden, in dem die Aufbewahrung unbegrenzt festgelegt wurde, bleiben erhalten, auch nachdem die Aufbewahrung aktiviert wurde.
Wechseln Sie im Speicherkonto zu Übersicht, und wählen Sie Blobs aus.
Wählen Sie im Menü oben + Container aus, um einen neuen Container zu erstellen.
Geben Sie einen Namen für den Container an, legen Sie den Wert für Öffentliche Zugriffsebene auf Privat fest, und wählen Sie dann OK aus.
Wichtig
Kunden, die eine unveränderliche Protokollspeicherung für Überwachungsereignisse auf Server- oder Datenbankebene konfigurieren möchten, sollten den Anweisungen in Azure Storage folgen. Stellen Sie sicher, dass Sie beim Konfigurieren des unveränderlichen Blob-Speichers die Option "Zusätzliche Anhänge zulassen" auswählen.
Nach dem Erstellen des Containers für die Überwachungsprotokolle gibt es zwei Möglichkeiten, ihn als Ziel für die Überwachungsprotokolle zu konfigurieren: mit T-SQL oder mithilfe der Benutzeroberfläche von SQL Server Management Studio (SSMS):
Konfigurieren des BLOB-Speichers für Überwachungsprotokolle mit T-SQL:
Wählen Sie in der Liste der Container den neu erstellten Container und dann Containereigenschaften aus.
Kopieren Sie die Container-URL, indem Sie das Kopiersymbol auswählen, und speichern Sie die URL für die zukünftige Verwendung, beispielsweise in Notepad. Das Format der Container-URL sollte dem folgenden entsprechen:
https://<StorageName>.blob.core.windows.net/<ContainerName>
Generieren Sie ein Azure Storage SAS-Token , um sql managed instance überwachungsberechtigungen für das Speicherkonto zu gewähren:
Navigieren Sie zu dem Azure Storage-Konto, in dem Sie im vorherigen Schritt den Container erstellt haben.
Wählen Sie im Menü Speichereinstellungen die Option Shared Access Signature aus.
Konfigurieren Sie die SAS wie folgt:
Zulässige Dienste: Blob
Startdatum: Verwenden Sie zur Vermeidung von Zeitzonenproblemen das gestrige Datum.
Enddatum: Wählen Sie das Datum aus, an dem dieses SAS-Token abläuft.
Hinweis
Um Überwachungsfehler zu vermeiden, erneuern Sie das Token nach Ablauf.
Wählen Sie SAS generieren aus.
Das SAS-Token wird unten angezeigt. Kopieren Sie das Token, indem Sie auf das Kopiersymbol klicken, und speichern Sie es zur späteren Verwendung (z. B. in Notepad).
Wichtig
Entfernen Sie das Fragezeichen (
?) am Anfang des Tokens.
Stellen Sie eine Verbindung mit Ihrer von SQL verwalteten Instanz über SQL Server Management Studio oder ein anderes unterstütztes Tool her.
Führen Sie die folgende T-SQL-Anweisung aus, um neue Anmeldeinformationen zu erstellen. Verwenden Sie dabei die Container-URL und das SAS-Token, das bzw. die Sie in den vorherigen Schritten erstellt haben:
CREATE CREDENTIAL [<container_url>] WITH IDENTITY='SHARED ACCESS SIGNATURE', SECRET = '<SAS KEY>' GOFühren Sie die folgende T-SQL-Anweisung aus, um eine neue Serverüberwachung zu erstellen (wählen Sie einen eigenen Namen für die Überwachung aus, und verwenden Sie die Container-URL, die Sie in den vorherigen Schritten erstellt haben). Sofern nicht angegeben, wird für
RETENTION_DAYSder Standardwert „0“ verwendet (unbegrenzte Aufbewahrungsdauer):CREATE SERVER AUDIT [<your_audit_name>] TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>); GOErstellen Sie als Nächstes eine Spezifikation für die Serverüberwachung oder die Datenbanküberwachung.
Konfigurieren von BLOB-Speicher für Überwachungsprotokolle mit SQL Server Management Studio 18 und höheren Versionen:
Stellen Sie über die Benutzeroberfläche von SQL Server Management Studio eine Verbindung zur SQL Server Managed Instance her.
Erweitern Sie die Stammnotiz des Objekt-Explorers.
Erweitern Sie den Knoten Sicherheit, klicken Sie mit der rechten Maustaste auf den Knoten Überwachungen, und wählen Sie Neue Überwachung aus:
Vergewissern Sie sich, dass URL in Überwachungsziel ausgewählt ist, und wählen Sie Durchsuchen aus:
(Optional:) Melden Sie sich bei Ihrem Azure-Konto an:
Wählen Sie in den Dropdownlisten ein Abonnement, ein Speicherkonto und einen Blobcontainer aus, oder erstellen Sie einen eigenen Container, indem Sie Erstellen auswählen. Nachdem Sie fertig sind, wählen Sie "OK" aus:
Wählen Sie im Dialogfeld Überwachung erstellen die Option OK aus.
Hinweis
Bei Verwendung der Benutzeroberfläche von SQL Server Management Studio, um eine Prüfung zu erstellen, werden automatisch Anmeldedaten für den Container mit einem SAS-Schlüssel erstellt.
Nachdem Sie den BLOB-Container als Ziel für die Überwachungsprotokolle konfiguriert haben, erstellen und aktivieren Sie eine Serverüberwachungsspezifikation oder Datenbanküberwachungsspezifikation wie für SQL Server:
- Erstellen einer Spezifikation für die Serverüberwachung – T-SQL-Anleitung
- Erstellen einer Spezifikation für die Datenbanküberwachung – T-SQL-Anleitung
Verwenden Sie die folgende T-SQL-Anweisung, um die Serverüberwachung zu aktivieren:
ALTER SERVER AUDIT [<your_audit_name>]
WITH (STATE = ON);
GO
Weitere Informationen:
- Überwachungsunterschiede zwischen Datenbanken in Azure SQL Managed Instance und Datenbanken in SQL Server
- SERVERÜBERWACHUNG ERSTELLEN
- ALTER SERVER-ÜBERWACHUNG
Überwachung von Microsoft-Supportvorgängen
Mit der Überwachung von Microsoft-Supportvorgängen für SQL Managed Instance können Sie die Vorgänge von Microsoft-Supporttechnikern überwachen, wenn diese während einer Supportanfrage auf Ihren Server zugreifen müssen. In Kombination mit der Überwachung sorgt diese Funktion für eine höhere Personaltransparenz und ermöglicht Anomalieerkennung, Trendvisualisierung und die Verhinderung von Datenverlusten.
Um die Überwachung von Microsoft-Supportvorgängen zu aktivieren, navigieren Sie in Ihrer SQL Managed Instance unter Sicherheit> zu Überwachung erstellen, und wählen Sie Microsoft-Supportvorgänge aus.
Hinweis
Sie müssen eine separate Serverüberwachung für die Überwachung von Microsoft-Vorgängen erstellen. Wenn Sie dieses Kontrollkästchen für eine vorhandene Überwachung aktivieren, überschreibt es die Überwachung und protokolliert nur Supportvorgänge.
Einrichten der Überwachung für Ihren Server in Event Hubs oder Azure Monitor-Protokollen
Überwachungsprotokolle aus einer SQL-verwalteten Instanz können an Azure Event Hubs oder Azure Monitor Logs gesendet werden. In diesem Abschnitt wird beschrieben, wie Sie diese Konfiguration erstellen:
Navigieren Sie im Azure-Portal zur verwalteten SQL-Instanz.
Wählen Sie Diagnoseeinstellungen aus.
Wählen Sie Diagnose aktivieren. Wenn die Diagnose bereits aktiviert ist, ist stattdessen +Diagnoseeinstellung hinzufügen verfügbar.
Wählen Sie in der Liste der Protokolle SQLSecurityAuditEvents aus.
Wenn Sie Microsoft-Supportvorgänge konfigurieren, wählen Sie "DevOps-Betriebsüberwachungsprotokolle " in der Liste der Protokolle aus.
Wählen Sie ein Ziel für die Überwachungsereignisse aus: Event Hubs, Azure Monitor-Protokolle oder beide. Konfigurieren Sie für jedes Ziel die erforderlichen Parameter (z. B. den Log Analytics-Arbeitsbereich).
Wählen Sie Speichern aus.
Stellen Sie eine Verbindung mit der von SQL verwalteten Instanz mithilfe von SQL Server Management Studio (SSMS) oder einem anderen unterstützten Client her.
Führen Sie die folgende T-SQL-Anweisung aus, um eine Serverüberwachung zu erstellen:
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR; GOErstellen und aktivieren Sie eine Spezifikation für die Serverüberwachung oder die Datenbanküberwachung wie für SQL Server:
Aktivieren Sie die Serverüberwachung, die Sie in Schritt 8 erstellt haben:
ALTER SERVER AUDIT [<your_audit_name>] WITH (STATE = ON); GO
Einrichten der Überwachung mithilfe von T-SQL
-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO
CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditnodevops
WITH (STATE = ON);
GO
-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]
CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
WITH (OPERATOR_AUDIT = ON);
GO
CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
ADD (BATCH_COMPLETED_GROUP),
ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO
ALTER SERVER AUDIT testingauditdevops
WITH (STATE = ON);
GO
Verwenden von Überwachungsprotokollen
Abrufen von Protokollen, die in Azure Storage gespeichert sind
Es gibt verschiedene Methoden zum Anzeigen von Blobüberwachungsprotokollen.
Sie können die Systemfunktion sys.fn_get_audit_file (T-SQL) verwenden, um die Überwachungsprotokolldaten im tabellarischen Format zurückzugeben.
Sie können Überwachungsprotokolle mithilfe eines Tools wie Azure Storage-Explorer untersuchen. In Azure Storage werden Überwachungsprotokolle als Sammlung von Blobdateien in einem Container gespeichert, der als Speicher für die Überwachungsprotokolle definiert wurde. Weitere Informationen zur Hierarchie des Speicherordners, zu Namenskonventionen und zum Protokollformat finden Sie in der Formatreferenz für Blobüberwachungsprotokolle.
Eine vollständige Liste der Nutzungsmethoden für Überwachungsprotokolle finden Sie unter Erste Schritte bei der Azure SQL-Datenbank-Überwachung.
Nutzen von Protokollen, die in Event Hubs gespeichert sind
Um Auditprotokolle aus Event Hubs zu nutzen, müssen Sie einen Stream einrichten, um Ereignisse zu verarbeiten und in ein Ziel zu schreiben. Weitere Informationen finden Sie in der Dokumentation zu Azure Event Hubs.
Nutzen und Analysieren von Protokollen, die in Azure Monitor-Protokolle gespeichert sind
Wenn Überwachungsprotokolle in Azure Monitor-Protokolle geschrieben werden, sind sie im Log Analytics-Arbeitsbereich verfügbar, in dem Sie erweiterte Suchvorgänge für die Überwachungsdaten ausführen können. Navigieren Sie zunächst zum Log Analytics-Arbeitsbereich. Wählen Sie im Abschnitt Allgemein die Option Protokolle aus, und geben Sie eine Basisabfrage wie z. B. search "SQLSecurityAuditEvents" ein, um die Überwachungsprotokolle anzuzeigen.
Mithilfe integrierter Suchfunktionen und benutzerdefinierter Dashboards bieten Azure Monitor Logs in Echtzeit Betriebseinblicke, sodass Millionen von Datensätzen über alle Ihre Workloads und Server hinweg sofort analysiert werden können. Weitere Informationen zur Suchsprache und zu den Befehlen der Azure Monitor-Protokolle finden Sie unter Referenz zur Suche in Azure Monitor-Protokollen.
Überwachungsunterschiede zwischen Datenbanken in Azure SQL Managed Instance und Datenbanken in SQL Server
Die wichtigsten Unterschiede zwischen der Überwachung in Datenbanken in Azure SQL Managed Instance und Datenbanken in SQL Server sind folgende:
- Bei Azure SQL Managed Instance wird die Überwachung auf Serverebene ausgeführt, und Protokolldateien mit der Endung
.xelwerden in Azure Blob Storage gespeichert. - In SQL Server erfolgt die Überwachung auf Serverebene, aber Ereignisse werden in Dateisystemprotokollen bzw. Windows-Ereignisprotokollen gespeichert.
Die XEvent-Überwachung in verwalteten Instanzen unterstützt Azure Blob Storage-Ziele. Dateiprotokolle und Windows-Protokolle werden nicht unterstützt.
Wichtigste Unterschiede in der Syntax von CREATE AUDIT zur Überwachung in Azure Blob Storage:
- Mit der neuen Syntax
TO URLkönnen Sie die URL des Azure Blob Storage-Containers angeben, in dem Dateien mit der Endung.xelplatziert werden. - Die neue Syntax
TO EXTERNAL MONITORwird bereitgestellt, um Logziele in Event Hubs und Azure Monitor zu aktivieren. - Die Syntax
TO FILEwird nicht unterstützt, da Azure SQL Managed Instance nicht auf Windows-Dateifreigaben zugreifen kann. - Die Option zum Herunterfahren wird nicht unterstützt.
- Der Wert 0 von
queue_delaywird nicht unterstützt.
Erlaubnisse
Zum Einrichten der Überwachung benötigen Sie Datenbankberechtigungen in der verwalteten SQL-Instanz, und Sie benötigen auch Berechtigungen für die Azure-Ressourcen, die zum Speichern und Zugreifen auf die Überwachungsprotokolle verwendet werden.
Zum Einrichten der SQL-Verwalteten Instanzüberwachung benötigen Sie die folgenden Datenbankberechtigungen:
| Datenbankberechtigungen | Konfigurieren der Überwachung | Anzeigen von Überwachungsprotokollen mit T-SQL |
|---|---|---|
| DATENBANKSICHERHEITSÜBERWACHUNG ANZEIGEN | No | Ja |
| ÄNDERN EINER DATENBANKÜBERWACHUNG | Ja | No |
| STEUERDATENBANK | Ja | Ja |
Um die Überwachung für Azure Storage zu konfigurieren, benötigen Sie die Rolle "Storage Blob-Datenmitwirkender" für das Speicherkonto oder höhere Berechtigungen. Um die Überwachung für Event Hubs oder Log Analytics zu konfigurieren, benötigen Sie die Rolle Überwachungsbeitragender oder höhere Berechtigungen für die Ressourcengruppe, in der der Event Hub oder Log Analytics-Arbeitsbereich bereitgestellt wird.