CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)

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)

Erstellt ein Datenbank-Überwachungsspezifikationsobjekt mithilfe des SQL ServerSQL Server Audit-Funktionen.Creates a database audit specification object using the SQL ServerSQL Server audit feature. Weitere Informationen finden Sie unter SQL Server Audit (Datenbank-Engine).For more information, see SQL Server Audit (Database Engine).

Symbol für Themenlink Transact-SQL-SyntaxkonventionenTopic link icon Transact-SQL Syntax Conventions

SyntaxSyntax

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 ]  
}  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

ArgumenteArguments

audit_specification_nameaudit_specification_name
Der Name der Überwachungsspezifikation.Is the name of the audit specification.

audit_nameaudit_name
Der Name der Überwachung, auf die diese Spezifikation angewendet wird.Is the name of the audit to which this specification is applied.

audit_action_specificationaudit_action_specification
Die Spezifikation von Aktionen für sicherungsfähige Elemente durch Prinzipale, die in der Überwachung aufgezeichnet werden sollen.Is the specification of actions on securables by principals that should be recorded in the audit.

actionaction
Name von einer oder mehreren überwachbaren Aktionen auf Datenbankebene.Is the name of one or more database-level auditable actions. Eine Liste der Überwachungsaktionsgruppen finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.For a list of audit actions, see SQL Server Audit Action Groups and Actions.

audit_action_group_nameaudit_action_group_name
Der Name von einer oder mehreren Gruppen von überwachbaren Aktionen auf Datenbankebene.Is the name of one or more groups of database-level auditable actions. Eine Liste der Überwachungsaktionsgruppen finden Sie unter SQL Server Audit-Aktionsgruppen und -Aktionen.For a list of audit action groups, see SQL Server Audit Action Groups and Actions.

classclass
Klassenname (sofern anwendbar) auf dem sicherungsfähigen Element.Is the class name (if applicable) on the securable.

securablesecurable
Eine Tabelle, Sicht oder ein anderes sicherungsfähiges Objekt in der Datenbank, auf das die Überwachungsaktion oder die Überwachungsaktionsgruppe angewendet werden soll.Is the table, view, or other securable object in the database on which to apply the audit action or audit action group. Weitere Informationen finden Sie unter Securables.For more information, see Securables.

principalprincipal
Der Name des Datenbankprinzipals, auf den die Überwachungsaktion oder die Überwachungsaktionsgruppe angewendet werden soll.Is the name of database principal on which to apply the audit action or audit action group. Verwenden Sie den Datenbankprinzipal public, um die Überwachung aller Datenbankprinzipale gewährleisten zu können.To audit all database principals use the database principal public. Weitere Informationen finden Sie unter Prinzipale (Datenbank-Engine).For more information, see Principals (Database Engine).

WITH ( STATE = { ON | OFF } )WITH ( STATE = { ON | OFF } )
Aktiviert oder deaktiviert das Sammeln von Datensätzen durch die Überwachung für diese Überwachungsspezifikation.Enables or disables the audit from collecting records for this audit specification.

BemerkungenRemarks

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, befindet sich diese in einem deaktivierten Zustand.When a database audit specification is created, it is in a disabled state.

BerechtigungenPermissions

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

Nachdem eine Datenbanküberwachungsspezifikation erstellt wurde, kann sie von Prinzipalen mit den folgenden Berechtigungen eingesehen werden:CONTROL SERVER oder ALTER ANY DATABASE AUDIT. Außerdem kann sie über das sysadmin-Konto eingesehen werden.After a database audit specification is created, it can be viewed by principals with the CONTROL SERVER, ALTER ANY DATABASE AUDIT permissions, or the sysadmin account.

BeispieleExamples

A.A. Überwachen von "AUSWÄHLEN" und "EINFÜGEN" in einer Tabelle für ein beliebiges DatenbankprinzipalAudit SELECT and INSERT on a table for any database principal

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 dieSELECT -Anweisungen und INSERT-Anweisungen des dbo-Benutzers für die HumanResources.EmployeePayHistory-Tabelle in der AdventureWorks2012-Datenbank überwacht.The following example creates a server audit called Payrole_Security_Audit and then a database audit specification called Payrole_Security_Audit that audits SELECT and INSERT statements by the dbo user, for the HumanResources.EmployeePayHistory table in the AdventureWorks2012 database.

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) ;  
GO  
-- Move to the target database.  
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  

