Застосовується до
SQL Server 2019 on Windows SQL Server 2022 on Linux (all editions) SQL Server 2022 on Windows (all editions)

Ознаки

Збережена процедура 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_originatorswhere 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 uniqueidentifierselect @currentGuid = recovery_fork_guidfrom 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, перелічених у розділі "Стосується".

Посилання

Дізнайтеся про термінологію , яку корпорація Майкрософт використовує для опису оновлень програмного забезпечення.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.