Van toepassing op
SQL Server 2019 on Windows SQL Server 2022 on Linux (all editions) SQL Server 2022 on Windows (all editions)

Symptomen

De sp_replmonitorsubscriptionpendingcmds opgeslagen procedure is niet compatibel met P2P-replicatie (peer-to-peer). Het retourneert een onjuist aantal opdrachten in behandeling. Nadat u deze oplossing hebt toegepast, is sp_replmonitorsubscriptionpendingcmds compatibel met P2P-replicatie.

Opmerking Het  tabblad Niet-gedistribueerde opdrachten van een replicatiemonitor roept sp_replmonitorsubscriptionpendingcmds achter de schermen aan.

Oplossing

Informatie over cumulatieve updates

Dit probleem is opgelost in de volgende cumulatieve updates voor SQL Server:

Opmerking Nadat u deze cumulatieve update hebt toegepast, kan sp_replmonitorsubscriptionpendingcmds nog steeds een onjuist aantal in behandeling zijnde opdrachten voor P2P-replicatie rapporteren als de MSrepl_originators tabel verouderde vermeldingen bevat.

Als de MSrepl_originators tabel verouderde vermeldingen bevat, genereert het uitvoeren van sp_replmonitorsubscriptionpendingcmds het volgende waarschuwingsbericht in het SQL Server foutenlogboek:

Waarschuwing: kan geen databaseversie ophalen voor de abonnementsdatabase '<database_name>'. De sp_replmonitorsubscriptionpendingcmdskan het onjuiste aantal in behandeling zijnde opdrachten voor P2P-replicatie rapporteren.

U kunt dit probleem oplossen door de verouderde vermeldingen uit MSrepl_originators te verwijderen of de juiste 'dbversion' van een abonnementsdatabase door te geven als een subdb_version argument wanneer u sp_replmonitorsubscriptionpendingcmds uitvoert.

Tips: U kunt een van de volgende methoden selecteren om de dbversion van een abonnementsdatabase te vinden:

  • Voer de volgende query uit op een distributiedatabase: select dbversion from MSrepl_originatorswhere publisher_database_id = <Publisher_Database_ID>and srvname = <Subscriber_Server>and dbname = <Subscriber_Database>Opmerking U moet de juiste waarden vervangen door <Publisher_Database_ID> , <Subscriber_Server> en <Subscriber_Database>.

  • Voer de volgende query uit op een abonnementsdatabase: declare @current_version int , @currentGuid uniqueidentifierselect @currentGuid = recovery_fork_guidfrom sys.database_recovery_statuswhere database_id = db_id()select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)print @current_version

Elke nieuwe cumulatieve update voor SQL Server bevat alle hotfixes en beveiligingspatches uit de vorige build. U wordt aangeraden de meest recente build te installeren voor uw versie van SQL Server:

Status

Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.

Verwijzingen

Meer informatie over de terminologie die Microsoft gebruikt om software-updates te beschrijven.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.