Ознаки
Збережена процедура sp_replmonitorsubscriptionpendingcmds несумісна з реплікацією однорангової мережі (P2P). Повертає неправильну кількість команд, що очікують. Після застосування цього виправлення sp_replmonitorsubscriptionpendingcmds буде сумісний із реплікацією P2P.
Примітка.Вкладка "Нерозподілені команди" монітора реплікації викликає sp_replmonitorsubscriptionpendingcmds за лаштунками.
Спосіб вирішення
Сукупні відомості про оновлення
Цю проблему вирішено в сукупному пакеті оновлень для SQL Server:
Примітка. Після застосування цього сукупного оновлення, sp_replmonitorsubscriptionpendingcmds все ще може повідомити про неправильну кількість відкладених команд для реплікації P2P, якщо таблиця MSrepl_originators містить застарілі записи.
Якщо таблиця MSrepl_originators містить застарілі записи, виконання sp_replmonitorsubscriptionpendingcmds створить таке попередження в журналі помилок SQL Server:
Увага! Не вдалося отримати версію бази даних підписки "<database_name>". Sp_replmonitorsubscriptionpendingcmds може повідомити про неправильну кількість відкладених команд для реплікації P2P.
Щоб вирішити цю проблему, видаліть застарілі записи з MSrepl_originators або передайте правильне значення "dbversion" бази даних підписки як аргумент subdb_version під час запуску sp_replmonitorsubscriptionpendingcmds.
Поради.: Щоб знайти "dbversion" бази даних підписки, виберіть один із наведених нижче способів.
-
Виконайте такий запит у базі даних розсилки: select dbversion from MSrepl_originators
where publisher_database_id = <Publisher_Database_ID>
and srvname = <Subscriber_Server>
and dbname = <Subscriber_Database>
Примітка . Потрібно замінити відповідні значення на <Publisher_Database_ID> , <Subscriber_Server> та <Subscriber_Database>. -
Виконайте такий запит у базі даних передплати: declare @current_version int , @currentGuid uniqueidentifier
select @currentGuid = recovery_fork_guid
from sys.database_recovery_status#x3
select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)
print @current_version
Кожен новий сукупний пакет оновлень для SQL Server містить усі виправлення та виправлення системи безпеки, які були в попередній збірці. Радимо інсталювати найновішу збірку для своєї версії SQL Server.
Стан
Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".
Посилання
Дізнайтеся про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.