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 |
Sí |
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 |
Sí |
action_id |
Id. de la acción |
char(4) |
Sí |
succeeded |
Indica si la acción que desencadenó el evento se ha llevado a cabo correctamente |
bit – 1 = Correcto, 0 = Error |
Sí |
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 |
Sí |
server_principal_id |
Identificador del contexto de inicio de sesión en el que se realiza la acción. |
int |
Sí |
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:
|
int |
No |
target_server_principal_id |
Entidad de seguridad del servidor a la que se aplica la acción auditable. |
int |
Sí |
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) |
Sí |
session_server_principal_name |
Entidad de seguridad del servidor para la sesión. |
sysname |
Sí |
server_principal_name |
Inicio de sesión actual. |
sysname |
Sí |
server_principal_sid |
SID del inicio de sesión actual. |
varbinary |
Sí |
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) |
Sí |
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:
|
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