Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:SQL Server
La característica SQL Server Audit permite auditar grupos de eventos y eventos de nivel de servidor y de base de datos. Para más información, consulte SQL Server Audit (motor de base de datos). SQL Server.
Las auditorías constan de cero o más elementos de acción de auditoría que se registran en un destinode auditoría. Este destino de auditoría puede ser un archivo binario, el registro de eventos de aplicación 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 la columna | Descripción | Tipo | Siempre está disponible |
|---|---|---|---|
| event_time | Fecha y hora en que se desencadena la acción auditable. | datetime2 | Sí |
| sequence_number | 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 | Identificador de la acción. Sugerencia: Para usar action_id como un predicado, debe convertirse de una cadena de caracteres a un valor numérico. Para obtener más información, vea Filtrar SQL Server Audit por el predicado action_id / class_type. |
varchar(4) | Sí |
| succeeded | Indica si la acción que desencadenó el evento se realizó correctamente. Para todos los eventos que no sean eventos de inicio de sesión, esto solo notifica si la comprobación de permisos se realizó correctamente o no, no la operación. - 1 = Correcto - 0 = Error |
bit | Sí |
| permission_bitmask | En algunas acciones, se trata de los permisos concedidos, denegados o revocados. | varbinary(16) | No |
| is_column_permission | Marca que indica si se trata de un permiso de nivel de columna. Devuelve 0 cuando el permission_bitmask = 0. - 1 = Verdadero - 0 = Falso |
bit | No |
| session_id | Identificador de la sesión en la que se produjo el evento. | smallint | 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. Devuelve 0 si no se aplica. Por ejemplo, una operación de servidor. | int | No |
| target_server_principal_id | Entidad de seguridad del servidor en la que se realiza la operación GRANT/DENY/REVOKE. Devuelve 0 si no es aplicable. | int | Sí |
| target_database_principal_id | La entidad de seguridad de base de datos en la que se realiza la operación GRANT/DENY/REVOKE. Devuelve 0 si no es aplicable. | int | No |
| object_id | Identificador de la entidad en la que se produjo la auditoría. Esto incluye: objetos de servidor databases Objetos de base de datos objetos de esquema Devuelve 0 si la entidad es el propio servidor o si la auditoría no se realiza en un nivel de objeto. Por ejemplo, Autenticación. |
int | No |
| class_type | Tipo de entidad auditable en la que se produce la auditoría. | varchar(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(85) | Sí |
| database_principal_name | Usuario actual. | sysname | No |
| target_server_principal_name | Inicio de sesión de destino de la acción. Devuelve NULL si no es aplicable. | sysname | No |
| target_server_principal_sid | SID del inicio de sesión de destino. Devuelve NULL si no es aplicable. | varbinary(85) | No |
| target_database_principal_name | Usuario de destino de la acción. Devuelve NULL si no es aplicable. | sysname | No |
| server_instance_name | Nombre de la instancia de servidor donde se ha producido la auditoría. Se usa el formato de servidor\instancia estándar. | sysname | Sí |
| database_name | Contexto de base de datos en el que se produjo la acción. Nullable. Devuelve NULL para las auditorías que se producen en el nivel de servidor. | sysname | No |
| schema_name | Contexto de esquema en el que se produjo la acción. | sysname | No |
| object_name | Nombre de la entidad en la que se produjo la auditoría. Esto incluye: objetos de servidor databases Objetos de base de datos objetos de esquema Nullable. Devuelve NULL si la entidad es el propio servidor o si la auditoría no se realiza en un nivel de objeto. Por ejemplo, Autenticación. |
sysname | No |
| instrucción | Instrucción TSQL si existe. Devuelve NULL si no es aplicable. | nvarchar(4000) | No |
| additional_information | La información única que solo se aplica a un único evento se devuelve como XML. Algunas acciones auditables contienen este tipo de información. Un nivel de pila de TSQL se mostrará en formato XML para las acciones que tienen la pila de TSQL asociada a ellas. El formato XML será: <tsql_stack><frame nest_level = '%u' database_name = '%.*s' schema_name = '%.*s' object_name = '%.*s' /></tsql_stack>Frame nest_level indica el nivel de anidamiento actual del marco. El nombre del módulo se representa en tres partes (database_name, schema_name y object_name). El nombre del módulo se analizará para escapar caracteres xml no válidos como '\<', '>', '/', . '_x' Se escaparán como _xHHHH\_. HHHH representa el código UCS-2 hexadecimal de cuatro dígitos para el carácter.Nullable. Devuelve NULL cuando no hay información adicional notificada por el evento. |
nvarchar(4000) | No |
| file_name | Ruta de acceso y nombre del archivo de registro de auditoría del que procede el registro. | varchar(260) | Sí |
| audit_file_offset |
Se aplica a: solo SQL Server Desplazamiento del búfer en el archivo que contiene el registro de auditoría. |
bigint | No |
| user_defined_event_id |
Se aplica a: SQL Server 2012 (11.x) y versiones posteriores, Azure SQL Database e Instancia administrada de SQL Identificador de evento definido por el usuario que se pasa como argumento a sp_audit_writeNULL para los eventos del sistema (valor predeterminado) y distinto de cero para el evento definido por el usuario. Para obtener más información, vea sp_audit_write (Transact-SQL). |
smallint | No |
| user_defined_information |
Se aplica a: SQL Server 2012 (11.x) y versiones posteriores, Azure SQL Database e Instancia administrada de SQL Se usa para registrar cualquier información adicional que el usuario quiera registrar en el registro de auditoría mediante el sp_audit_write procedimiento almacenado. |
nvarchar(4000) | No |
| audit_schema_version | Siempre 1 | int | Sí |
| sequence_group_id |
Se aplica a: solo SQL Server Identificador único |
varbinary(85) | No |
| transaction_id |
Se aplica a: solo SQL Server (a partir de 2016) Identificador único para identificar varios eventos de auditoría en una transacción |
bigint | No |
| client_ip |
Se aplica a: Azure SQL Database + SQL Server (a partir de 2017) Dirección IP de origen de la aplicación cliente |
nvarchar(128) | No |
| application_name |
Se aplica a: Azure SQL Database + SQL Server (a partir de 2017) Nombre de la aplicación cliente que ejecutó la instrucción que provocó el evento de auditoría |
nvarchar(128) | No |
| duration_milliseconds |
Se aplica a: Azure SQL Database e Instancia administrada de SQL Duración de la ejecución de consultas en milisegundos |
bigint | No |
| response_rows |
Se aplica a: Azure SQL Database e Instancia administrada de SQL Número de filas devueltas en el conjunto de resultados. |
bigint | No |
| affected_rows |
Se aplica a: Solo Azure SQL Database Número de filas afectadas por la instrucción ejecutada. |
bigint | No |
| connection_id |
Se aplica a: Azure SQL Database e Instancia administrada de SQL Identificador de la conexión en el servidor |
GUID | No |
| data_sensitivity_information |
Se aplica a: Solo Azure SQL Database Tipos de información y etiquetas de confidencialidad devueltos por la consulta auditada, en función de las columnas clasificadas de la base de datos. Más información sobre la detección y clasificación de datos de Azure SQL Database |
nvarchar(4000) | No |
| host_name | Nombre de host de la conexión de cliente | nvarchar(128) | No |
| session_context | Información de contexto de sesión para la conexión | nvarchar(4000) | No |
| client_tls_version |
Se aplica a: SQL Server 2022 y versiones posteriores Número de versión de TLS usado por la conexión de cliente |
int | No |
| client_tls_version_name |
Se aplica a: SQL Server 2022 y versiones posteriores Nombre de versión de TLS usado por la conexión de cliente |
nvarchar(128) | No |
| database_transaction_id | Identificador de transacción de base de datos | bigint | No |
| ledger_start_sequence_number |
Se aplica a: SQL Server 2022 y versiones posteriores Número de secuencia de inicio del libro de contabilidad para las operaciones del libro de contabilidad |
bigint | No |
| external_policy_permissions_checked | Permisos de directiva externa que se comprobaron durante la operación | nvarchar(4000) | No |
Comentarios
Algunas acciones no rellenan el valor de una columna porque es posible que no se pueda aplicar a la acción.
SQL Server Audit almacena 4000 caracteres de datos para campos de caracteres en un registro de auditoría. Cuando los valores de additional_information y instrucción devueltos de una acción auditable devuelven más de 4000 caracteres, la columna sequence_number se usa para escribir varios registros en el informe de auditoría para una sola acción de auditoría para registrar estos datos. El proceso es el siguiente:
La columna de instrucción se divide en 4000 caracteres.
SQL Server Audit escribe como la primera fila del registro de auditoría con los datos parciales. Los demás campos se duplican en cada fila.
El valor sequence_number se incrementa.
Este proceso se repite hasta que se registran todos los datos.
Puede conectar los datos leyendo las filas secuencialmente mediante el valor de sequence_number y las columnas event_Time, action_id y session_id para identificar la acción.
Contenido relacionado
- CREATE SERVER AUDIT (Transact-SQL) (Crear auditoría de servidor en Transact-SQL)
- ALTER SERVER AUDIT (Transact-SQL)
- ELIMINAR AUDITORÍA DEL SERVIDOR (Transact-SQL)
- CREAR ESPECIFICACIÓN DE AUDITORÍA DEL SERVIDOR (Transact-SQL)
- ALTER SERVER AUDIT SPECIFICATION (Transact-SQL)
- DROP SERVER AUDIT SPECIFICATION (Transact-SQL)
- Crear especificación de auditoría de base de datos (Transact-SQL)
- MODIFICAR LA ESPECIFICACIÓN DE AUDITORÍA DE LA BASE DE DATOS (Transact-SQL)
- ELIMINAR ESPECIFICACIÓN DE AUDITORÍA DE BASE DE DATOS (Transact-SQL)
- ALTERAR AUTORIZACIÓN (Transact-SQL)
- sys.fn_get_audit_file (Transact-SQL)
- sys.server_audits (Transact-SQL)
- sys.server_file_audits (Transact-SQL)
- especificaciones_de_auditoría_del_servidor_sys (Transact-SQL)
- sys.server_audit_specification_details (Transact-SQL)
- sys.especificaciones_de_auditoría_de_base_de_datos (Transact-SQL)
- sys.database_audit_specification_details (Transact-SQL, lenguaje específico de SQL)
- sys.dm_server_audit_status (Transact-SQL)
- sys.dm_audit_actions (Transact-SQL)
- sys.dm_audit_class_type_map (Transact-SQL)