Erstellen einer Serverüberwachung und einer ServerüberwachungsspezifikationCreate a Server Audit and Server Audit Specification

Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions) Anwendungsbereich:Applies to: JaSQL ServerSQL Server (alle unterstützten Versionen) yesSQL ServerSQL Server (all supported versions)

In diesem Thema wird beschrieben, wie eine Serverüberwachung und Serverüberwachungsspezifikation in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mithilfe von SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQLerstellt wird.This topic describes how to create a server audit and server audit specification in SQL Server 2019 (15.x)SQL Server 2019 (15.x) by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. Bei derÜberwachung einer Instanz von SQL ServerSQL Server oder einer SQL ServerSQL Server -Datenbank werden Ereignisse im System verfolgt und protokolliert.Auditing an instance of SQL ServerSQL Server or a SQL ServerSQL Server database involves tracking and logging events that occur on the system. Das SQL Server Audit -Objekt listet eine einzelne Instanz an Aktionen oder Aktionsgruppen auf Server- oder Datenbankebene auf, die überwacht werden soll.The SQL Server Audit object collects a single instance of server- or database-level actions and groups of actions to monitor. Die Überwachung wird auf SQL ServerSQL Server -Instanzebene ausgeführt.The audit is at the SQL ServerSQL Server instance level. Es können mehrere Überwachungen pro SQL ServerSQL Server -Instanz vorliegen.You can have multiple audits per SQL ServerSQL Server instance. Das Serverüberwachungsspezifikation -Objekt gehört zu einer Überwachung.The Server Audit Specification object belongs to an audit. Sie können eine Serverüberwachungsspezifikation pro Überwachung erstellen, da beide im SQL ServerSQL Server -Instanzbereich erstellt werden.You can create one server audit specification per audit, because both are created at the SQL ServerSQL Server instance scope. Weitere Informationen finden Sie unter SQL Server Audit (Datenbank-Engine).For more information, see SQL Server Audit (Database Engine).

In diesem ThemaIn This Topic

VorbereitungenBefore You Begin

EinschränkungenLimitations and Restrictions

  • Eine Überwachung muss vorhanden sein, bevor Sie eine Serverüberwachungsspezifikation für sie erstellen.An audit must exist before creating a server audit specification for it. Wenn eine Serverüberwachungsspezifikation erstellt wird, befindet sie sich im deaktivierten Zustand.When a server audit specification is created, it is in a disabled state.

  • Die CREATE SERVER AUDIT-Anweisung liegt im Bereich einer Transaktion.The CREATE SERVER AUDIT statement is in a transaction's scope. Wird ein Rollback für die Transaktion ausgeführt, so wird auch für die Anweisung ein Rollback durchgeführt.If the transaction is rolled back, the statement is also rolled back.

SicherheitSecurity

BerechtigungenPermissions

  • 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.To create, alter, or drop a server audit, principals require the ALTER ANY SERVER AUDIT or the CONTROL SERVER permission.

  • Benutzer mit der Berechtigung ALTER ANY SERVER AUDIT können Serverüberwachungsspezifikationen erstellen und diese an eine beliebige Überwachung binden.Users with the ALTER ANY SERVER AUDIT permission can create server audit specifications and bind them to any audit.

  • Sobald eine Serverüberwachungsspezifikation erstellt wurde, kann sie von Prinzipalen mit den folgenden Berechtigungen eingesehen werden: CONTROL SERVER oder ALTER ANY SERVER AUDIT. Außerdem kann sie von Prinzipalen eingesehen werden, die über das „sysadmin“-Konto oder expliziten Zugriff auf die Überwachung verfügen.After a server audit specification is created, it can be viewed by principals with the CONTROL SERVER or ALTER ANY SERVER AUDIT permissions, the sysadmin account, or principals having explicit access to the audit.

Verwenden von SQL Server Management StudioUsing SQL Server Management Studio

So erstellen Sie eine ServerüberwachungTo create a server audit

  1. Erweitern Sie im Objekt-Explorer den Ordner Sicherheit .In Object Explorer, expand the Security folder.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Überwachungen, und wählen Sie dann Neue Überwachung... aus.Right-click the Audits folder and select New Audit....

    Die folgenden Optionen befinden sich im Dialogfeld Überwachung erstellen auf der Seite Allgemein :The following options are available on the General page of the Create Audit dialog box.

    ÜberwachungsnameAudit name
    Der Name der Überwachung.The name of the audit. Der Name wird automatisch generiert, wenn Sie eine neue Überwachung erstellen, er kann jedoch bearbeitet werden.This is generated automatically when you create a new audit but is editable.

    Warteschlangenverzögerung (in Millisekunden)Queue delay (in milliseconds)
    Gibt in Millisekunden den Zeitraum an, der verstreichen kann, bevor die Verarbeitung von Überwachungsaktionen erzwungen wird.Specifies the amount of time in milliseconds that can elapse before audit actions are forced to be processed. Der Wert 0 steht für eine synchrone Übermittlung.A value of 0 indicates synchronous delivery. Der standardmäßige Mindestwert beträgt 1000 (1 Sekunde).The default minimum value is 1000 (1 second). 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).The maximum is 2,147,483,647 (2,147,483.647 seconds or 24 days, 20 hours, 31 minutes, 23.647 seconds).

    Bei Überwachungsprotokollfehler:On Audit Log Failure:
    FortsetzenContinue
    SQL ServerSQL Server -Vorgänge werden fortgesetzt.operations continue. Überwachungsdatensätze werden nicht beibehalten.Audit records are not retained. Die Überwachung versucht weiterhin, Ereignisse zu protokollieren und wird fortgesetzt, wenn die Fehlerbedingung aufgelöst wurde.The audit continues to attempt to log events and will resume if the failure condition is resolved. Durch Auswählen der Continue -Option können unter Umständen unüberwachte Aktivitäten ausgeführt werden, die gegen Ihre Sicherheitsrichtlinien verstoßen.Selecting the Continue option can allow unaudited activity which could violate your security policies. Wählen Sie diese Option aus, wenn die weitere Verwendung von Datenbank-EngineDatabase Engine wichtiger als die Beibehaltung einer vollständigen Überwachung ist.Select this option when continuing operation of the Datenbank-EngineDatabase Engine is more important than maintaining a complete audit. Dies ist die Standardauswahl.This is the default selection.

    Herunterfahren des ServersShut down server
    Erzwingt, dass ein Server heruntergefahren wird, wenn die Serverinstanz, die in das Ziel schreiben soll, keine Daten in das Überwachungsziel schreiben kann.Forces a server shut down when the server instance writing to the target cannot write data to the audit target. Die Anmeldung, die dies ausgibt, muss über die SHUTDOWN -Berechtigung verfügen.The login issuing this must have the SHUTDOWN permission. Wenn die Anmeldung nicht über diese Berechtigung verfügt, schlägt diese Funktion fehl, und es wird eine Fehlermeldung ausgegeben.If the logon does not have this permission, this function will fail and an error message will be raised. Es treten keine überwachten Ereignisse auf.No audited events occur. Wählen Sie diese Option aus, wenn ein Überwachungsfehler die Sicherheit oder die Integrität des Systems beeinträchtigen konnte.Select this option when an audit failure could compromise the security or integrity of the system.

    Fehler bei VorgangFail operation
    In Fällen, in denen SQL ServerSQL Server Audit keine Informationen in das Überwachungsprotokoll schreiben kann, bewirkt diese Option, dass Datenbankaktionen fehlschlagen, wenn sie andernfalls überwachte Ereignisse verursachen würden.In cases where the SQL ServerSQL Server Audit cannot write to the audit log this option causes database actions to fail if they would otherwise cause audited events. Es treten keine überwachten Ereignisse auf.No audited events occur. Aktionen, die keine überwachten Ereignisse verursachen, können fortgesetzt werden.Actions which do not cause audited events can continue. Die Überwachung versucht weiterhin, Ereignisse zu protokollieren und wird fortgesetzt, wenn die Fehlerbedingung aufgelöst wurde.The audit continues to attempt to log events and will resume if the failure condition is resolved. Wählen Sie diese Option aus, wenn die Beibehaltung einer vollständigen Überwachung wichtiger als der Vollzugriff auf Datenbank-EngineDatabase Engineist.Select this option when maintaining a complete audit is more important than full access to the Datenbank-EngineDatabase Engine.

    Wichtig

    Wenn sich die Überwachung in einem fehlerhaften Status befindet, kann die dedizierte Administratorverbindung weiterhin überwachte Ereignisse ausführen.When the audit is in a failed state, the Dedicated Administrator Connection can continue to perform audited events.

    Überwachungsziel (Liste)Audit destination list
    Gibt das Ziel für die Überwachungsdaten an.Specifies the target for auditing data. Die verfügbaren Optionen sind eine Binärdatei, das Windows-Anwendungsprotokoll oder das Windows-Sicherheitsprotokoll.The available options are a binary file, the Windows Application log, or the Windows Security log. SQL ServerSQL Server kann nicht in das Windows-Sicherheitsprotokoll schreiben, ohne zusätzliche Einstellungen in Windows zu konfigurieren.cannot write to the Windows Security log without configuring additional settings in Windows. Weitere Informationen finden Sie unter Schreiben von SQL-Serverüberwachungsereignissen in das Sicherheitsprotokoll.For more information, see Write SQL Server Audit Events to the Security Log.

    DateipfadFile path
    Gibt den Speicherort des Ordners an, in den Überwachungsdaten geschrieben werden, wenn das Überwachungsziel eine Datei ist.Specifies the location of the folder where audit data is written when the Audit destination is a file.

    Auslassungspunkte (…)Ellipsis (...)
    Öffnet das Dialogfeld Ordner suchen – Servername, um einen Dateipfad anzugeben oder einen Ordner zu erstellen, in dem die Überwachungsdatei geschrieben werden soll.Opens the Locate Folder -server_name dialog box to specify a file path or create a folder where the audit file is written.

    Maximale Grenze für Überwachungsdatei:Audit File Maximum Limit:
    Maximale Anzahl RolloverdateienMaximum rollover files
    Wenn die maximale Anzahl von Überwachungsdateien erreicht wird, werden die ältesten Überwachungsdateien durch neuen Dateiinhalt überschrieben.Specifies that, when the maximum number of audit files is reached, the oldest audit files are overwritten by new file content.

    Maximale DateienMaximum files
    Wenn die maximale Anzahl von Überwachungsdateien erreicht wird, tritt bei jeder Aktion, durch die zusätzliche Überwachungsereignisse verursacht werden, ein Fehler auf.Specifies that, when the maximum number of audit files is reached, any action that causes additional audit events to be generated will fail with an error.

    Unbegrenzt (Kontrollkästchen)Unlimited check box
    Wenn das Kontrollkästchen Unbegrenzt unter Maximale Anzahl Rolloverdateien aktiviert ist, kann eine unbegrenzte Anzahl von Rolloverdateien erstellt werden.When the Unlimited check box under Maximum rollover files is selected, there is no limit imposed on the number of audit files that will be created. Das Kontrollkästchen Unbegrenzt ist standardmäßig aktiviert und gilt sowohl für Maximale Anzahl Rolloverdateien als auch für Maximale Dateien .The Unlimited check box is selected by default and applies to both the Maximum rollover files and Maximum files selections.

    Anzahl der Dateien (Feld)Number of files box
    Gibt die Anzahl von Überwachungsdateien an, die erstellt werden können, und zwar bis zu 2.147.483.647.Specifies the number of audit files to be created, up to 2,147,483,647. Diese Option ist nur verfügbar, wenn Unbegrenzt deaktiviert ist.This option is only available if Unlimited is unchecked.

    Maximale DateigrößeMaximum file size
    Gibt die maximale Größe für eine Überwachungsdatei entweder in Megabyte (MB), Gigabyte (GB) oder Terabyte (TB) an.Specifies the maximum size for an audit file in either megabytes (MB), gigabytes (GB), or terabytes (TB). Sie können eine Zahl bis 2.147.483.647 angeben.You can specify a number up to 2,147,483,647 TB. Durch Aktivieren des Kontrollkästchen Unbegrenzt gibt es keine Begrenzung der Dateigröße.Selecting the Unlimited check box does not place a limit on the size of the file. Das Kontrollkästchen Unbegrenzt ist standardmäßig aktiviert.The Unlimited check box is selected by default.

    Speicherplatz reservieren (Kontrollkästchen)Reserve disk space check box
    Gibt an, dass der auf dem Datenträger vorab zugeordnete Speicherplatz der festgelegten maximalen Dateigröße entspricht.Specifies that space is pre-allocated on the disk equal to the specified maximum file size. Diese Einstellung kann nur verwendet werden, wenn das Kontrollkästchen Unbegrenzt unter Maximale Dateigröße deaktiviert ist.This setting can only be used if the Unlimited check box under Maximum file size is not selected. Dieses Kontrollkästchen ist standardmäßig deaktiviert.This check box is not selected by default.

  3. Geben Sie auf der Seite Filter optional ein Prädikat oder eine WHERE -Klausel für die Serverüberwachung ein, um Optionen anzugeben, die auf der Seite Allgemein nicht verfügbar sind.Optionally, on the Filter page, enter a predicate, or WHERE clause, to the server audit to specify additional options not available from the General page. Schließen Sie das Prädikat in Klammern ein; z. B.: (object_name = 'EmployeesTable').Enclose the predicate in parentheses; for example: (object_name = 'EmployeesTable').

  4. Nachdem Sie alle Optionen ausgewählt haben, klicken Sie auf OK.When you are finished selecting options, click OK.

