Sys.dm_db_log_stats (Transact-SQL)sys.dm_db_log_stats (Transact-SQL)

SE APLICA A: síSQL Server síAzure SQL Database noAzure SQL Data Warehouse noAlmacenamiento de datos paralelos APPLIES TO: yesSQL Server yesAzure SQL Database noAzure SQL Data Warehouse noParallel Data Warehouse

Devuelve los atributos de nivel de resumen e información en archivos de registro de transacciones de bases de datos.Returns summary level attributes and information on transaction log files of databases. Utilice esta información para la supervisión y diagnóstico de mantenimiento del registro de transacciones.Use this information for monitoring and diagnostics of transaction log health.

Icono de vínculo de tema Convenciones de sintaxis de Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintaxisSyntax

 sys.dm_db_log_stats ( database_id )

ArgumentosArguments

database_id | NULL | Predeterminadodatabase_id | NULL | DEFAULT

Es el identificador de la base de datos.Is the ID of the database. El valor de database_id es int.database_id is int. Las entradas válidas son el número de Id. de una base de datos, NULL, o DEFAULT.Valid inputs are the ID number of a database, NULL, or DEFAULT. De manera predeterminada, es NULL.The default is NULL. NULL y DEFAULT son valores equivalentes en el contexto de base de datos actual.NULL and DEFAULT are equivalent values in the context of current database.
La función integrada DB_ID se pueden especificar.The built-in function DB_ID can be specified. Cuando se usa DB_ID sin especificar un nombre de base de datos, el nivel de compatibilidad de la base de datos actual debe ser 90 o superior.When using DB_ID without specifying a database name, the compatibility level of the current database must be 90 or greater.

Tablas devueltasTables Returned

Nombre de columnaColumn name Tipo de datosData type DescripciónDescription
database_iddatabase_id intint Id. de base de datosDatabase ID
recovery_modelrecovery_model nvarchar(60)nvarchar(60) Modelo de recuperación de la base de datos.Recovery model of the database. Los valores posibles incluyen:Possible values include:
SIMPLESIMPLE
BULK_LOGGEDBULK_LOGGED
FULLFULL
log_min_lsnlog_min_lsn nvarchar(24)nvarchar(24) Inicio actual (LSN) del número de secuencia de registro en el registro de transacciones.Current start log sequence number (LSN) in the transaction log.
log_end_lsnlog_end_lsn nvarchar(24)nvarchar(24) secuencia número de registro (LSN) de la última entrada de registro en el registro de transacciones.log sequence number (LSN) of the last log record in the transaction log.
current_vlf_sequence_numbercurrent_vlf_sequence_number bigintbigint Actual archivo de registro virtual (VLF) número de secuencia al tiempo de ejecución.Current virtual log file (VLF) sequence number at the time of execution.
current_vlf_size_mbcurrent_vlf_size_mb floatfloat Actual archivo de registro virtual (VLF) tamaño en MB.Current virtual log file (VLF) size in MB.
total_vlf_counttotal_vlf_count bigintbigint Número total de archivos de registro virtuales (VLF) en el registro de transacciones.Total number of virtual log files (VLFs) in the transaction log.
total_log_size_mbtotal_log_size_mb floatfloat Tamaño de registro de transacciones total en MB.Total transaction log size in MB.
active_vlf_countactive_vlf_count bigintbigint Número total de activos archivos de registro virtuales (VLF) en el registro de transacciones.Total number of active virtual log files (VLFs) in the transaction log.
active_log_size_mbactive_log_size_mb floatfloat Tamaño del registro de transacciones activo total en MB.Total active transaction log size in MB.
log_truncation_holdup_reasonlog_truncation_holdup_reason nvarchar(60)nvarchar(60) Motivo de parada de truncamiento de registro.Log truncation holdup reason. El valor es igual que log_reuse_wait_desc columna de sys.databases.The value is same as log_reuse_wait_desc column of sys.databases. (Para obtener explicaciones detalladas de estos valores, consulte el registro de transacciones).(For more detailed explanations of these values, see The Transaction Log).
Los valores posibles incluyen:Possible values include:
NOTHINGNOTHING
CHECKPOINTCHECKPOINT
LOG_BACKUPLOG_BACKUP
ACTIVE_BACKUP_OR_RESTOREACTIVE_BACKUP_OR_RESTORE
ACTIVE_TRANSACTIONACTIVE_TRANSACTION
DATABASE_MIRRORINGDATABASE_MIRRORING
ReplicaciónREPLICATION
DATABASE_SNAPSHOT_CREATIONDATABASE_SNAPSHOT_CREATION
LOG_SCANLOG_SCAN
AVAILABILITY_REPLICAAVAILABILITY_REPLICA
OLDEST_PAGEOLDEST_PAGE
XTP_CHECKPOINTXTP_CHECKPOINT
OTRA TRANSITORIAOTHER TRANSIENT
log_backup_timelog_backup_time datetimedatetime Última transacción registro hora copia de seguridad.Last transaction log backup time.
log_backup_lsnlog_backup_lsn nvarchar(24)nvarchar(24) Última copia de seguridad de registro de transacciones (LSN) del número de secuencia de registro.Last transaction log backup log sequence number (LSN).
log_since_last_log_backup_mblog_since_last_log_backup_mb floatfloat Tamaño del registro en MB desde la última copia de seguridad de registro de transacciones (LSN) del número de secuencia de registro.Log size in MB since last transaction log backup log sequence number (LSN).
log_checkpoint_lsnlog_checkpoint_lsn nvarchar(24)nvarchar(24) Último punto de comprobación (LSN) del número de secuencia de registro.Last checkpoint log sequence number (LSN).
log_since_last_checkpoint_mblog_since_last_checkpoint_mb floatfloat Tamaño del registro en MB desde el último punto de comprobación (LSN) del número de secuencia de registro.Log size in MB since last checkpoint log sequence number (LSN).
log_recovery_lsnlog_recovery_lsn nvarchar(24)nvarchar(24) Recuperación (LSN) del número de secuencia de registro de la base de datos.Recovery log sequence number (LSN) of the database. Si log_recovery_lsn se produce antes que el punto de comprobación LSN, log_recovery_lsn es la transacción activa más antigua LSN, de lo contrario, log_recovery_lsn es el LSN de punto de control.If log_recovery_lsn occurs before the checkpoint LSN, log_recovery_lsn is the oldest active transaction LSN, otherwise log_recovery_lsn is the checkpoint LSN.
log_recovery_size_mblog_recovery_size_mb floatfloat Tamaño del registro en MB desde la recuperación del registro (LSN) del número de secuencia de registro.Log size in MB since log recovery log sequence number (LSN).
recovery_vlf_countrecovery_vlf_count bigintbigint Número total de archivos de registro virtuales (VLF) recuperarse si se produjo el reinicio del servidor o de conmutación por error.Total number of virtual log files (VLFs) to be recovered, if there was failover or server restart.

ComentariosRemarks

Cuando se ejecuta sys.dm_db_log_stats contra una base de datos que participa en un grupo de disponibilidad como réplica secundaria, se devolverá sólo un subconjunto de los campos que se ha descrito anteriormente.When running sys.dm_db_log_stats against a database that is participating in an Availability Group as a secondary replica, only a subset of the fields described above will be returned. Actualmente, solo database_id, recovery_model, y log_backup_time se devolverá cuando se ejecuta en una base de datos secundaria.Currently, only database_id, recovery_model, and log_backup_time will be returned when run against a secondary database.

PermisosPermissions

Requiere el VIEW DATABASE STATE permiso en la base de datos.Requires the VIEW DATABASE STATE permission in the database.

EjemplosExamples

A.A. Determinación de las bases de datos en un SQL ServerSQL Server instancia con un gran número de VLFDetermining databases in a SQL ServerSQL Server instance with high number of VLFs

La consulta siguiente devuelve las bases de datos con más de 100 VLF en los archivos de registro.The following query returns the databases with more than 100 VLFs in the log files. Gran número de VLF puede afectar a la hora de inicio, restauración y recuperación de base de datos.Large numbers of VLFs can affect the database startup, restore, and recovery time.

SELECT name AS 'Database Name', total_vlf_count AS 'VLF count' 
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id) 
WHERE total_vlf_count  > 100;

b.B. Determinación de las bases de datos en un SQL ServerSQL Server instancia con copias de seguridad del registro de transacciones anteriores a 4 horasDetermining databases in a SQL ServerSQL Server instance with transaction log backups older than 4 hours

La siguiente consulta determina las últimas veces de copia de seguridad del registro para las bases de datos en la instancia.The following query determines the last log backup times for the databases in the instance.

SELECT name AS 'Database Name', log_backup_time AS 'last log backup time' 
FROM sys.databases AS s
CROSS APPLY sys.dm_db_log_stats(s.database_id); 

Vea tambiénSee Also

Funciones y vistas de administración dinámica (Transact-SQL) Dynamic Management Views and Functions (Transact-SQL)
Vistas de administración dinámica relacionadas con la base de datos (Transact-SQL) Database Related Dynamic Management Views (Transact-SQL)
sys.dm_db_log_space_usage (Transact-SQL) sys.dm_db_log_space_usage (Transact-SQL)
sys.dm_db_log_info (Transact-SQL)sys.dm_db_log_info (Transact-SQL)