CREATE SERVER AUDIT (Transact-SQL)

Erstellt mit SQL Server-Überwachung ein Serverüberwachungsobjekt. Weitere Informationen finden Sie unter Grundlegendes zu SQL Server Audit.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

CREATE SERVER AUDIT audit_name

    TO { [ FILE (<file_options> [ , ...n ]) ] | APPLICATION_LOG | SECURITY_LOG }
    [ WITH ( <audit_options> [ , ...n ] ) ] 
}
[ ; ]
<file_options>::=
{
       FILEPATH = 'os_file_path'
    [ , MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED } ]
    [ , MAX_ROLLOVER_FILES = { integer | UNLIMITED } ]
    [ , RESERVE_DISK_SPACE = { ON | OFF } ] 
}
  
<audit_options>::=
{
    [  QUEUE_DELAY = integer ]
    [ , ON_FAILURE = { CONTINUE | SHUTDOWN } ]
    [ , AUDIT_GUID = uniqueidentifier ]
}

Argumente

  • TO { FILE | APPLICATION_LOG | SECURITY }
    Legt den Speicherort des Überwachungsziels fest. Die Optionen sind eine Binärdatei, das Windows-Anwendungsprotokoll oder das Windows-Sicherheitsprotokoll. SQL Server kann ohne Konfigurieren zusätzlicher Einstellungen in Windows nicht in das Windows-Sicherheitsprotokoll schreiben. Weitere Informationen finden Sie unter Vorgehensweise: Schreiben von Serverüberwachungsereignissen in das Sicherheitsprotokoll.

    HinweisHinweis

    Das Schreiben in das Sicherheitsprotokoll ist unter Windows XP nicht verfügbar.

  • FILEPATH = 'os_file_path'
    Der Pfad des Überwachungsprotokolls. Der Dateiname wird auf der Grundlage des Überwachungsnamens und des Überwachungs-GUID generiert.

  • MAXSIZE = { max_size }
    Gibt die maximale Größe an, die die Überwachungsdatei annehmen kann. Der max_size-Wert muss eine ganze Zahl gefolgt von MB, GB, TB oder UNLIMITED sein. Die minimale Größe, die Sie für max_size angeben können, beträgt 2 MB und die maximale Größe beträgt 2.147.483.647 TB. Wird UNLIMITED angegeben, kann die Größe der Datei so lange zunehmen, bis auf dem Datenträger kein Speicherplatz mehr verfügbar ist. Die Angabe eines Werts kleiner als 2 MB löst den Fehler MSG_MAXSIZE_TOO_SMALL aus. Der Standardwert ist UNLIMITED.

  • MAX_ROLLOVER_FILES = { integer | UNLIMITED }
    Gibt die maximale Anzahl der Dateien an, die im Dateisystem zusätzlich zur aktuellen Datei beibehalten werden. Der MAX_ROLLOVER_FILES-Wert muss eine ganze Zahl oder UNLIMITED sein. Der Standardwert ist UNLIMITED. Dieser Parameter wird ausgewertet, sobald die Überwachung neu gestartet wird (z. B. wenn die Instanz von Database Engine (Datenbankmodul) neu gestartet oder die Überwachung deaktiviert und wieder aktiviert wird) oder wenn eine neue Datei benötigt wird, da MAXSIZE erreicht wurde. Wenn die Anzahl der Dateien beim Auswerten von MAX_ROLLOVER_FILES die MAX_ROLLOVER_FILES-Einstellung überschreitet, wird die älteste Datei gelöscht. Wenn die MAX_ROLLOVER_FILES-Einstellung 0 ist, wird folglich eine neue Datei erstellt, sobald die MAX_ROLLOVER_FILES-Einstellung ausgewertet wird. Nur eine Datei wird automatisch gelöscht, wenn die MAX_ROLLOVER_FILES-Einstellung ausgewertet wird. Wenn der Wert von MAX_ROLLOVER_FILES also sinkt, verringert sich nicht die Anzahl der Dateien, es sei denn, alte Dateien werden manuell gelöscht. Der Maximalwert für die Anzahl der Dateien beträgt 2.147.483.647.

  • RESERVE_DISK_SPACE = { ON | OFF }
    Diese Option ordnet der Datei auf dem Datenträger den MAXSIZE-Wert zu. Sie gilt nur, wenn MAXSIZE nicht gleich UNLIMITED ist. Die Standardwert ist OFF.

  • QUEUE_DELAY = integer
    Gibt den Zeitraum in Millisekunden an, der verstreichen kann, bevor die Verarbeitung von Überwachungsaktionen erzwungen wird. Der Wert 0 steht für eine synchrone Übermittlung. Der minimale festlegbare Abfrageverzögerungswert ist 1000 (1 Sekunde), was auch der Standardwert ist. Der maximale Wert beträgt 2.147.483.647 (2.147.483,647 Sekunden oder 24 Tage, 20 Stunden, 31 Minuten und 23,647 Sekunden). Die Angabe eines ungültigen Werts löst den Fehler MSG_INVALID_QUEUE_DELAY aus.

  • ON_FAILURE = { CONTINUE | SHUTDOWN }
    Gibt an, ob die an das Ziel ausgebende Instanz den Vorgang fortsetzen oder beenden soll, wenn das Ziel den Schreibvorgang nicht ausführen kann. Die Anmeldung, die dies angibt, muss über die SHUTDOWN-Berechtigung verfügen. Wenn die Anmeldung diese Berechtigung nicht besitzt, schlägt diese Funktion mit einer MSG_NO_SHUTDOWN_PERMISSION-Meldung fehl. Der Standardwert ist CONTINUE.

  • AUDIT_GUID = uniqueidentifier
    Um Szenarien, wie beispielsweise Datenbankspiegelung unterstützen zu können, benötigt eine Überwachung einen bestimmten GUID, der dem GUID in der gespiegelten Datenbank entspricht. Der GUID kann, nachdem die Überwachung erstellt wurde, nicht mehr geändert werden.