So erstellen Sie eine ServerüberwachungsspezifikationTo create a server audit specification

  1. Klicken Sie im Objekt-Explorer auf das Pluszeichen, um den Ordner Sicherheit zu erweitern.In Object Explorer, click the plus sign to expand the Security folder.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Serverüberwachungsspezifikationen, und wählen Sie dann Neue Serverüberwachungsspezifikation... aus.Right-click the Server Audit Specifications folder and select New Server Audit Specification....

    Die folgenden Optionen sind im Dialogfeld Serverüberwachungsspezifikation erstellen verfügbar.The following options are available on the Create Server Audit Specification dialog box.

    NameName
    Der Name der Serverüberwachungsspezifikation.The name of the server audit specification. Er wird automatisch generiert, wenn Sie eine neue Serverüberwachungsspezifikation erstellen, er kann jedoch bearbeitet werden.This is generated automatically when you create a new server audit specification but is editable.

    ÜberwachungAudit
    Der Name einer vorhandenen Serverüberwachung.The name of an existing server audit. Geben Sie den Namen der Überwachung ein, oder wählen Sie ihn aus der Liste aus.Either type in the name of the audit or select it from the list.

    ÜberwachungsaktionstypAudit Action Type
    Gibt die aufzuzeichnenden Überwachungsaktionsgruppen auf Serverebene und Überwachungsaktionen an.Specifies the server-level audit action groups and audit actions to capture. Eine Liste der Überwachungsaktionsgruppen auf Serverebene und Überwachungsaktionen sowie eine Beschreibung der darin enthaltenen Ereignisse finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.For the list of server-level audit action groups and audit actions and a description of the events they contain, see SQL Server Audit Action Groups and Actions.

    ObjektschemaObject Schema
    Zeigt das Schema für den angegebenen Objektnamenan.Displays the schema for the specified Object Name.

    ObjektnamenObject Name
    Der Name des zu überwachenden Objekts.The name of the object to audit. Das Objekt ist nur für Überwachungsaktionen verfügbar, es gilt nicht für Überwachungsgruppen.This is only available for audit actions; it does not apply to audit groups.

    Auslassungspunkte (…)Ellipsis (...)
    Öffnet das Dialogfeld Objekte auswählen , in dem Sie anhand des angegebenen Überwachungsaktionstypsnach einem verfügbaren Objekt suchen und es auswählen können.Opens the Select Objects dialog to browse for and select an available object, based on the specified Audit Action Type.

    PrinzipalnamePrincipal Name
    Das Konto, anhand dessen die Überwachung für das zu überwachende Objekt gefiltert wird.The account to filter the audit by for the object being audited.

    Auslassungspunkte (…)Ellipsis (...)
    Öffnet das Dialogfeld Objekte auswählen , in dem Sie nach einem verfügbaren Objekt anhand des angegebenen Objektnamenssuchen und es auswählen können.Opens the Select Objects dialog to browse for and select an available object, based on the specified Object Name.

  3. Wenn Sie fertig sind, klicken Sie auf OK.When you are finished, click OK.

