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

Откуда: большая деревня
Сообщений: 266
Понимаю, что подобных тем было множество, но всё же...

Microsoft SQL Server 2014 - 12.0.2254.0 (X64) 
	Jul 25 2014 18:52:51 
	Copyright (c) Microsoft Corporation
	Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.2 <X64> (Build 9200: )


Только развернули из бэкапа базу со старого сервера (sql 2005). Пользователи с базой не работают. Лог базы за месяц вырос до 500ГБ, забив всё доступное место.

DBCC OPENTRAN говорит, что открытых транзакций нет
Посмотрел sys.databases и сравнил данные с другими базами на сервере. На проблемной базе is_auto_srink_on=1 (остальные базы 0), log_reuse_wait_desc='LOG_BACKUP'

Может ли сжатие базы влиять на рост лога транзакций? Что ещё можно посмотреть в такой ситуации?
27 окт 14, 10:03    [16762361]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Glory
Member

Откуда:
Сообщений: 104751
virtuOS
log_reuse_wait_desc='LOG_BACKUP'

Вы бэкап журнала делаете ?

virtuOS
Что ещё можно посмотреть в такой ситуации?

Кто выбирал модель восстаноления базы ? Почему он выбрал full recovery model ?

Сообщение было отредактировано: 27 окт 14, 11:34
27 окт 14, 10:25    [16762439]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 266
Бэкап ни разу не делался. Причина в том, что сервер новый, пользователи на нем не работают (пока идет настройка), соответственно и логу расти как бы причин нет. При разворачивании бызы из бекапа лог занимает порядка 10ГБ, и вот вырос до 500ГБ.

Почему он выбрал full recovery model ?

Привычка все базы ставить в full recovery. Можно и simple поставить. Эта база содержит архивные данные, чтение которых требуется крайне редко, а запись вообще не ведется.
27 окт 14, 10:36    [16762477]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Glory
Member

Откуда:
Сообщений: 104751
virtuOS
При разворачивании бызы из бекапа лог занимает порядка 10ГБ, и вот вырос до 500ГБ.

Какие тогда скрытые причины вы ищите, если "Бэкап ни разу не делался" ?

virtuOS
Привычка все базы ставить в full recovery. Можно и simple поставить. Эта база содержит архивные данные, чтение которых требуется крайне редко, а запись вообще не ведется.

Ага, а журнал наполняется святым духом.
27 окт 14, 10:39    [16762495]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Bone serpent
Member

Откуда:
Сообщений: 168
В базе, наверное, работают роботы. И, даже если пользователи ничего в базе не меняют, это не означает, что при входе пользователя в базу не происходит какая-то запись в таблицы.
27 окт 14, 10:51    [16762522]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8807
угу, база обзавелась AI и выполняет журналируемые операции таинственной силой.
27 окт 14, 11:04    [16762569]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
o-o
Guest
virtuOS
Эта база содержит архивные данные, чтение которых требуется крайне редко, а запись вообще не ведется.

сделайте базу read-only.
заодно узнаете, кто в нее пишет. сами прибегут
27 окт 14, 12:26    [16762989]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
mr_guest
Guest
virtuOS
Что ещё можно посмотреть в такой ситуации?


MSDN: http://msdn.microsoft.com/ru-ru/library/ms190925.aspx
27 окт 14, 13:19    [16763213]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Bone serpent
Member

Откуда:
Сообщений: 168
Владислав Колосов
угу, база обзавелась AI и выполняет журналируемые операции таинственной силой.

Ага. Например, какой-то job делает регулярный пересчет статистики и дефрагментацию индексов. Или, если база данных 1С8, то в 1Сном сервере приложений хватает своих регламентных процедур, которые, с большой вероятностью, не отключены.
27 окт 14, 13:31    [16763279]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 266
Какие все шутники.

Сделал бэкап, ужал лог, перевел в simple и обратно в full, запустил профайлер. Посмотрю, что вызывает рост лога. Пока что после усечения прошло два часа и лог ни на байт не вырос.
27 окт 14, 14:17    [16763548]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Bone serpent
Member

Откуда:
Сообщений: 168
virtuOS, Смотри, какие job работают. Какая-нибудь еженедельная оптимизация базы (Rebuild Index Task + Reorganize Index Task + Update Statistic Task) может вызывать рост журнала транзакций на размер, сравнимый с размером базы.
27 окт 14, 15:13    [16763913]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Bone serpent
virtuOS, Смотри, какие job работают. Какая-нибудь еженедельная оптимизация базы (Rebuild Index Task + Reorganize Index Task + Update Statistic Task) может вызывать рост журнала транзакций на размер, сравнимый с размером базы.
Update Statistic на лог уж точно не влияет, а вот все остальное очень может.
28 окт 14, 00:16    [16765698]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
virtuOS
Member

Откуда: большая деревня
Сообщений: 266
Кстати, есть какой-нибудь extended events для мониторинга размера базы данных? Скажем, срабатывает при достижении определенного значения?
28 окт 14, 09:20    [16766119]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
stavgreengo
Member

Откуда:
Сообщений: 710
virtuOS
Какие все шутники.

Сделал бэкап, ужал лог, перевел в simple и обратно в full, запустил профайлер. Посмотрю, что вызывает рост лога. Пока что после усечения прошло два часа и лог ни на байт не вырос.

так он и не выростит пока full бэкап БД не сделаешь.
28 окт 14, 09:26    [16766145]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
Bone serpent
Member

Откуда:
Сообщений: 168
virtuOS
Кстати, есть какой-нибудь extended events для мониторинга размера базы данных? Скажем, срабатывает при достижении определенного значения?

Если не ошибаюсь, в WinServer2003, к примеру, открываешь Пуск/Администрирование/Производительность. В открывшемся окне идёшь в Корень консоли/Журналы и оповещения производительности/Оповещения. Создаёшь новое оповещение. Добавляешь новый счетчик "Data Files size" к объекту "MSSQL$instance:Databases". И настраиваешь по вкусу.
В более свежих вин-серверах, признаться, не знаю, где искать эти оповещения. Там как-то всё запутали.
28 окт 14, 14:50    [16767896]     Ответить | Цитировать Сообщить модератору
 Re: Рост лога транзакций  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4893
virtuOS
При разворачивании бызы из бекапа лог занимает порядка 10ГБ, и вот вырос до 500ГБ.


Если он вырос, то значит на нём выполнялись транзакции. Одна из вещей, которую вы могли сделать -- накатить сервис паки или повысить уровень совместимости (версию SQL на этой БД) при этой выполняются скрипты апгрейда и вот он ваш рост лога.

Если он вырос, то обрежьте лог или сделайте его бекап (хотя бы фиктивный) или и то и другое.
28 окт 14, 15:07    [16767979]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить