Транзакционная репликация - нераспределенные команды
У нас проблема с репликацией транзакций. Проблема в том, что у меня несоответствие количества строк между издателем и подпиской. У нас есть транзакционная репликация в SQL2012 Enterprise Edition SP3
- Публикация - Автономный сервер
- Подписка - сервер AlwaysOn (Push)
- Распространение - 3-й сервер Автономный
В комбинации "Издатель / подписчик" есть несколько публикаций, которые работают нормально, кроме 1. В проблемной публикации есть одна таблица. В таблице есть столбец с типом данных XML, размер - 260 ГБ, 5,5 миллионов строк.
Данные не реплицируются на подписчика; Нераспределенные команды показывают 919382 и подсчет. Я думаю, что проблема, вероятно, в сервере распространения.
Процесс repl попытаться выполнить sys.sp_MSget_repl_commands
;1 и ждать PREEMPTIVE_OS_WAITFORSINGLEOBJEC
, Я обнаружил, что с помощью sp_whoisactive
,
Мы получаем сообщение об ошибке в распределительной работе:
Возникающие события, которые происходят, когда поток чтения агента ожидает дольше, чем время агента -message. (По умолчанию время составляет 60 секунд.) Если вы заметили события State 2, которые записаны для агента, это означает, что агенту требуется много времени для записи изменений в место назначения.
Кроме того, нет никаких блокировок базы данных. Посоветуйте, пожалуйста, как решить проблему. С уважением.
1 ответ
Вы пытались включить ведение журнала вывода на агенте распространения? Это должно подробно рассказать вам, где агент задержан.
Как включить агенты репликации для регистрации выходных файлов в SQL Server