Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Пассивная часть журнала.  [new]
Сергей08
Member

Откуда:
Сообщений: 231
Добрый день/вечер
для версии 2008 и выше как бы узнать процент пассивной части журнала. (т.е. то что будет обрезано логом)
Как то сложновато у меня получается.
Спасибо.
14 фев 20, 18:38    [22080290]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36639
Журналы, которые обрезаются логом? Это что-то новое.
14 фев 20, 18:39    [22080295]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Сергей08
Member

Откуда:
Сообщений: 231
сам в шоке. :) Имел ввиду обрезается бакапом лога.
14 фев 20, 18:55    [22080312]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36639
sys.dm_db_log_space_usage.log_space_in_bytes_since_last_backup - размер активных журналов?

В целом, странная задача.

З.Ы. Вот тут еще много интересного есть: sys.dm_db_log_stats

Сообщение было отредактировано: 14 фев 20, 19:07
14 фев 20, 19:07    [22080324]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Сергей08
Member

Откуда:
Сообщений: 231
Спасибо за ответ
1. sys.dm_db_log_stats
SQL Server 2016 SP 2 and later. там действительно есть активная часть и всё остальное пассивная , я так понимаю. Но надо бы с версии пораньше.

2. log_space_in_bytes_since_last_backup -
с версии 2014.
log_space_in_bytes_since_last_backup - размер активных ТОЛЬКО ЛИ журналов?

3.В целом, странная задача?
К примеру 50 % лога занято. Кем?
Если освобождается бакапом то письмо DBA - проверить \ запустить бакап\выключить ошибочно включенный Full.
Если держит транзакция то на хост и идти не надо. Письмо владельцу приложения, для начала.
Или обоим?
14 фев 20, 20:12    [22080358]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5127
Сергей08
Но надо бы с версии пораньше.

dbcc sqlperf(logspace)
14 фев 20, 23:46    [22080407]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36639
Сергей08
3.В целом, странная задача?
К примеру 50 % лога занято. Кем?
Если освобождается бакапом то письмо DBA - проверить \ запустить бакап\выключить ошибочно включенный Full.
Если держит транзакция то на хост и идти не надо. Письмо владельцу приложения, для начала.
Или обоим?
По мне, так все равно странная задача.

Во-первых, во избежание потерь данных, бэкап лога должен быть довольно частой операцией, ну точно не реже раза в час.
Во-вторых, во избежание вакханалии, происходящей при автоприращении лога (забивка нулями, куча vlf и т.п.), лог должен быть нарезан заранее с большим избытком. Хотя бы на неделю обычной работы даже при условии, что бэкапы, мирроринги и олвейзоны отвалятся.
В-третьих, ошибочно включенный full гораздо проще палить без этих приседаний.

Поэтому я и спрашиваю, зачем такая странная задача. Съеденный за час полунедельный запас? Уже палево. Да и такое обычно сложно не заметить по другим метрикам. А длинные транзакции надо мониторить отдельно, даже читающая на rcsi может добавить массу проблем.

Сообщение было отредактировано: 15 фев 20, 03:07
15 фев 20, 02:39    [22080431]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Сергей08
Member

Откуда:
Сообщений: 231
И снова здравствуйте.
Не стану увержать, что прям никогда не занимаюсь странными вещами.
Много лет назад перебрался из MS SQL на Sуbase и был приятно удивлён гораздо меньшим 'черным ящиком' внутри Sybase
чем в MS SQL. Cейчас переползаю обратно и понимаю , что с учетом современных тенденций чёрный ящик MS SQL стал только больше :)
Надо привыкать не копать глубже чем надо, но привычка великая сила :)
В Sybase : loginfo(db_id(), 'can_free_using_dump_tran'). Откажитесь от такой функции в MS SQL? Зачем то ж Sybase напрягся ... А им есть что нагонять.
15 фев 20, 12:31    [22080475]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7332
Сергей08,

на практике это не требуется. Чтобы узнать причину, по которой журнал не усекается, можно посмотреть, например,
select db_name(db.database_id) [name], db.log_reuse_wait_desc from sys.databases db
15 фев 20, 15:35    [22080506]     Ответить | Цитировать Сообщить модератору
 Re: Пассивная часть журнала.  [new]
Сергей08
Member

Откуда:
Сообщений: 231
Владислав Колосов,
Насколько понял log_reuse_wait_desc имеет значение когда лог полностью заполнен.
На этот момент уже поздно интересоваться , что там в логе.
15 фев 20, 18:03    [22080542]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить