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

Откуда:
Сообщений: 284
Понимаю, что тема стара как белый свет, но возникла проблема , которую не могу решить, не взирая на кучу форумных тем.
Исходная система:
- Две базы в зеркале
- Репликация
- Регулярно, автоматически выполняется Backup
Все работало нормально. После Backup-ов лог сбрасывался. Но, в один прекрасный момент произошел сильный рост журнала, возникло ограничение по размеру дискового пространства и журнал "заклинило".

Мы развалили зеркало, перевели базу на Principal в модель Simple, но журнал не "сбрасывается".
Сделал Backup базы - журнал не "сбрасывается" ни в Full, ни в Simple.
Восстановил базу в тестовую базу, со всем этим log-"прицепом", без восстановления публикаций. При переключении в Simple журнал освободился (не сразу, спустя какое-то время!)

Запрос:
select recovery_model, log_reuse_wait_desc from sys.databases where name = 'база'

показывает:
recovery_model	log_reuse_wait_desc
3                      REPLICATION

Я так понимаю, что заклино какие-то репликационные транзакции.
Что делать пока не представляю. База данных постоянно находится в эксплуатации (в репликации), поэтому вывод ее из работы, для пересборки репликации - слишком тяжелое решение.

Пробовал отрывать "жестко" отрывать log-файлы при восстановлении базы, база не хочет восстанавливаться.

Прошу совета!
4 май 16, 09:05    [19132046]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
Glory
Member

Откуда:
Сообщений: 104760
ЧитательX
Я так понимаю, что заклино какие-то репликационные транзакции.
Что делать пока не представляю. База данных постоянно находится в эксплуатации (в репликации), поэтому вывод ее из работы, для пересборки репликации - слишком тяжелое решение.

Наверное надо узнать состояние репликации.
У того, кто эту репликацию создал, если это не вы.
4 май 16, 09:08    [19132050]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
ЧитательX
Member

Откуда:
Сообщений: 284
Репликацию создал я сам.
Имеется
- 5 Merge публикаций
- 2 SnapShot публикации
Причем, SnapShot публикации запускаются в ручном режиме и достаточно давно этого не происходило (данные редко не меняются),
а в Merge-блоке тоже две публикации запускаются ручками (по то же причине).
Оставшиеся три Merge-публикации постоянно работают, и на первый взгляд вполне нормально (данные бегают туда сюда).
4 май 16, 10:35    [19132374]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
Glory
Member

Откуда:
Сообщений: 104760
ЧитательX
Причем, SnapShot публикации запускаются в ручном режиме и достаточно давно этого не происходило (данные редко не меняются),
а в Merge-блоке тоже две публикации запускаются ручками (по то же причине).
Оставшиеся три Merge-публикации постоянно работают, и на первый взгляд вполне нормально (данные бегают туда сюда).

Ну так разберитесь, данные какой из ваших репликаций не доставлены.
4 май 16, 10:38    [19132384]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
invm
Member

Откуда: Москва
Сообщений: 9404
https://www.sql.ru/forum/1041928/rastyot-log-u-baz-s-shapshot-replikaciey
4 май 16, 10:54    [19132432]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
ЧитательX
Member

Откуда:
Сообщений: 284
Попробую некоторые шаги из указанной ссылки.
Однако, чувствую, что времени на глубокое изучение уже не остается. Добавил еще один файл в журнал, но он тоже растет. Скоро он упрется в ограничение. Видимо придется убивать публикации, чтобы сбросить содержимое журнала.
Я не очень хорошо владею методами манипуляции на уровне журнала, поэтому если нет четких инструкций, то в такой форс-мажорной ситуации видимо не удастся "гладко" решить проблему. В более спокойной ситуации конечно нужно эти вопросы выяснять.
Спасибо за советы.
4 май 16, 15:31    [19134048]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
invm
Member

Откуда: Москва
Сообщений: 9404
Выполните sp_replrestart в контексте вашей БД.
4 май 16, 15:54    [19134185]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
Saykos
Member

Откуда: SPB
Сообщений: 17
ЧитательX, добрый день.
Из практики, думаю, поможет sp_repldone (принудительное завершение всех реплик):
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1
4 май 16, 16:12    [19134283]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
Alexander Us
Member

Откуда:
Сообщений: 1133
Saykos,

У меня похожая проблема на сеседней ветке.
Там вдимо было когда то репликация, которую удалили, базу подняли на новом севвере и оказалось, что лог растёт.

после подсказки GLORY я сделал так:

exec sp_removedbreplication 'myDB'

--выделить, обе команды, выполнить одним батчем 
backup log eVB to disk='L:\LOG-Shipping\myDB\myDB_20160504134100.trn'
GO
USE [myDB]
GO
DBCC SHRINKFILE (N'myDB_log' , 0, TRUNCATEONLY)
GO


если помогло, напишите
4 май 16, 16:50    [19134528]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
invm
Member

Откуда: Москва
Сообщений: 9404
Alexander Us,

У ТС'а настроено 7 публикаций. Как думаете, последовав вашему совету, он потом вам спасибо скажет?
4 май 16, 17:35    [19134781]     Ответить | Цитировать Сообщить модератору
 Re: Не освобождается журнал транзакций  [new]
ЧитательX
Member

Откуда:
Сообщений: 284
Да! Команда:
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time = 0, @reset = 1 

решила проблему.
Спасибо всем за участие. Ваши советы были очень полезны.
5 май 16, 06:30    [19136426]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить