Файл журнала базы данных распространителя SQL Server неуправляемо растет после полного резервного копирования базы данных

8

У нас есть среда репликации слиянием, которая поддерживает 8 подписчиков. Это работает нормально. Наша дистрибутивная база данных настроена в режиме простого восстановления. У нас есть план обслуживания, который будет резервировать всю базу данных каждый день в 00:30. По завершении этого процесса файл журнала распространения увеличивается в течение следующих 30 минут и поглощает все оставшееся пространство на жестком диске (около 90 ГБ).

Затем происходит следующее: база данных распространения отображается как «Ожидание восстановления», и мы ничего не можем сделать, пока не перезагрузим компьютер. После этого я могу сжать файл журнала до 2 МБ.

Я понятия не имею, почему это происходит. Файл журнала работает около 10 МБ в течение дня. Размер базы данных составляет 15 ГБ.

Koenyn
источник
2
Что еще делает план обслуживания? А что это sys.databases.log_reuse_wait_descзначение в течение этих 30 минут , пока журнал растет?
Ремус Русану
Что переводит базу данных в состояние ожидания восстановления? Этого не должно случиться с полной резервной копией.
mrdenny
1
Итак, похоже, что при выполнении этого задания «Очистка истории агента: распространение» файл журнала увеличивается ... Возможно, резервное копирование происходит, когда это задание еще выполняется. Я не уверен, если это вызовет проблему. Я установил очистку истории на час раньше. Посмотрим, что
получится
Любое восстановление индекса?
Кэрол Бейкер Вест

Ответы:

2

Похоже, что с вашей репликацией происходит большое количество транзакций. Если это так, то задание «очистить: распространение», вероятно, должно выполняться гораздо чаще. Мне кажется, что это происходит раз в день. На моем сервере репликации с высокой транзакцией он запускается каждые 15 минут, чтобы сохранить только последние 36 часов. Таким образом, он шагает сам по себе и не застывает.

Вот статья, которая может помочь - http://www.sqlservergeeks.com/blogs/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database

Кейт Донохью
источник
1
да, мы запускаем его раз в день. Теперь я ограничил размер файла журнала до 15 ГБ. Это, похоже, очень помогло. Теперь нет необходимости его усекать, и наш сервер не падает. Каковы риски при выполнении работы каждые 15 минут?
Кёнин
Очистка - это простой хранимый вызов процесса. При запуске его чаще размер партии меньше. Если ваше удержание установлено правильно, я не обнаружил никакого риска. По моему опыту, это замедляет репликацию. dbo.sp_MSdistribution_cleanup
Кейт Донохью,
0

Создайте новый снимок репликации и снова запустите агент снимков.

user199836
источник
2
Добро пожаловать в Администраторы базы данных . Пожалуйста, проверьте Как мне написать хороший ответ? лучше вносить свой вклад с вашими знаниями.
Роналду