Erstellen einer Server- und DatenbanküberwachungsspezifikationCreate a server audit and database 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 Artikel erfahren Sie, wie Sie eine Server- und eine Datenbanküberwachungsspezifikation in SQL Server 2019 (15.x)SQL Server 2019 (15.x) mithilfe von SQL Server Management StudioSQL Server Management Studio oder Transact-SQLTransact-SQL erstellen.This article describes how to create a server audit and a database 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.

Die Überwachung einer SQL ServerSQL Server-Instanz oder einer SQL ServerSQL Server-Datenbank umfasst die Nachverfolgung und Protokollierung der Ereignisse des Systems.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 erfasst eine einzelne Instanz von Aktionen oder Aktionsgruppen auf Server- oder Datenbankebene auf, die überwacht werden soll.The SQL Server Audit object collects a single instance of server-level 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 Objekt für die Überwachungsspezifikation auf Datenbankebene gehört ebenfalls zu einer Überwachung.The Database-Level Audit Specification object belongs to an audit. Sie können eine Datenbank-Überwachungsspezifikation pro SQL Server-Datenbank und pro Überwachung erstellen.You can create one database audit specification per SQL Server database per audit. Weitere Informationen finden Sie unter SQL Server Audit (Datenbank-Engine).For more information, see SQL Server audit (Database Engine).

VoraussetzungenBefore you begin

EinschränkungenLimitations and restrictions

Datenbank-Überwachungsspezifikationen sind nicht sicherungsfähige Objekte, die sich in einer gegebenen Datenbank befinden.Database audit specifications are non-securable objects that reside in a given database. Wenn eine Datenbanküberwachungsspezifikation erstellt wird, ist diese zunächst deaktiviert.When a database audit specification is created, it's in a disabled state.

Wenn Sie in einer Benutzerdatenbank eine Datenbank-Überwachungsspezifikation erstellen oder ändern, sollten Sie keine Überwachungsaktionen für Serverbereichsobjekte wie Systemsichten einschließen.When you're creating or modifying a database audit specification in a user database, don't include audit actions on server-scope objects, like the system views. Wenn Sie Objekte mit Serverbereich einfügen, wird die Überwachung zwar erstellt.If you include server-scoped objects, the audit will be created. Die Objekte mit Serverbereich sind jedoch nicht enthalten, und es wird kein Fehler zurückgegeben.But the server-scoped objects won't be included, and no error will return. Verwenden Sie eine Datenbanküberwachungsspezifikation in der Masterdatenbank, um Objekte mit Serverbereich zu überwachen.To audit server-scoped objects, use a database audit specification in the master database.

Die Datenbanküberwachungsspezifikationen befinden sich in der Datenbank, in der sie erstellt werden, mit Ausnahme der Systemdatenbank TempDB.Database audit specifications reside in the database where they're created, except for the TempDB system database.

SicherheitSecurity

BerechtigungenPermissions

  • Benutzer mit der ALTER ANY DATABASE AUDIT-Berechtigung können Datenbanküberwachungsspezifikationen erstellen und an eine beliebige Überwachung binden.Users who have the ALTER ANY DATABASE AUDIT permission can create database audit specifications and bind them to any audit.

  • Nachdem eine Datenbanküberwachungsspezifikation erstellt wurde, können Prinzipale mit CONTROL SERVER- oder ALTER ANY DATABASE AUDIT-Berechtigungen diese anzeigen.After a database audit specification is created, principals who have CONTROL SERVER or ALTER ANY DATABASE AUDIT permissions can view it. Das sysadmin-Konto kann sie ebenfalls anzeigen.The sysadmin account can also view it.

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. Weitere Informationen finden Sie unter Erstellen einer Serverüberwachung und einer Serverüberwachungsspezifikation.For more information, see Create a server audit and server audit specification.

  3. Klicken Sie auf OK, wenn Sie die Auswahl der Optionen abgeschlossen haben.When you finish selecting options, select OK.

So erstellen Sie eine Überwachungsspezifikation auf DatenbankebeneTo create a database-level audit specification

  1. Erweitern Sie im Objekt-Explorer die Datenbank, in der Sie eine Überwachungsspezifikation erstellen möchten.In Object Explorer, expand the database where you want to create the audit specification.

  2. Erweitern Sie den Ordner Sicherheit .Expand the Security folder.

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Datenbank-Überwachungsspezifikationen und dann auf Neue Datenbank-Überwachungsspezifikation... .Right-click the Database Audit Specifications folder and select New Database Audit Specification.

    Die folgenden Optionen sind im Dialogfeld Datenbank-Überwachungsspezifikation erstellen verfügbar:These options are available in the Create Database Audit Specification dialog box:

    NameName
    Der Name der Datenbank-Überwachungsspezifikation.The name of the database audit specification. Es wird automatisch ein Name generiert, wenn Sie eine Serverüberwachungsspezifikation erstellen.A name is generated automatically when you create a server audit specification. Der Name kann geändert werden.The name is editable.

    ÜberwachungAudit
    Der Name eines vorhandenen Serverüberwachungsobjekts.The name of an existing server audit object. 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 Datenbankebene und Überwachungsaktionen an.Specifies the database-level audit action groups and audit actions to capture. Eine Liste der Überwachungsaktionsgruppen auf Datenbankebene und Überwachungsaktionen sowie eine Beschreibung der darin enthaltenen Ereignisse finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.For a list of database-level audit action groups and audit actions and descriptions 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. Diese Option ist nur für Überwachungsaktionen verfügbar.This option is available only for audit actions. Sie gilt nicht für Überwachungsgruppen.It doesn't apply to audit groups.

    Auslassungspunkte (…)Ellipsis (...)
    Ö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.Opens the Select Objects dialog box so you can 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 (...)
    Ö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.Opens the Select Objects dialog box so you can browse for and select an available object, based on the specified Object Name.

  4. Klicken Sie auf OK, wenn Sie die Auswahl der Optionen abgeschlossen haben.When you finish selecting options, select OK.

Verwenden von Transact-SQLUsing Transact-SQL

So erstellen Sie eine ServerüberwachungTo create a server audit

  1. Stellen Sie mithilfe des Objekt-Explorers eine Verbindung mit einer Instanz von Datenbank-EngineDatabase Engineher.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

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

  3. Fügen Sie das folgende Beispiel in das Abfragefenster ein, und klicken Sie dann auf Ausführen.Paste the following example into the query window and then select Execute.

    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 DatenbankebeneTo create a database-level audit specification

  1. Stellen Sie mithilfe des Objekt-Explorers eine Verbindung mit einer Instanz von Datenbank-EngineDatabase Engineher.In Object Explorer, connect to an instance of Datenbank-EngineDatabase Engine.

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

  3. Fügen Sie das folgende Beispiel in das Abfragefenster ein, und klicken Sie dann auf Ausführen.Paste the following example into the query window and then select Execute. In diesem Beispiel wird eine Datenbanküberwachungsspezifikation namens Audit_Pay_Tables erstellt.This example creates a database audit specification called Audit_Pay_Tables. 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.It audits SELECT and INSERT statements by the dbo user for the HumanResources.EmployeePayHistory table, based on the server audit defined in the previous section.

    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).For more information, see CREATE SERVER AUDIT (Transact-SQL) and CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL).