Simptome
Să presupunem că aveți o reproducere Peer-to-Peer (P2P) sau tranzacțională pe tabele partiționate în Microsoft SQL Server. Atunci când efectuați o comutare între partiții sau o operațiune de îmbinare care are comenzi reproduse în așteptare în acea partiție, observați următoarea intrare de eroare în jurnalul de erori SQL Server:
Notă
Eroare: 608: Nu s-a găsit nicio intrare de catalog pentru ID> partiție < ID în baza de date< DatabaseName>. Metadatele sunt inconsistente. Rulați DBCC CHECKDB pentru a verifica dacă metadatele sunt deteriorate.
În plus, agentul cititor de jurnale generează un dump de încălcare a accesului.
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft care sunt listate în secțiunea „Se aplică la”.
Rezolvare
Această problemă este remediată în următoarele actualizări cumulative pentru SQL Server:
- Actualizarea cumulativă 9 pentru SQL Server 2019
- Actualizarea cumulativă 23 pentru SQL Server 2017
- Actualizarea cumulativă 14 pentru SQL Server 2016 SP2
Notă După aplicarea acestei remedieri, dacă efectuați o operațiune de comutare între partiții sau de îmbinare cu comenzi reproduse în așteptare în acea partiție, veți observa în continuare eroarea 608 în jurnalul de erori SQL Server, dar nu veți observa niciun dump de încălcare a accesului.
Despre actualizările cumulative pentru SQL Server:
Fiecare actualizare cumulativă nouă pentru SQL Server conține toate remedierile rapide și toate remedierile de securitate care au fost incluse cu actualizarea cumulativă anterioară. Consultați cele mai recente actualizări cumulative pentru SQL Server:
- Cea mai recentă actualizare cumulativă pentru SQL Server 2019
- Cea mai recentă actualizare cumulativă pentru SQL Server 2019
- Cea mai recentă actualizare cumulativă pentru SQL Server 2016
Mai multe informații
Dacă activați comutarea partițiilor pe SQL Server 2008 R2 până la versiunea curentă, pot fi necesare și operațiuni de scindare și îmbinare în viitorul apropiat. Înainte de a executa o operațiune de scindare sau îmbinare pe un tabel reprodus, asigurați-vă că partiția respectivă nu are comenzi reproduse în așteptare. De asemenea, trebuie să vă asigurați că nu sunt executate operațiuni DML pe partiție în timpul operațiunilor de scindare și îmbinare. Dacă există tranzacții pe care cititorul de jurnale nu le-a procesat sau dacă sunt efectuate operațiuni DML pe o partiție a unui tabel reprodus în timp ce se execută o operațiune de scindare sau îmbinare (care implică aceeași partiție), aceasta poate duce la o eroare de procesare cu agentul cititor de jurnale. Pentru a corecta eroarea, poate fi necesară reinițializarea abonamentului.
Pentru mai multe informații, consultați Reproducerea tabelelor partiționate și a indexurilor.
Avertisment
Nu trebuie să activați comutarea partițiilor pentru publicațiile peer-to-peer, din cauza coloanei ascunse care este utilizată pentru a detecta și a rezolva conflicte.
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.