Mit Microsoft anmelden
Melden Sie sich an, oder erstellen Sie ein Konto.
Hallo,
Wählen Sie ein anderes Konto aus.
Sie haben mehrere Konten.
Wählen Sie das Konto aus, mit dem Sie sich anmelden möchten.

Problembeschreibung

Die sp_replmonitorsubscriptionpendingcmds gespeicherte Prozedur ist nicht mit der Peer-to-Peer-Replikation (P2P) kompatibel. Es gibt die falsche Anzahl ausstehender Befehle zurück. Nachdem Sie diesen Fix angewendet haben, ist sp_replmonitorsubscriptionpendingcmds mit der P2P-Replikation kompatibel.

Hinweis Die  Registerkarte "Nicht verteilte Befehle" eines Replikationsmonitors ruft sp_replmonitorsubscriptionpendingcmds im Hintergrund auf.

Lösung

Informationen zum kumulativen Update

Dieses Problem wurde im folgenden kumulativen Update für SQL Server behoben:

Kumulatives Update 17 für SQL Server 2019

Hinweis Nachdem Sie dieses kumulative Update angewendet haben, melden sp_replmonitorsubscriptionpendingcmds möglicherweise weiterhin eine falsche Anzahl ausstehender Befehle für die P2P-Replikation, wenn die MSrepl_originators Tabelle veraltete Einträge enthält.

Wenn die MSrepl_originators Tabelle veraltete Einträge enthält, wird beim Ausführen sp_replmonitorsubscriptionpendingcmds die folgende Warnmeldung im SQL Server-Fehlerprotokoll generiert:

Warnung: Die Datenbankversion für die Abonnementdatenbank "<database_name> " kann nicht abgerufen werden. Die sp_replmonitorsubscriptionpendingcmdsmeldet möglicherweise die falsche Anzahl ausstehender Befehle für die P2P-Replikation.

Um dieses Problem zu beheben, löschen Sie entweder die veralteten Einträge aus MSrepl_originators oder übergeben die richtige "dbversion" einer Abonnementdatenbank als subdb_version Argument , wenn Sie sp_replmonitorsubscriptionpendingcmds ausführen.

Tipps: Sie können eine der folgenden Methoden auswählen, um die "dbversion" einer Abonnementdatenbank zu finden:

  • Führen Sie die folgende Abfrage für eine Verteilungsdatenbank aus: select dbversion from MSrepl_originators
    where publisher_database_id = <Publisher_Database_ID>
    and srvname = <Subscriber_Server>
    and dbname = <Subscriber_Database>
    Hinweis Sie müssen geeignete Werte für <Publisher_Database_ID>, <Subscriber_Server> und <Subscriber_Database> ersetzen.

  • Führen Sie die folgende Abfrage für eine Abonnementdatenbank aus: 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

Jedes neue kumulative Update für SQL Server enthält alle Hotfixes und Sicherheitsfixes, die im vorherigen Build vorhanden waren. Es wird empfohlen, den neuesten Build für Ihre Version von SQL Server zu installieren:

Neuestes kumulatives Update für SQL Server 2019

Status

Microsoft hat bestätigt, dass es sich hierbei um ein Problem bei den in diesem Artikel genannten Microsoft-Produkten handelt.

Informationsquellen

Erfahren Sie mehr über die Terminologie, die Microsoft verwendet, um Softwareupdates zu beschreiben.

Benötigen Sie weitere Hilfe?

Ihre Office-Fähigkeiten erweitern
Schulungen erkunden
Neue Funktionen als Erster erhalten
Microsoft Insider beitreten

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?

Vielen Dank für Ihr Feedback!

×