Назад | Перейти на главную страницу

Репликация транзакций SQL Server 2008R2 Остановка и перезапуск, но продолжение резервного копирования журналов

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

Освобождает ли резервная копия журнала журнал для повторного использования или он остается нетронутым для задачи чтения журнала, чтобы выполнить репликацию для копирования транзакций в базу данных распространителя? Все это предполагает, что место для журнала доступно для роста журнала. Я думаю, что все, что остается в журнале транзакций, отмеченное для репликации, но не распространяемое, не будет перезаписано, но я хотел проверить это.

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

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

С момента остановки агента чтения журнала вы, скорее всего, заметите некоторый рост журнала транзакций, при этом log_reuse_wait_desc будет REPLICATION.

Например:

SELECT name, log_reuse_wait_desc FROM sys.databases

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