Freigeben über


Erstellen einer Serverüberwachungs- und Datenbanküberwachungsspezifikation

In diesem Thema wird beschrieben, wie Sie eine Serverüberwachungs- und Datenbanküberwachungsspezifikation in SQL Server 2014 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-Überwachungsobjekt sammelt eine einzelne Instanz von Aktionen auf Server- oder Datenbankebene und Gruppen von Aktionen, die überwacht werden sollen. Die Überwachung befindet sich auf SQL Server-Instanzebene. Sie können über mehrere Audits pro SQL Server-Instanz verfügen. Das Database-Level Audit Specification-Objekt gehört zu einem Audit. Sie können eine Datenbanküberwachungsspezifikation pro SQL Server-Datenbank pro Überwachung erstellen. Weitere Informationen finden Sie unter SQL Server Audit (Datenbank-Engine).

In diesem Themenbereich

Bevor Sie beginnen

Einschränkungen und Beschränkungen

Datenbanküberwachungsspezifikationen sind nicht sicherungsfähige Objekte, die sich in einer bestimmten Datenbank befinden. Wenn eine Datenbanküberwachungsspezifikation erstellt wird, befindet sie sich in einem deaktivierten Zustand.

Wenn Sie eine Datenbanküberwachungsspezifikation in einer Benutzerdatenbank erstellen oder ändern, schließen Sie keine Überwachungsaktionen für Serverbereichsobjekte ein, z. B. die Systemansichten. Wenn serverweite Objekte enthalten sind, wird die Prüfung erstellt. Die serverbezogenen Objekte werden jedoch nicht eingeschlossen, und es wird kein Fehler zurückgegeben. Verwenden Sie zum Überwachen von Serverbereichsobjekten eine Datenbanküberwachungsspezifikation in der Masterdatenbank.

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

Sicherheit

Erlaubnisse

  • Benutzer mit der Berechtigung ALTER ANY DATABASE AUDIT können Datenbank-Audit-Spezifikationen erstellen und an ein beliebiges Audit binden.

  • Nachdem eine Datenbanküberwachungsspezifikation erstellt wurde, kann sie von Principals mit den Berechtigungen CONTROL SERVER, ALTER ANY DATABASE AUDIT oder dem Sysadmin-Konto eingesehen werden.

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 "Audits ", und wählen Sie "Neue Überwachung" aus. Weitere Informationen finden Sie unter Erstellen einer Serverüberwachungs- und Serverüberwachungsspezifikation.

  3. Wenn Sie die Optionen ausgewählt haben, klicken Sie auf "OK".

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 wählen Sie "Neue Datenbanküberwachungsspezifikation" aus.

    Die folgenden Optionen sind im Dialogfeld " Datenbanküberwachungsspezifikation erstellen " verfügbar.

    Name
    Der Name der Datenbanküberwachungsspezifikation. Dies wird automatisch generiert, wenn Sie eine neue Server-Audit-Spezifikation erstellen, ist aber bearbeitbar.

    Überwachung
    Der Name eines vorhandenen Datenbankaudits. Geben Sie entweder den Namen der Überwachung ein, oder wählen Sie sie aus der Liste aus.

    Überwachungsaktionstyp
    Gibt die Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen an, die erfasst werden sollen. Eine Liste der Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen sowie eine Beschreibung der enthaltenen Ereignisse finden Sie unter SQL Server-Überwachungsaktionsgruppen und -aktionen.

    Objektschema
    Zeigt das Schema für den angegebenen Objektnamen an.

    Objektnamen
    Der Name des zu überwachenden Objekts. Dies ist nur für Überwachungsaktionen verfügbar; sie gilt nicht für Überwachungsgruppen.

    Ellipse (...)
    Öffnet das Dialogfeld "Objekte auswählen", um basierend auf dem angegebenen Überwachungsaktionstyp nach einem verfügbaren Objekt zu suchen und auszuwählen.

    Prinzipalname
    Das Konto, nach dem das Audit für das überwachte Objekt gefiltert werden soll.

    Auslassungspunkte (...)
    Öffnet das Dialogfeld "Objekte auswählen", um basierend auf dem angegebenen Objektnamen nach einem verfügbaren Objekt zu suchen und auszuwählen.

  4. Wenn Sie die Option ausgewählt haben, klicken Sie auf "OK".

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. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie 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\MSSQL12.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. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen. Im Beispiel wird eine Datenbank-Audit-Spezifikation erstellt, die Audit_Pay_Tables aufgerufen wird und die SELECT- und INSERT-Anweisungen des dbo Benutzers für die HumanResources.EmployeePayHistory Tabelle basierend auf der oben definierten Serverüberwachung überwacht.

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