B.B. Überwachen aller DML (EINFÜGEN, AKTUALISIEREN oder LÖSCHEN) für alle Objekte im sales-Schema für eine bestimmte DatenbankrolleAudit any DML (INSERT, UPDATE or DELETE) on all objects in the sales schema for a specific database role

Im folgenden Beispiel wird zunächst eine Serverüberwachung mit dem Namen DataModification_Security_Audit und anschließend eine Datenbank-Überwachungsspezifikation mit dem Namen Audit_Data_Modification_On_All_Sales_Tables erstellt, die die INSERT-Anweisungen, UPDATE-Anweisungen und DELETE-Anweisungen der Benutzer in einer neuen Datenbankrolle SalesUK für alle Objekte im Sales-Schema der AdventureWorks2012 Datenbank überwacht.The following example creates a server audit called DataModification_Security_Audit and then a database audit specification called Audit_Data_Modification_On_All_Sales_Tables that audits INSERT, UPDATE and DELETE statements by users in a new database role SalesUK, for all objects in the Sales schema in the AdventureWorks2012 database.

USE master ;  
GO  
-- Create the server audit.
-- Change the path to a path that the SQLServer Service has access to. 
CREATE SERVER AUDIT DataModification_Security_Audit  
    TO FILE ( FILEPATH = 
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA' ) ; 
GO  
-- Enable the server audit.  
ALTER SERVER AUDIT DataModification_Security_Audit   
WITH (STATE = ON) ;  
GO  
-- Move to the target database.  
USE AdventureWorks2012 ;  
GO  
CREATE ROLE SalesUK
GO
-- Create the database audit specification.  
CREATE DATABASE AUDIT SPECIFICATION Audit_Data_Modification_On_All_Sales_Tables  
FOR SERVER AUDIT DataModification_Security_Audit  
ADD ( INSERT, UPDATE, DELETE  
     ON Schema::Sales BY SalesUK )  
WITH (STATE = ON) ;    
GO  

Weitere InformationenSee Also

CREATE SERVER AUDIT (Transact-SQL) CREATE SERVER AUDIT (Transact-SQL)
ALTER SERVER AUDIT (Transact-SQL) ALTER SERVER AUDIT (Transact-SQL)
DROP SERVER AUDIT (Transact-SQL) DROP SERVER AUDIT (Transact-SQL)
CREATE SERVER AUDIT SPECIFICATION (Transact-SQL) CREATE SERVER AUDIT SPECIFICATION (Transact-SQL)
ALTER SERVER AUDIT SPECIFICATION (Transact-SQL) ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
DROP SERVER AUDIT SPECIFICATION (Transact-SQL) DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL) CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL) ALTER DATABASE AUDIT SPECIFICATION (Transact-SQL)
DROP DATABASE AUDIT SPECIFICATION (Transact-SQL) DROP DATABASE AUDIT SPECIFICATION (Transact-SQL)
ALTER AUTHORIZATION (Transact-SQL) ALTER AUTHORIZATION (Transact-SQL)
sys.fn_get_audit_file (Transact-SQL) sys.fn_get_audit_file (Transact-SQL)
sys.server_audits (Transact-SQL) sys.server_audits (Transact-SQL)
sys.server_file_audits (Transact-SQL) sys.server_file_audits (Transact-SQL)
sys.server_audit_specifications (Transact-SQL) sys.server_audit_specifications (Transact-SQL)
sys.server_audit_specification_details (Transact-SQL) sys.server_audit_specification_details (Transact-SQL)
sys.database_audit_specifications (Transact-SQL) sys.database_audit_specifications (Transact-SQL)
sys.database_audit_specification_details (Transact-SQL) sys.database_audit_specification_details (Transact-SQL)
sys.dm_server_audit_status (Transact-SQL) sys.dm_server_audit_status (Transact-SQL)
sys.dm_audit_actions (Transact-SQL) sys.dm_audit_actions (Transact-SQL)
Erstellen einer Serverüberwachung und einer ServerüberwachungsspezifikationCreate a Server Audit and Server Audit Specification