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ă numărul 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ătoarea actualizare cumulativă pentru SQL Server:

Actualizarea cumulativă 17 pentru SQL Server 2019

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ă, fie ștergeți intrările învechite din MSrepl_originators, fie 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:

Cea mai recentă actualizare cumulativă pentru SQL Server 2019

Stare

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

Referințe

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

Aveți nevoie de ajutor suplimentar?

Extindeți-vă competențele
Explorați instruirea
Fiți primul care obține noile caracteristici
Alăturați-vă la Microsoft Insider

Au fost utile aceste informații?

Cât de mulțumit sunteți de calitatea limbajului?
Ce v-a afectat experiența?

Vă mulțumim pentru feedback!

×