Erstellen einer Server- und Datenbanküberwachungsspezifikation

Anwendungsbereich: JaSQL Server (alle unterstützten Versionen)

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

Die Überwachung einer SQL Server-Instanz oder einer SQL Server-Datenbank umfasst die Nachverfolgung und Protokollierung der Ereignisse des Systems. Das SQL Server Audit-Objekt erfasst eine einzelne Instanz von Aktionen oder Aktionsgruppen auf Server- oder Datenbankebene auf, die überwacht werden soll. Die Überwachung wird auf SQL Server -Instanzebene ausgeführt. Es können mehrere Überwachungen pro SQL Server -Instanz vorliegen. 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 Audit (Datenbank-Engine).

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.

Verwenden 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 Objektnamen an.

    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 mithilfe des Objekt-Explorers eine Verbindung mit einer Instanz von Datenbank-Engineher.

  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 mithilfe des Objekt-Explorers eine Verbindung mit einer Instanz von Datenbank-Engineher.

  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 AdventureWorks2012 ;   
    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).