Могу ли я просто остановить репликацию SqlServer? - PullRequest
2 голосов
/ 30 сентября 2010

Я запускаю 12 sql серверных репликаций, 11 из которых имеют 1 подписку, а 1 имеет 2 подписки.

Теперь у меня проблема с очень большим журналом транзакций, который я хочу сжать, но яполучите сообщения о том, что используется журнал транзакций.

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

Теперь единственный способ, который я нашел, - остановитьПубликация отбрасывает все публикации, но это нечто большее, чем я хотел: приостановить публикацию.

Есть ли способ сделать это?

1 Ответ

1 голос
/ 10 января 2011

Приостановка репликации не будет выполнять то, что вы хотите. Когда репликация включена, те записи журнала, которые представляют интерес для репликации (т. Е. Записи для объектов, которые вы настроили для репликации), не будут помечены как повторно используемые до тех пор, пока они не будут распространены. Единственный способ приостановить репликацию состоит в том, чтобы остановить либо средство чтения журнала, либо агент распространения, ни один из которых не передает эти записи журнала распространителю. Чтобы узнать, является ли проблема с репликацией, проверьте столбец log_reuse_wait_desc в sys.databases для вашей базы данных и посмотрите, что он говорит. Если это «репликация», то репликация - это ваша проблема. :) Если да, то насколько далеко позади находится ваш агент чтения журналов?

...