Przejdź do głównej zawartości
Pomoc techniczna
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?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×