Conectați-vă cu Microsoft
Conectați-vă sau creați un cont
Salut,
Selectați un alt cont.
Aveți mai multe conturi
Alegeți contul cu care doriți să vă conectați.

Simptome

Procedura stocată sp_replmonitorsubscriptionpendingcmds nu este compatibilă cu replicarea peer-to-peer (P2P). Returnează un număr incorect de comenzi în așteptare. După ce aplicați această remediere, sp_replmonitorsubscriptionpendingcmds va fi compatibil cu replicarea P2P.

Notă Fila  "Comenzi nedistribuite" a unui Monitor de reproducere invocă sp_replmonitorsubscriptionpendingcmds în culise.

Rezolvare

Informații despre actualizarea cumulativă

Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:

Notă  După ce aplicați această actualizare cumulativă, sp_replmonitorsubscriptionpendingcmds poate raporta în continuare un număr incorect de comenzi în așteptare pentru reproducerea P2P dacă tabelul MSrepl_originators conține intrări învechite.

Dacă tabelul MSrepl_originators conține intrări învechite, rularea sp_replmonitorsubscriptionpendingcmds va genera următorul mesaj de avertizare în jurnalul de erori SQL Server:

Avertisment: Imposibil de obținut versiunea bazei de date pentru baza de date de abonare "<database_name>". Sp_replmonitorsubscriptionpendingcmdspoate raporta numărul incorect de comenzi în așteptare pentru replicarea P2P.

Pentru a rezolva această problemă, ștergeți intrările învechite din MSrepl_originators sau transmiteți "dbversion" corect al unei baze de date de abonare ca argument subdb_version atunci când rulați sp_replmonitorsubscriptionpendingcmds.

Sfaturi: Puteți selecta oricare dintre următoarele metode pentru a găsi "dbversion" a unei baze de date de abonament:

  • Rulați următoarea interogare într-o bază de date de distribuire: select dbversion from MSrepl_originators
    where publisher_database_id = <Publisher_Database_ID>
    and srvname = <Subscriber_Server>
    and dbname = <Subscriber_Database>
    Notă Trebuie să înlocuiți valorile corespunzătoare cu <Publisher_Database_ID> , <Subscriber_Server> și <Subscriber_Database>.

  • Rulați următoarea interogare într-o bază de date de abonare: declare @current_version int , @currentGuid uniqueidentifier
    select @currentGuid = recovery_fork_guid
    from sys.database_recovery_status#x3
    select @current_version = substring(convert(binary(16), isnull(@currentGuid, 0x0)),1,6)
    print @current_version

Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și remedierile de securitate care au fost în versiunea anterioară. Vă recomandăm să instalați cea mai recentă versiune pentru versiunea dvs. de SQL Server:

Stare

Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.

Referințe

Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.

Aveți nevoie de ajutor suplimentar?

Doriți mai multe opțiuni?

Explorați avantajele abonamentului, navigați prin cursurile de instruire, aflați cum să vă securizați dispozitivul și multe altele.

Comunitățile vă ajută să adresați întrebări și să răspundeți la întrebări, să oferiți feedback și să primiți feedback de la experți cu cunoștințe bogate.

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?
Apăsând pe Trimitere, feedbackul dvs. va fi utilizat pentru a îmbunătăți produsele și serviciile Microsoft. Administratorul dvs. IT va avea posibilitatea să colecteze aceste date. Angajamentul de respectare a confidențialității.

Vă mulțumim pentru feedback!

×