powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / все VLF заняты, но лог пустой
17 сообщений из 17, страница 1 из 1
все VLF заняты, но лог пустой
    #40100460
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всем привет!

Лог большой и пустой, но все VLF заняты - сталкивался ли кто-нибудь с такой ситуацией?


База в AG, primary replica, synchronized

Microsoft SQL Server 2019 (RTM-GDR) (KB4517790) - 15.0.2070.41 (X64) Oct 28 2019 19:56:59 Copyright (C) 2019 Microsoft Corporation Enterprise Edition: Core-based Licensing (64-bit) on Windows Server 2016 Standard 10.0 <X64> (Build 14393: )


запрос
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
select 
	vlf_status
	,count(1) [count]
from  sys.dm_db_log_info ( db_id('CN_TM04') )   
group by vlf_status

select
	getdate() [dt]
	,db_name(database_id) [DB]
	,recovery_model
	,total_log_size_mb
	,log_backup_time
	,active_log_size_mb
	,log_since_last_log_backup_mb
	,log_state
	,log_truncation_holdup_reason
from sys.dm_db_log_stats ( db_id('CN_TM04'))

select file_id
	,size/128 [SizeMB]
	,FILEPROPERTY(name,'SpaceUsed')/128 [UsedMB]
from sys.database_files 
where type_desc='LOG'

...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100498
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

ну так он же вроде пишет что бэкап журнала выполнялся относительно давно?
или в чем собственно суть вопроса? почему все VLF активны?
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100507
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

да, удивляет статус 2 у 1887 журналов, при заполненности лога на 270МБ из 560ГБ
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100510
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

а что покажет более подробно?:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT
      COUNT_BIG(l.[database_id]) AS [VLF_CNT],
      SUM([vlf_size_mb]) AS [VLF_SIZE_MB],
      SUM(CAST([vlf_active] AS INT)) AS [VLF_ACTIVE],
      SUM([vlf_active]*[vlf_size_mb]) AS [VLF_ACTIVE_SIZE_MB],
      COUNT_BIG(l.[database_id])-SUM(CAST([vlf_active] AS INT)) AS [INACTIVE_VLF],
      SUM([vlf_size_mb])-SUM([vlf_active]*[vlf_size_mb]) AS [INACTIVE_VLS_SIZE_MB]
FROM sys.databases s
          CROSS APPLY sys.dm_db_log_info(s.database_id) l
WHERE s.[name] = 'CN_TM04'
GROUP BY [name], s.[database_id]
ORDER BY 1 DESC;
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100512
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff,

VLF_CNT VLF_SIZE_MB VLF_ACTIVE VLF_ACTIVE_SIZE_MB INACTIVE_VLF INACTIVE_VLS_SIZE_MB1890 559919.97 1887 558383.97 3 1536

15 минут назад прошел лог-бекап (на 214МБ) и ситуация по VLF не поменялась
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100515
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

хмм, такое впечатление что есть длительные транзакции, это единственная причина почему активная часть такая большая.

а что показывает dbcc opentran?
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100516
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
komrad,

хмм, такое впечатление что есть длительные транзакции, это единственная причина почему активная часть такая большая.

а что показывает dbcc opentran?


CN_TM04
No active open transactions.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100517
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

а с самой AG все норм? никаких подозрительныхстатусов не видно?
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100518
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
komrad,

а с самой AG все норм? никаких подозрительныхстатусов не видно?

всё зеленое, synchronized, no data loss и т.п.
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100521
felix_ff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

тогда действительно странное поведение.

можно еще конечно глянуть логи самого сервиса и наличие чего нибудь подозрительного в журнале видны.
но само поведение что после бэкапа лога статус остается по LOG_BACKUP выглядит загадочно.
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100523
4es
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
4es
Гость
komrad,

А на репликах этой БД как с открытыми транзакциями?
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100525
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
4es
komrad,

А на репликах этой БД как с открытыми транзакциями?


там тоже всё тихо - нет открытых, все VLF со статусом 2
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40100526
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
felix_ff
komrad,

тогда действительно странное поведение.

можно еще конечно глянуть логи самого сервиса и наличие чего нибудь подозрительного в журнале видны.
но само поведение что после бэкапа лога статус остается по LOG_BACKUP выглядит загадочно.


тут статью подкинули
https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/lazy-log-truncation-clearing-of-sql-transaction-log-vlf-status/ba-p/370499

похоже, что оно, но вопросы остаются, т.к. остальные базы из AG имеют совершенно разное соотношение свободных VLF к занятым
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40130268
Slava_Nik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мимо шел... искал другое
Какова причина иметь SQL Server без единого CU на сиквел которые более 2 х лет?

вчера, кстати, CU15 вышел, много интересных исправлений, которые на надежность влияют.
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40130281
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Slava_Nik

Какова причина иметь SQL Server без единого CU на сиквел которые более 2 х лет?

как обычно - как поставили, так и работает
+ отсутствие процесса тестирования новых CU и регрессного тестирования конторского ПО, отсутствие процесса вывода в прод
более того, прод, тест и дев SQL обновляются сами время от времени, когда инфраструктура решает пропатчить ОС

не стоит говорить, что так не должно быть
есть так как есть и руководство это устраивает
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40130302
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
komrad,

будут заняты, пока не обработаны какими либо фоновыми процессами, например, CDC, репликация она же, передача данных в AG, резервное копирование и так далее. Соответственно, лог должен расти, т.к. VLF не могут быть переиспользованы.
...
Рейтинг: 0 / 0
все VLF заняты, но лог пустой
    #40130313
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
komrad,

будут заняты, пока не обработаны какими либо фоновыми процессами, например, CDC, репликация она же, передача данных в AG, резервное копирование и так далее. Соответственно, лог должен расти, т.к. VLF не могут быть переиспользованы.

вопрос был не в росте лога, а в его занятости и пустоте
если почитать тред внимательно самого начала, то там показано, что лог пустой (все данные переданы/забекаплены/итп), но VLF заняты
оказалось, что это легитимная ситуация - Lazy Log Truncation
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / все VLF заняты, но лог пустой
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]