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

Ожидающие транзакции репликации SQL Server

У меня проблема с репликацией транзакций. У меня есть издатель на моем сервере и есть подписчик на другом сервере.

На моем сервере, если я перейду к деталям подписки, я вижу, что есть 1 нераспределенная команда, но если я выполню exec sp_repltrans, результатов нет ... это возможно или у меня есть ошибка? этот сервер недавно вышел из строя, и я не знаю, реплицировала ли репликация данные при сбое сервера.

Я пытаюсь внести некоторые изменения в таблицы, чтобы увидеть, что происходит со счетчиком нераспределенных команд, и он увеличивается с изменением (показать 2 команды), занимает больше времени, чем обычно, в репликации (до того, как реплицируется мгновенно), но, наконец, счетчик возвращается к 1.

Есть ли другой способ получить эту незавершенную транзакцию?

- РЕДАКТИРОВАТЬ 1 -

Спасибо, Брэндон, результат оказался интересным, с помощью sp_browsereplcmds я нашел ожидающую команду.

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

Открывая каждое окно издателя и ища дополнительную информацию, я обнаружил в «агенте чтения очереди» такую ​​ошибку: Агент репликации не регистрировал сообщение о ходе выполнения в течение 10 минут. Это может указывать на то, что агент не отвечает или на высокую активность системы. Убедитесь, что записи реплицируются в место назначения и что соединения с подписчиком, издателем и распространителем все еще активны.

sp_repltrans возвращает транзакции в журнале транзакций публикации, которые помечены для репликации, но не отмечены как распределенные. Обычно процедура sp_repltrans показывает транзакции, которые еще не были перемещены в базу данных распространителя. Это отличается от Нераспределенные команды Вкладка Replication Monitor, которая отображает информацию о командах в базе данных распространителя, которые не были доставлены выбранным подписчикам.

Использовать sp_browsereplcmds найти нераспределенную команду.