Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Symptomy

Procedura składowana sp_replmonitorsubscriptionpendingcmds nie jest zgodna z replikacją równorzędną (P2P). Zwraca nieprawidłową liczbę oczekujących poleceń. Po zastosowaniu tej poprawki sp_replmonitorsubscriptionpendingcmds będą zgodne z replikacją P2P.

UwagaKarta  "Nierozłączone polecenia" monitora replikacji wywołuje sp_replmonitorsubscriptionpendingcmds w tle.

Rozwiązanie

Informacje o aktualizacji zbiorczej

Ten problem został rozwiązany w następujących aktualizacjach zbiorczych dla SQL Server:

Uwaga Po zastosowaniu tej aktualizacji zbiorczej sp_replmonitorsubscriptionpendingcmds może nadal zgłaszać niepoprawną liczbę oczekujących poleceń replikacji P2P, jeśli tabela MSrepl_originators zawiera nieaktualne wpisy.

Jeśli tabela MSrepl_originators zawiera nieaktualne wpisy, uruchomienie sp_replmonitorsubscriptionpendingcmds spowoduje wygenerowanie następującego komunikatu ostrzegawczego w dzienniku błędów SQL Server:

Ostrzeżenie: Nie można uzyskać wersji bazy danych dla bazy danych subskrypcji " <database_name>". Sp_replmonitorsubscriptionpendingcmdsmoże zgłaszać nieprawidłową liczbę oczekujących poleceń replikacji P2P.

Aby rozwiązać ten problem, usuń nieaktualne wpisy z MSrepl_originators lub przekaż poprawną "dbversion" bazy danych subskrypcji jako argument subdb_version podczas uruchamiania sp_replmonitorsubscriptionpendingcmds.

Porady: Aby znaleźć "dbversion" bazy danych subskrypcji, możesz wybrać jedną z następujących metod:

  • Uruchom następujące zapytanie w bazie danych dystrybucji: select dbversion from MSrepl_originators
    where publisher_database_id = <Publisher_Database_ID>
    and srvname = <Subscriber_Server>
    and dbname = <Subscriber_Database>
    Uwaga Należy zastąpić odpowiednie wartości <Publisher_Database_ID>, <Subscriber_Server> i <Subscriber_Database>.

  • Uruchom następujące zapytanie w bazie danych subskrypcji: 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

Każda nowa aktualizacja zbiorcza dla SQL Server zawiera wszystkie poprawki i poprawki zabezpieczeń, które były w poprzedniej kompilacji. Zalecamy zainstalowanie najnowszej kompilacji dla twojej wersji SQL Server:

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Informacje

Dowiedz się więcej o terminologii używanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?

Dziękujemy za opinię!

×