CREATE SERVER AUDIT (Transact-SQL)

Crea una objeto de auditoría de servidor mediante SQL Server Audit. 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 SERVER AUDIT audit_name

    TO { [ FILE (<file_options> [ , ...n ]) ] | APPLICATION_LOG | SECURITY_LOG }
    [ WITH ( <audit_options> [ , ...n ] ) ] 
}
[ ; ]
<file_options>::=
{
       FILEPATH = 'os_file_path'
    [ , MAXSIZE = { max_size { MB | GB | TB } | UNLIMITED } ]
    [ , MAX_ROLLOVER_FILES = { integer | UNLIMITED } ]
    [ , RESERVE_DISK_SPACE = { ON | OFF } ] 
}
  
<audit_options>::=
{
    [  QUEUE_DELAY = integer ]
    [ , ON_FAILURE = { CONTINUE | SHUTDOWN } ]
    [ , AUDIT_GUID = uniqueidentifier ]
}

Argumentos

  • TO { FILE | APPLICATION_LOG | SECURITY }
    Determina la ubicación del destino de la auditoría. Las opciones son un archivo binario, el registro de la aplicación de Windows o el registro de seguridad de Windows. SQL Server no puede escribir en el registro de seguridad de Windows sin configurar valores adicionales en Windows. Para obtener más información, vea Cómo escribir eventos de auditoría de servidor en el registro de seguridad.

    [!NOTA]

    La operación de escribir en el registro de seguridad no está disponible en Windows XP.

  • FILEPATH = 'os_file_path'
    La ruta de acceso del registro de auditoría. El nombre de archivo se genera en función del nombre de la auditoría y del GUID de la auditoría.

  • MAXSIZE = { max_size }
    Especifica el tamaño máximo que puede alcanzar el archivo de auditoría. El valor de max_size debe ser un entero seguido de MB, GB, TB o UNLIMITED. El tamaño mínimo que puede especificarse para max_size es 2 MB y el máximo es 2.147.483.647 TB. Si se especifica UNLIMITED, el archivo crecerá hasta que se llene el disco. Si se especifica un valor inferior a 2 MB, se producirá el error MSG_MAXSIZE_TOO_SMALL. El valor predeterminado es UNLIMITED.

  • MAX_ROLLOVER_FILES = { integer | UNLIMITED }
    Especifica el número máximo de archivos que se deben conservar en el sistema de archivos además del archivo actual. El valor de MAX_ROLLOVER_FILES debe ser un entero o UNLIMITED. El valor predeterminado es UNLIMITED. Este parámetro se evalúa siempre que se reinicia la auditoría (lo que puede suceder cuando se reinicia la instancia de Database Engine (Motor de base de datos) o cuando se desactiva la auditoría y, a continuación, se activa de nuevo) o cuando se necesita un nuevo archivo porque se ha alcanzado el MAXSIZE. Cuando se evalúa MAX_ROLLOVER_FILES, si el número de archivos supera la configuración de MAX_ROLLOVER_FILES, se elimina el archivo más antiguo. Como resultado, cuando la configuración de MAX_ROLLOVER_FILES es 0 se crea un nuevo archivo cada vez que se evalúa la configuración de MAX_ROLLOVER_FILES. Se elimina solo un archivo automáticamente cuando se evalúa la configuración de MAX_ROLLOVER_FILES, de modo que cuando se disminuye el valor de MAX_ROLLOVER_FILES, el número de archivos no se reduce a menos que se eliminen manualmente los archivos antiguos. El número máximo de archivos que se pueden especificar es 2.147.483.647.

  • RESERVE_DISK_SPACE = { ON | OFF }
    Esta opción preasigna el archivo en el disco al valor de MAXSIZE. Sólo se aplica si MAXSIZE no es igual a UNLIMITED. El valor predeterminado es OFF.

  • QUEUE_DELAY = integer
    Determina el tiempo, en milisegundos, que puede transcurrir antes de exigir que se procesen las acciones de auditoría. El valor 0 indica la entrega sincrónica. El valor mínimo que puede establecerse para la cola es 1000 (1 segundo), que es el valor predeterminado. El máximo es 2.147.483.647 (2.147.483,647 segundos, o 24 días, 20 horas, 31 minutos y 23,647 segundos). Si se especifica un número no válido, se producirá el error MSG_INVALID_QUEUE_DELAY.

  • ON_FAILURE = { CONTINUE | SHUTDOWN }
    Indica si la escritura de la instancia en el destino debería continuar o detenerse si el destino no puede realizar la escritura. Para poder usarlo, es preciso utilizar un inicio de sesión con el permiso SHUTDOWN. Si el inicio de sesión no tiene este permiso, se producirá un error en esta función con el mensaje MSG_NO_SHUTDOWN_PERMISSION. El valor predeterminado es CONTINUE.

  • AUDIT_GUID = uniqueidentifier
    Para que sea compatible con escenarios como la creación de reflejo de la base de datos, una auditoría necesita un GUID específico que coincida con el de la base de datos reflejada. No se puede modificar el GUID una vez creada la auditoría.

Notas

Cuando se crea una auditoría de servidor, está en un estado deshabilitado.

La instrucción CREATE SERVER AUDIT está en el ámbito de una transacción. Si se revierte la transacción, también se revierte la instrucción.

Permisos

Para crear, modificar o quitar una auditoría de servidor, las entidades de seguridad deben tener el permiso ALTER ANY SERVER AUDIT o CONTROL SERVER.

Al guardar información de auditoría en un archivo, para tratar de impedir su alteración, restrinja el acceso a la ubicación del archivo.

Ejemplos

A. Crear una auditoría de servidor con destino a un archivo

En el ejemplo siguiente se crea una auditoría de servidor denominada HIPPA_Audit con un archivo binario como destino y sin ninguna opción.

CREATE SERVER AUDIT HIPAA_Audit
    TO FILE ( FILEPATH ='\\SQLPROD_1\Audit\' );

B. Crear una auditoría de servidor con destino al registro de la aplicación de Windows y con opciones

En el ejemplo siguiente se crea una auditoría de servidor denominada HIPPA_Audit con destino al registro de la aplicación de Windows. La cola se escribe cada segundo y cierra el motor de SQL Server si se produce un error.

CREATE SERVER AUDIT HIPAA_Audit
    TO APPLICATION_LOG
    WITH ( QUEUE_DELAY = 1000,  ON_FAILURE = SHUTDOWN);

Vea también

Referencia

Conceptos