Erstellen einer Server- und Datenbanküberwachungsspezifikation

Gilt für:SQL Server

In diesem Artikel wird beschrieben, wie Sie eine Serverüberwachung und eine Datenbanküberwachungsspezifikation in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL erstellen.

Das Überwachen einer Instanz von SQL Server oder einer SQL Server-Datenbank umfasst das Nachverfolgen und Protokollieren von Ereignissen, die auf dem System auftreten. Das SQL Server Audit-Objekt erfasst eine einzelne Instanz von Aktionen oder Aktionsgruppen auf Server- oder Datenbankebene auf, die überwacht werden soll. Die Überwachung befindet sich auf SQL Server-Instanzebene. Sie können über mehrere Audits pro SQL Server-Instanz verfügen. Das Objekt für die Überwachungsspezifikation auf Datenbankebene gehört ebenfalls zu einer Überwachung. Sie können eine Datenbank-Überwachungsspezifikation pro SQL Server-Datenbank und pro Überwachung erstellen. Weitere Informationen finden Sie unter SQL Server-Überwachung (Datenbankmodul).

Voraussetzungen

Einschränkungen

Datenbank-Überwachungsspezifikationen sind nicht sicherungsfähige Objekte, die sich in einer gegebenen Datenbank befinden. Wenn eine Datenbanküberwachungsspezifikation erstellt wird, ist diese zunächst deaktiviert.

Wenn Sie in einer Benutzerdatenbank eine Datenbank-Überwachungsspezifikation erstellen oder ändern, sollten Sie keine Überwachungsaktionen für Serverbereichsobjekte wie Systemsichten einschließen. Wenn Sie Objekte mit Serverbereich einfügen, wird die Überwachung zwar erstellt. Die Objekte mit Serverbereich sind jedoch nicht enthalten, und es wird kein Fehler zurückgegeben. Verwenden Sie eine Datenbanküberwachungsspezifikation in der Masterdatenbank, um Objekte mit Serverbereich zu überwachen.

Die Datenbanküberwachungsspezifikationen befinden sich in der Datenbank, in der sie erstellt werden, mit Ausnahme der Systemdatenbank TempDB.

Sicherheit

Berechtigungen

  • Benutzer mit der ALTER ANY DATABASE AUDIT-Berechtigung können Datenbanküberwachungsspezifikationen erstellen und an eine beliebige Überwachung binden.

  • Nachdem eine Datenbanküberwachungsspezifikation erstellt wurde, können Prinzipale mit CONTROL SERVER- oder ALTER ANY DATABASE AUDIT-Berechtigungen diese anzeigen. Das sysadmin-Konto kann sie ebenfalls anzeigen.

Verwendung von SQL Server Management Studio

So erstellen Sie eine Serverüberwachung

  1. Erweitern Sie im Objekt-Explorer den Ordner Sicherheit .

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Überwachungen, und wählen Sie dann Neue Überwachung aus. Weitere Informationen finden Sie unter Erstellen einer Serverüberwachung und einer Serverüberwachungsspezifikation.

  3. Klicken Sie auf OK, wenn Sie die Auswahl der Optionen abgeschlossen haben.

So erstellen Sie eine Überwachungsspezifikation auf Datenbankebene

  1. Erweitern Sie im Objekt-Explorer die Datenbank, in der Sie eine Überwachungsspezifikation erstellen möchten.

  2. Erweitern Sie den Ordner Sicherheit .

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Datenbank-Überwachungsspezifikationen und dann auf Neue Datenbank-Überwachungsspezifikation....

    Die folgenden Optionen sind im Dialogfeld Datenbank-Überwachungsspezifikation erstellen verfügbar:

    Name
    Der Name der Datenbank-Überwachungsspezifikation. Es wird automatisch ein Name generiert, wenn Sie eine Serverüberwachungsspezifikation erstellen. Der Name kann geändert werden.

    Überwachung
    Der Name eines vorhandenen Serverüberwachungsobjekts. Geben Sie den Namen der Überwachung ein, oder wählen Sie ihn aus der Liste aus.

    Überwachungsaktionstyp
    Gibt die aufzuzeichnenden Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen an. Eine Liste der Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen sowie eine Beschreibung der darin enthaltenen Ereignisse finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.

    Objektschema
    Zeigt das Schema für den angegebenen Objektnamenan.

    Objektnamen
    Der Name des zu überwachenden Objekts. Diese Option ist nur für Überwachungsaktionen verfügbar. Sie gilt nicht für Überwachungsgruppen.

    Auslassungspunkte (…)
    Öffnen Sie das Dialogfeld Objekte auswählen, damit Sie anhand des festgelegten Überwachungsaktionstyps nach einem verfügbaren Objekt suchen und dieses auswählen können.

    Prinzipalname
    Das Konto, anhand dessen die Überwachung für das zu überwachende Objekt gefiltert wird.

    Auslassungspunkte (…)
    Öffnen Sie das Dialogfeld Objekte auswählen, damit Sie anhand des festgelegten Objektnamens nach einem verfügbaren Objekt suchen und dieses auswählen können.

  4. Klicken Sie auf OK, wenn Sie die Auswahl der Optionen abgeschlossen haben.

Verwenden von Transact-SQL

So erstellen Sie eine Serverüberwachung

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Fügen Sie das folgende Beispiel in das Abfragefenster ein, und klicken Sie dann auf Ausführen.

    USE master ;  
    GO  
    -- Create the server audit.   
    CREATE SERVER AUDIT Payrole_Security_Audit  
        TO FILE ( FILEPATH =   
    'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA' ) ;   
    GO  
    -- Enable the server audit.   
    ALTER SERVER AUDIT Payrole_Security_Audit   
    WITH (STATE = ON) ;  
    

So erstellen Sie eine Überwachungsspezifikation auf Datenbankebene

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Fügen Sie das folgende Beispiel in das Abfragefenster ein, und klicken Sie dann auf Ausführen. In diesem Beispiel wird eine Datenbanküberwachungsspezifikation namens Audit_Pay_Tables erstellt. Sie überwacht die SELECT- und INSERT-Anweisungen des Benutzers dbo für die Tabelle HumanResources.EmployeePayHistory anhand der Serverüberwachung, die im vorherigen Abschnitt definiert wurde.

    USE AdventureWorks2022;   
    GO  
    -- Create the database audit specification.   
    CREATE DATABASE AUDIT SPECIFICATION Audit_Pay_Tables  
    FOR SERVER AUDIT Payrole_Security_Audit  
    ADD (SELECT , INSERT  
         ON HumanResources.EmployeePayHistory BY dbo )   
    WITH (STATE = ON) ;   
    GO  
    
    

Weitere Informationen finden Sie unter CREATE SERVER AUDIT (Transact-SQL) und CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).