CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

Erstellt ein Datenbank-Überwachungsspezifikationsobjekt mithilfe des SQL Server Audit-Features. Weitere Informationen finden Sie unter Grundlegendes zu SQL Server Audit.

Themenlink (Symbol)Transact-SQL-Syntaxkonventionen

Syntax

CREATE DATABASE AUDIT SPECIFICATION audit_specification_name
{
    FOR SERVER AUDIT audit_name 
        [ { ADD ( { <audit_action_specification> | audit_action_group_name } ) 
      } [, ...n] ]
    [ WITH ( STATE = { ON | OFF } ) ]
}
[ ; ]
<audit_action_specification>::=
{
      action [ ,...n ]ON [ class :: ] securable BY principal [ ,...n ]
}

Argumente

  • audit_specification_name
    Der Name der Überwachungsspezifikation.

  • audit_name
    Der Name der Überwachung, auf die diese Spezifikation angewendet wird.

  • audit_action_specification
    Die Spezifikation von Aktionen für sicherungsfähige Elemente durch Prinzipale, die in der Überwachung aufgezeichnet werden sollen.

  • action
    Name von einer oder mehreren überwachbaren Aktionen auf Datenbankebene. Ein Liste der Überwachungsaktionen finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.

  • audit_action_group_name
    Der Name von einer oder mehreren Gruppen von überwachbaren Aktionen auf Datenbankebene. Ein Liste der Überwachungsaktionsgruppen finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.

  • class
    Klassenname (sofern anwendbar) auf dem sicherungsfähigen Element.

  • securable
    Eine Tabelle, Sicht oder ein anderes sicherungsfähiges Element in der Datenbank, auf das die Überwachungsaktion oder die Überwachungsaktionsgruppe angewendet werden soll. Weitere Informationen finden Sie unter Sicherungsfähige Elemente.

  • principal
    Der Name des SQL Server-Prinzipals, auf das die Überwachungsaktion oder die Überwachungsaktionsgruppe angewendet werden soll. Weitere Informationen finden Sie unter Prinzipale (Datenbankmodul).

  • WITH ( STATE = { ON | OFF } )
    Aktiviert oder deaktiviert das Sammeln von Datensätzen durch die Überwachung für diese Überwachungsspezifikation.

Hinweise

Datenbank-Überwachungsspezifikationen sind nicht sicherungsfähige Objekte, die sich in einer gegebenen Datenbank befinden. Wenn eine Datenbank-Überwachungsspezifikation erstellt wird, befindet sich diese in einem deaktivierten Zustand.

Verwenden Sie für Informationen zu den Datenbank-Überwachungsspezifikationen in einer SQL Server-Überwachung die sys.database_audit_specifications-Katalogsicht.

Wenn Sie in einer Benutzerdatenbank eine Datenbank-Überwachungsspezifikation erstellen oder ändern, sollten Sie keine Überwachungsaktionen für Serverbereichsobjekte einschließen, z. B. die Systemsichten. Wenn Objekte mit Serverbereich eingeschlossen sind, 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 master-Datenbank, um Objekte mit Serverbereich zu überwachen.

Berechtigungen

Benutzer mit derALTER ANY DATABASE AUDIT-Berechtigung können Datenbank-Überwachungsspezifikationen erstellen und sie an eine beliebige Überwachung binden.

Nachdem eine Datenbank-Überwachungsspezifikation erstellt wurde, kann diese von Prinzipalen mit den Berechtigungen CONTROL SERVER undALTER ANY DATABASE AUDIToder von Prinzipalen mit Zugriff auf das sysadmin-Konto angezeigt werden.

Beispiele

Im folgenden Beispiel wird zunächst eine Serverüberwachung mit dem Namen Payrole_Security_Audit und anschließend eine Datenbank-Überwachungsspezifikation mit dem Namen Payrole_Security_Audit erstellt, die die SELECT-Anweisungen und INSERT-Anweisungen des dbo-Benutzers für die HumanResources.EmployeePayHistory-Tabelle in der AdventureWorks-Datenbank überwacht.

USE master ;
GO
-- Create the server audit.
CREATE SERVER AUDIT Payrole_Security_Audit
    TO FILE ( FILEPATH = 
'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA' ) ;
GO
-- Enable the server audit.
ALTER SERVER AUDIT Payrole_Security_Audit 
WITH (STATE = ON) ;
GO
-- Move to the target database.
USE AdventureWorks ;
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

Siehe auch

Verweis

Konzepte