sys.dm_db_log_info (Transact-SQL)sys.dm_db_log_info (Transact-SQL)

ОБЛАСТЬ ПРИМЕНЕНИЯ ЭТОЙ СТАТЬИ:даSQL Server (начиная с 2017)нетБаза данных SQL AzureнетХранилище данных SQL AzureнетParallel Data WarehouseTHIS TOPIC APPLIES TO:yesSQL Server (starting with 2017)noAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

Возвращает виртуальный файл журнала (VLF) сведения журнала транзакций.Returns virtual log file (VLF) information of the transaction log. Обратите внимание, что все файлы журнала транзакций, объединяются в выходной таблице.Note all transaction log files are combined in the table output. Каждая строка в выходных данных представляет VLF в журнале транзакций и предоставляет сведения, относящиеся к этой виртуального файла Журнала в журнале.Each row in the output represents a VLF in the transaction log and provides information relevant to that VLF in the log.

СинтаксисSyntax

sys.dm_db_log_info ( database_id )  

АргументыArguments

database_id | ЗНАЧЕНИЕ NULL | ПО УМОЛЧАНИЮdatabase_id | NULL | DEFAULT
Идентификатор базы данных.Is the ID of the database. database_idint. Допустимыми входными значениями являются идентификатор базы данных, NULL или по умолчанию.database_id is int. Valid inputs are the ID number of a database, NULL, or DEFAULT. Значение по умолчанию — NULL.The default is NULL. Значение NULL по умолчанию значения и эквивалентны в контексте текущей базы данных.NULL and DEFAULT are equivalent values in the context of current database.

Укажите значение NULL для возврата сведений о VLF текущей базы данных.Specify NULL to return VLF information of the current database.

Встроенная функция DB_ID можно указать.The built-in function DB_ID can be specified. При использовании DB_ID без указания имени базы данных, уровень совместимости текущей базы данных должен быть равен 90 или выше.When using DB_ID without specifying a database name, the compatibility level of the current database must be 90 or greater.

Возвращаемая таблицаTable Returned

Имя столбцаColumn name Тип данныхData type DescriptionDescription
database_iddatabase_id intint Идентификатор базы данных.Database ID.
file_idfile_id smallintsmallint Идентификатор файла журнала транзакций.File id of the transaction log.
vlf_begin_offsetvlf_begin_offset bigintbigint Смещение расположения виртуальный файл журнала (VLF) от начала файла журнала транзакций.Offset location of the virtual log file (VLF) from the beginning of the transaction log file.
vlf_size_mbvlf_size_mb floatfloat виртуальный файл журнала (VLF) размер в МБ, округляется до 2 десятичных разряда.virtual log file (VLF) size in MB, rounded to 2 decimal places.
vlf_sequence_numbervlf_sequence_number bigintbigint виртуальный файл журнала (VLF) порядковый номер в созданного заказа.virtual log file (VLF) sequence number in the created order. Используется для уникальной идентификации VLF в файле журнала.Used to uniquely identify VLFs in log file.
vlf_activevlf_active bitbit Указывает, является ли виртуальный файл журнала (VLF) уже используется или не.Indicates whether virtual log file (VLF) is in use or not.
0 — виртуального файла Журнала не используется.0 - VLF is not in use.
1 — VLF активен.1 - VLF is active.
vlf_statusvlf_status intint Состояние виртуальный файл журнала (VLF).Status of the virtual log file (VLF). Возможные значения:Possible values include
0 — неактивные VLF0 - VLF is inactive
1 — VLF инициализирована, но неиспользуемого1 - VLF is initialized but unused
2 - VLF активен.2 - VLF is active.
vlf_parityvlf_parity tinyinttinyint Четность виртуальный файл журнала (VLF). Используется внутренним образом для определения конца журнала в пределах виртуального файла Журнала.Parity of virtual log file (VLF).Used internally to determine the end of log within a VLF.
vlf_first_lsnvlf_first_lsn nvarchar(48)nvarchar(48) Регистрационный номер транзакции в (журнале LSN) первой записи журнала в виртуальный файл журнала (VLF).Log sequence number (LSN) of the first log record in the virtual log file (VLF).
vlf_create_lsnvlf_create_lsn nvarchar(48)nvarchar(48) Регистрационный номер транзакции в (журнале LSN) записи журнала, созданные виртуальный файл журнала (VLF).Log sequence number (LSN) of the log record that created the virtual log file (VLF).

RemarksRemarks

sys.dm_db_log_info Заменяет функцию динамического управления DBCC LOGINFO инструкции.The sys.dm_db_log_info dynamic management function replaces the DBCC LOGINFO statement.

РазрешенияPermissions

Требуется VIEW DATABASE STATE разрешение в базе данных.Requires the VIEW DATABASE STATE permission in the database.

ПримерыExamples

A.A. Определение баз данных в экземпляре SQL Server с большим количеством VLFDeterming databases in a SQL Server instance with high number of VLFs

Следующий запрос определяет базы данных с более чем 100 VLF в файлы журналов, которые могут повлиять на время запуска, восстановления и восстановления базы данных.The following query determines the databases with more than 100 VLFs in the log files, which can affect the database startup, restore, and recovery time.

SELECT [name], COUNT(l.database_id) AS 'vlf_count' 
FROM sys.databases s
CROSS APPLY sys.dm_db_log_info(s.database_id) l
GROUP BY [name]
HAVING COUNT(l.database_id) > 100

Б.B. Определение состояния последней VLF в журнале транзакций до при сжатии файла журналаDeterming the status of last VLF in transaction log before shrinking the log file

Следующий запрос может использоваться для определения состояния последнем виртуальном файле Журнала перед выполнением процедуры SHRINKFILE модуля на журнал транзакций, чтобы определить, если журнал транзакций можно сжать.The following query can be used to determine the status of last VLF before running shrinkfile on transaction log to determine if transaction log can shrink.

USE AdventureWorks2016
GO

SELECT TOP 1 DB_NAME(database_id) AS "Database Name", file_id, vlf_size_mb, vlf_sequence_number, vlf_active, vlf_status
FROM sys.dm_db_log_info(DEFAULT)
ORDER BY vlf_sequence_number DESC

См. также:See Also

Динамические административные представления и функции (Transact-SQL) Dynamic Management Views and Functions (Transact-SQL)
Динамические административные представления ( относящиеся к базе данных 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_stats ( Transact-SQL )sys.dm_db_log_stats (Transact-SQL)