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

SI APPLICA A: sìSQL Server noDatabase SQL di Azure noAzure SQL Data Warehouse noParallel Data Warehouse APPLIES TO: yesSQL Server noAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Crea un oggetto specifica controllo database utilizzando la funzionalità di SQL ServerSQL Server Audit.Creates a database audit specification object using the SQL ServerSQL Server audit feature. Per altre informazioni, vedere SQL Server Audit (Motore di database).For more information, see SQL Server Audit (Database Engine).

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

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

ArgomentiArguments

audit_specification_nameaudit_specification_name
Nome della specifica del controllo.Is the name of the audit specification.

audit_nameaudit_name
Nome del controllo al quale viene applicata questa specifica.Is the name of the audit to which this specification is applied.

audit_action_specificationaudit_action_specification
Specifica di azioni eseguite dalle entità su entità a sicurezza diretta da registrare nel controllo.Is the specification of actions on securables by principals that should be recorded in the audit.

actionaction
Nome di una o più azioni controllabili a livello di database.Is the name of one or more database-level auditable actions. Per un elenco delle azioni di controllo, vedere Azioni e gruppi di azioni di SQL Server Audit.For a list of audit actions, see SQL Server Audit Action Groups and Actions.

audit_action_group_nameaudit_action_group_name
Nome di uno o più gruppi di azioni controllabili a livello di database.Is the name of one or more groups of database-level auditable actions. Per un elenco dei gruppi di azioni di controllo, vedere Azioni e gruppi di azioni di SQL Server Audit.For a list of audit action groups, see SQL Server Audit Action Groups and Actions.

classclass
Nome della classe nell'entità a protezione diretta, se applicabile.Is the class name (if applicable) on the securable.

securablesecurable
Tabella, vista oppure altro oggetto a protezione diretta nel database cui applicare l'azione di controllo oppure il gruppo di azioni di controllo.Is the table, view, or other securable object in the database on which to apply the audit action or audit action group. Per altre informazioni, vedere Entità a protezione diretta.For more information, see Securables.

principalprincipal
Nome di entità di database cui applicare l'azione di controllo oppure il gruppo di azioni di controllo.Is the name of database principal on which to apply the audit action or audit action group. Per controllare tutte le entità di database, usare l'entità di database public.To audit all database principals use the database principal public. Per altre informazioni, vedere Principals (motore di database).For more information, see Principals (Database Engine).

WITH ( STATE = { ON | OFF } )WITH ( STATE = { ON | OFF } )
Abilita o disabilita la raccolta di record mediante il controllo per questa specifica del controllo.Enables or disables the audit from collecting records for this audit specification.

RemarksRemarks

Le specifiche del controllo del database sono oggetti non a sicurezza diretta che risiedono in un database specifico.Database audit specifications are non-securable objects that reside in a given database. Quando una specifica del controllo del database viene creata, il relativo stato è disabilitato.When a database audit specification is created, it is in a disabled state.

AutorizzazioniPermissions

Gli utenti che dispongono dell'autorizzazione ALTER ANY DATABASE AUDIT possono creare specifiche del controllo del database e associarle a qualsiasi controllo.Users with the ALTER ANY DATABASE AUDIT permission can create database audit specifications and bind them to any audit.

Dopo essere stata creata, la specifica del controllo del database può essere visualizzata dalle entità con le autorizzazioni CONTROL SERVER e ALTER ANY DATABASE AUDIT o con l'account sysadmin.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.

EsempiExamples

A.A. Eseguire il controllo di SELECT e INSERT in una tabella per qualsiasi entità di databaseAudit SELECT and INSERT on a table for any database principal

Nell'esempio seguente vengono creati un controllo server denominato Payrole_Security_Audit e una specifica di controllo database denominata Payrole_Security_Audit che controlla le istruzioni SELECT e INSERT per qualsiasi utente (public) per la tabella HumanResources.EmployeePayHistory nel database AdventureWorks2012.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 any user (public), 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. Eseguire il controllo di eventuali DML (INSERT, UPDATE o DELETE) su tutti gli oggetti dello schema sales per un ruolo di database specificoAudit any DML (INSERT, UPDATE or DELETE) on all objects in the sales schema for a specific database role

Nell'esempio seguente vengono creati un controllo server denominato DataModification_Security_Audit e una specifica di controllo database denominata Audit_Data_Modification_On_All_Sales_Tables che controlla le istruzioni INSERT, UPDATE e DELETE degli utenti con un nuovo ruolo di database SalesUK, per tutti gli oggetti dello schema Sales nel database AdventureWorks2012.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  

Vedere ancheSee 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)
Creazione di un controllo del server e di una specifica del controllo del serverCreate a Server Audit and Server Audit Specification