CREATE DATABASE AUDIT SPECIFICATION (Transact-SQL)
Crea un objeto de especificación de auditoría de base de datos mediante la característica de auditoría de SQL Server. Para obtener más información, vea Descripción de SQL Server Audit.
Sintaxis
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 ]
}
Argumentos
audit_specification_name
Es el nombre de la especificación de auditoría.audit_name
Es el nombre de la auditoría a la que se aplica esta especificación.audit_action_specification
Es la especificación de acciones de elementos protegibles mediante entidades de seguridad que se deben grabar en la auditoría.action
Es el nombre de una o varias acciones auditables en el nivel de base de datos. Para obtener una lista de acciones de auditoría, vea Grupos de acciones y acciones de SQL Server Audit.audit_action_group_name
Es el nombre de uno o varios grupos de acciones auditables en el nivel de base de datos. Para obtener una lista de grupos de acciones de auditoría, vea Grupos de acciones y acciones de SQL Server Audit.class
Es el nombre de clase (si procede) en el objeto protegible.securable
Es la tabla, vista u otro objeto protegible de la base de datos al que se debe aplicar la acción de auditoría o el grupo de acciones de auditoría. Para obtener más información, vea Asegurables.principal
Es el nombre de la entidad de seguridad de SQL Server a la que se debe aplicar la acción de auditoría o el grupo de acciones de auditoría. Para obtener más información, vea Entidades de seguridad (motor de base de datos).WITH ( STATE = { ON | OFF } )
Habilita o deshabilita la recopilación de registros por parte de la auditoría para esta especificación de auditoría.
Notas
Las especificaciones de auditoría de base de datos son objetos no protegibles residen en una base de datos determinada. Cuando se crea una especificación de auditoría de servidor de base de datos, está en un estado deshabilitado.
Para obtener información sobre las especificaciones de auditoría de base de datos en una auditoría SQL Server, utilice la vista de catálogo sys.database_audit_specifications.
Cuando cree o modifique una especificación de auditoría de base de datos en una base de datos de usuario, no incluya acciones de auditoría en objetos del ámbito de servidor, como las vistas del sistema. Si los objetos del ámbito de servidor están incluidos, se creará la auditoría. Sin embargo, los objetos del ámbito de servidor no están incluidos y no se devolverá ningún error. Para auditar objetos del ámbito de servidor, utilice una especificación de auditoría de base de datos en la base de datos maestra.
Permisos
Los usuarios con el permiso ALTER ANY DATABASE AUDITpueden crear las especificaciones de auditoría de base de datos y enlazarlas a cualquier auditoría.
Después de crearse una especificación de auditoría de base de datos, podrá ser vista por las entidades de seguridad que cuenten con los permisos CONTROL SERVERo ALTER ANY DATABASE AUDITo por la cuenta sysadmin.
Ejemplos
En el siguiente ejemplo se crea una auditoría de servidor denominada Payrole_Security_Audit y una especificación de auditoría de base de datos denominada Payrole_Security_Audit que audita las instrucciones SELECT y INSERT por el usuario dbo, para la tabla HumanResources.EmployeePayHistory de la base de datos AdventureWorks.
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
Vea también