Bei 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-zu-Peer-Replikation (P2P) kompatibel. Es wird eine falsche Anzahl ausstehender Befehle zurückgegeben. Nachdem Sie diese Korrektur angewendet haben, sind 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 in den folgenden kumulativen Updates für SQL Server behoben:

Hinweis Nachdem Sie dieses kumulative Update angewendet haben, melden sp_replmonitorsubscriptionpendingcmds möglicherweise weiterhin eine falsche Anzahl von ausstehenden Befehlen 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, generiert das Ausführen von sp_replmonitorsubscriptionpendingcmds die folgende Warnmeldung im SQL Server Fehlerprotokoll:

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

Um dieses Problem zu beheben, löschen Sie entweder die veralteten Einträge aus MSrepl_originators, oder übergeben Sie 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 die entsprechenden 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 aus dem vorherigen Build. Es wird empfohlen, den neuesten Build für Ihre Version von SQL Server zu installieren:

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 zum Beschreiben von Softwareupdates verwendet.

Benötigen Sie weitere Hilfe?

Möchten Sie weitere Optionen?

Erkunden Sie die Abonnementvorteile, durchsuchen Sie Trainingskurse, erfahren Sie, wie Sie Ihr Gerät schützen und vieles mehr.

In den Communities können Sie Fragen stellen und beantworten, Feedback geben und von Experten mit umfassendem Wissen hören.

War diese Information hilfreich?

Wie zufrieden sind Sie mit der Sprachqualität?
Was hat Ihre Erfahrung beeinflusst?
Wenn Sie auf "Absenden" klicken, wird Ihr Feedback zur Verbesserung von Produkten und Diensten von Microsoft verwendet. Ihr IT-Administrator kann diese Daten sammeln. Datenschutzbestimmungen.

Vielen Dank für Ihr Feedback!

×