Hinweise

Wenn eine Serverüberwachung erstellt wird, befindet sie sich im deaktivierten Zustand.

Die CREATE SERVER AUDIT-Anweisung liegt im Bereich einer Transaktion. Wird ein Rollback für die Transaktion ausgeführt, so wird auch für die Anweisung ein Rollback durchgeführt.

Berechtigungen

Um eine Serverüberwachung zu erstellen, zu ändern oder zu löschen, benötigen Prinzipale die ALTER ANY SERVER AUDIT-Berechtigung oder die CONTROL SERVER-Berechtigung.

Schränken Sie beim Speichern von Überwachungsinformationen in einer Datei den Zugriff auf deren Speicherort ein, um eine Manipulation zu verhindern.

Beispiele

A. Erstellen einer Serverüberwachung mit einem Dateiziel

Im folgenden Beispiel wird eine Serverüberwachung namens HIPPA_Audit mit einer Binärdatei als Ziel und ohne weitere Optionen erstellt.

CREATE SERVER AUDIT HIPAA_Audit
    TO FILE ( FILEPATH ='\\SQLPROD_1\Audit\' );

B. Erstellen einer Serverüberwachung mit dem Windows-Anwendungsprotokoll als Ziel und mit Optionen

Im folgenden Beispiel wird eine Serverüberwachung namens HIPPA_Audit mit dem Windows-Ereignisprotokoll als Ziel erstellt. Die Warteschlange wird jede Sekunde geschrieben und fährt bei einem Fehler das SQL Server-Modul herunter.

CREATE SERVER AUDIT HIPAA_Audit
    TO APPLICATION_LOG
    WITH ( QUEUE_DELAY = 1000,  ON_FAILURE = SHUTDOWN);

Siehe auch

Verweis

Konzepte