Verwenden von Transact-SQLUsing Transact-SQL

So erstellen Sie eine ServerüberwachungTo create a server audit

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute.

    -- Creates a server audit called "HIPAA_Audit" with a binary file as the target and no options.  
    CREATE SERVER AUDIT HIPAA_Audit  
        TO FILE ( FILEPATH ='E:\SQLAudit\' );  
    

Hinweis

Obwohl Sie einen UNC-Pfad als Überwachungsdateiziel verwenden können, sollten Sie Vorsicht walten lassen.Even though you may use a UNC path as the Auditing file Target, use caution. Wenn für diese Dateifreigabe eine Netzwerklatenz auftritt, können bei SQL Server Leistungseinbußen auftreten, da Threads auf den Abschluss eines Überprüfungsschreibvorgangs warten würden, bevor sie den Vorgang fortsetzen.If there is network latency to that fileshare, you may experience performance degradation in SQL Server as threads would be waiting for an auditing write to complete before proceeding. Im SQL Server-Fehlerprotokoll, z. B. 17894, können Sie verschiedene Fehlermeldungen beobachten:You may observe various error messages in the SQL Server error log such as 17894:

2020-02-07 12:21:35.100 Serververteiler (0x7954) aus dem Verteilerpool „XE Engine-Hauptdispatcherpool“ Worker 0x00000058e7300000 scheint auf Knoten 0 keine Ergebnisse zu liefern.2020-02-07 12:21:35.100 Server Dispatcher (0x7954) from dispatcher pool 'XE Engine main dispatcher pool' Worker 0x00000058E7300000 appears to be non-yielding on Node 0.

So erstellen Sie eine ServerüberwachungsspezifikationTo create a server audit specification

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-EngineDatabase Engine-Instanz her.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.On the Standard bar, click New Query.

  3. Kopieren Sie das folgende Beispiel, fügen Sie es in das Abfragefenster ein, und klicken Sie auf Ausführen.Copy and paste the following example into the query window and click Execute.

    /*Creates a server audit specification called "HIPAA_Audit_Specification" that audits failed logins for the SQL Server audit "HIPAA_Audit" created above.  
    */  
    
    CREATE SERVER AUDIT SPECIFICATION HIPAA_Audit_Specification  
    FOR SERVER AUDIT HIPAA_Audit  
        ADD (FAILED_LOGIN_GROUP);  
    GO  
    -- Enables the audit.   
    
    ALTER SERVER AUDIT HIPAA_Audit  
    WITH (STATE = ON);  
    GO  
    

Weitere Informationen finden Sie unter CREATE SERVER AUDIT (Transact-SQL) und CREATE SERVER AUDIT SPECIFICATION (Transact-SQL).For more information, see CREATE SERVER AUDIT (Transact-SQL) and CREATE SERVER AUDIT SPECIFICATION (Transact-SQL).