Registros de auditoría de SQL Server

La característica SQL Server Audit le permite auditar grupos de eventos y eventos de nivel de servidor y de base de datos. Para obtener más información, vea Descripción de SQL Server Audit. SQL Server.

Las auditorías constan de cero o más elementos de acción de auditoría que se registran en un destino de auditoría. Este destino de auditoría puede ser un archivo binario, el registro de eventos de aplicación de Windows o el registro de eventos de seguridad de Windows. Los registros que se envían al destino pueden contener los elementos descritos en la tabla siguiente.

Nombre de columna

Descripción

Tipo

Siempre está disponible

event_time

Fecha y hora en la que se desencadena la acción auditable.

datetime2

sequence_no

Realiza un seguimiento de la secuencia de registros de un único registro de auditoría que era demasiado grande para caber en el búfer de escritura destinado a las auditorías.

int

action_id

Id. de la acción

char(4)

succeeded

Indica si la acción que desencadenó el evento se ha llevado a cabo correctamente

bit – 1 = Correcto, 0 = Error

permission_bitmask

Si procede, muestra los permisos que se han concedido, denegado o revocado

bigint

No

is_column_permission

Indicador que especifica un permiso de nivel de columna

bit – 1 = Verdadero, 0 = Falso

No

session_id

Identificador de la sesión en la que se ha producido el evento.

int

server_principal_id

Identificador del contexto de inicio de sesión en el que se realiza la acción.

int

database_principal_id

Identificador del contexto de usuario de la base de datos en el que se realiza la acción.

int

No

object_id

El identificador principal de la entidad en la que se produjo la auditoría. Esto incluye:

  • objetos de servidor

  • bases de datos

  • objetos de base de datos

  • objetos de esquema

int

No

target_server_principal_id

Entidad de seguridad del servidor a la que se aplica la acción auditable.

int

target_database_principal_id

Entidad de seguridad de la base de datos a la que se aplica la acción auditable.

int

No

class_type

Tipo de entidad auditable en la que se produce la auditoría.

char(2)

session_server_principal_name

Entidad de seguridad del servidor para la sesión.

sysname

server_principal_name

Inicio de sesión actual.

sysname

server_principal_sid

SID del inicio de sesión actual.

varbinary

database_principal_name

Usuario actual.

sysname

No

target_server_principal_name

Inicio de sesión de destino de la acción.

sysname

No

target_server_principal_sid

SID del inicio de sesión de destino.

varbinary

No

target_database_principal_name

Usuario de destino de la acción.

sysname

No

server_instance_name

Nombre de la instancia de servidor donde se ha producido la auditoría. Usa el formato equipo\instancia estándar.

nvarchar(120)

database_name

Contexto de base de datos en el que se produjo la acción.

sysname

No

schema_name

El contexto del esquema en el que se produjo la acción.

sysname

No

object_name

El nombre de la entidad en la que se produjo la auditoría. Esto incluye:

  • objetos de servidor

  • bases de datos

  • objetos de base de datos

  • objetos de esquema

  • Instrucción TSQL (si existe)

sysname

No

statement

Instrucción TSQL (si existe)

nvarchar(4000)

No

additional_information

Cualquier información adicional sobre el evento, almacenada como XML.

nvarchar(4000)

No

Observaciones

Algunas acciones no rellenan el valor de una columna porque es posible que no sea aplicable a la acción.

SQL Server Audit almacena 4.000 caracteres de datos en los campos de carácter de un registro de auditoría. Si los valores additional_information y statement devueltos por una acción auditable contienen más de 4.000 caracteres, la columna sequence_no se usa para escribir varios registros en el informe de auditoría para que una única acción de auditoría registre estos datos. El proceso es el siguiente:

  • La columna statement se divide en 4.000 caracteres.

  • SQL Server Audit escribe como primera fila del registro de auditoría los datos parciales. Los demás campos se duplican en cada fila.

  • Se incrementa el valor sequence_no.

  • Este proceso se repite hasta que se registran todos los datos.

Puede conectar los datos leyendo las filas secuencialmente mediante el valor sequence_no, y las columnas event_Time, action_id y session_id para identificar la acción.

Vea también

Referencia

Conceptos