Compartir a través de


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.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

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

Referencia

Conceptos