Преминаване към основното съдържание
Поддръжка
Влизане с Microsoft
Влезте или създайте акаунт.
Здравейте,
Изберете друг акаунт.
Имате няколко акаунта
Изберете акаунта, с който искате да влезете.

Симптоми

Съхранената процедура 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
    where database_id = db_id()
    select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)
    print @current_version

Всяка нова кумулативна актуализация за SQL Server съдържа всички горещи поправки и корекции на защитата, които са били в предишната компилация. Препоръчваме ви да инсталирате най-новата компилация за вашата версия на SQL Server:

Статут

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".

Препратки

Научете повече за терминологията , която Microsoft използва за описване на актуализациите на софтуера.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.

Общностите ви помагат да задавате и отговаряте на въпроси, да давате обратна връзка и да получавате информация от експерти с богати знания.

Беше ли полезна тази информация?

Доколко сте доволни от качеството на езика?
Какво е повлияло на вашия потребителски опит?
Като натиснете „Подаване“, вашата обратна връзка ще се използва за подобряване на продуктите и услугите на Microsoft. Вашият ИТ администратор ще може да събира тези данни. Декларация за поверителност.

Благодарим ви за обратната връзка!

×