Simptome
Să presupunem că utilizați Microsoft SQL Server 2016 sau 2017. Atunci când un grup de disponibilitate se asociază unui grup de disponibilitate distribuit (DAG) existent imediat după ce DAG este abandonat și creat din nou, este posibil să nu se asocieze la DAG și să primiți mesaje de eroare care seamănă cu următoarele:
Activat întotdeauna: Notificare de modificare a configurației AG de proces pentru AG "AGName" în starea "FORWARDER" (7).
Eroare: 41162, Severitate: 16, Stare: 0.
Nu s-a validat numărul de secvență al configurației grupului de disponibilitate "AGName". Numărul de secvență în memorie nu se potrivește cu numărul de secvență persistat. Grupul de disponibilitate și/sau reproducerea de disponibilitate locală vor fi repornite automat. Momentan nu este necesară nicio acțiune a utilizatorului.
Activat întotdeauna: AR "AGName" procesează acum notificările (tip 64).
Activat întotdeauna: Notificare de modificare a configurației AG de proces pentru AG "AGName" în starea "FORWARDER" (7).
Activat întotdeauna: AR "AGName" validează acum integritatea AG în WSFC.
Activat întotdeauna: tranziția de rol AR "AGName" [FORWARDER] --> [FORWARDER], declanșator [VALIDATE_AG_CONFIG], stare (wsfc = 1, metadate = 1).
Activat întotdeauna: AR "AGName" procesează acum notificările (tip -2).
În plus, eroarea 41162 poate aduce AG la rezolvarea stării și poate provoca alte două probleme: eroarea 19407 și eroarea de aserție.
Eroare 19407:
Tranzacțiile necalificate sunt redate în baza de date DBName pentru o modificare de stare Always On Availability Groups. Finalizarea estimată a revenirii: 100%. Acesta este doar un mesaj informativ. Nu este necesară nicio acțiune a utilizatorului.
[HaDrDbMgr::SetPrimaryAR] Setarea primar ca AGID: AGNumber, ReplicaID: ReplicaNumber, AGDBID: AGDBNumber
Eroare: 19407, Severitate: 16, Stare: 2.
Alocarea dintre grupul de disponibilitate "GroupName" și clusterul pentru reluare în caz de nereușită Windows Server a expirat. A apărut o problemă de conectivitate între instanța SQL Server și clusterul pentru reluare în caz de nereușită Windows Server. Pentru a determina dacă grupul de disponibilitate se reia corect, verificați resursa corespunzătoare grupului de disponibilitate din clusterul pentru reluare în caz de nereușită Windows Server.
Afirmație:
Activat întotdeauna: procesați notificarea de modificare a configurației AG pentru AG "DatabaseName" în starea "RESOLVING_NORMAL" (0).
Activat întotdeauna: AR "DatabaseName" validează acum integritatea AG în WSFC.
Activată întotdeauna: GetTransportWithRef() este respinsă, deoarece AR local nu este online.
Informații de stare pentru baza de date "DatabaseName" - Lsn întărit: "(34:304752:1)" Comitere LSN: "(0:0:0)" Ora de comitere: "1 ianuarie 1900 12:00 AM"
RECOVERY (DatabaseName, 6): Pornirea opririi lucrurilor de refacere în paralel
**Fir de descărcare - spid = 0, EC = 0x000001F280CC7250
Stack Dump being sent to FileLocation
* ÎNCEPEȚI DUMPUL STIVEI:
* Location: "FileLocation":1774
* Expresie: GetContext ()->GetController ()->GetHadrArRoleExternal () == HADR_ROLE_FORWARDING_SECONDARY
* SPID: SPId
* ID proces: ProcessId
Eroare: 17066, Severitate: 16, Stare: 1.
SQL Server Assertion: File: <"Filelocation">, line=1774 Failed Assertion = 'GetContext ()->GetController ()->GetHadrArRoleExternal () == HADR_ROLE_FORWARDING_SECONDARY'. Această eroare poate fi legată de temporizare. Dacă eroarea persistă după ce rulați din nou instrucțiunea, utilizați DBCC CHECKDB pentru a verifica integritatea structurală a bazei de date sau reporniți serverul pentru a vă asigura că structurile de date din memorie nu sunt deteriorate.
Eroare: 3624, Severitate: 20, Stare: 1.
O verificare a aserțiunilor de sistem nu a reușit. Verificați jurnalul de erori SQL Server pentru detalii. De obicei, o eroare de aserțiune este cauzată de o eroare de software sau de deteriorarea datelor. Pentru a verifica dacă baza de date este deteriorată, luați în considerare rularea DBCC CHECKDB. Dacă ați fost de acord să trimiteți fișiere dump la Microsoft în timpul instalării, un fișier mini-dump va fi trimis la Microsoft. O actualizare poate fi disponibilă de la Microsoft în cel mai recent pachet Service Pack sau într-o remediere rapidă de la asistența tehnică.
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ătoarea actualizare cumulativă pentru SQL Server:
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:
Informații despre remedierea rapidă la cerere:
Această problemă este remediată în următoarea remediere rapidă la cerere pentru SQL Server:
Referințe
Aflați despre terminologia pe care o utilizează Microsoft pentru a descrie actualizările de software.