Požymiai
Apsvarstykite šį scenarijų:
- Naudojate "Microsoft „SQL Server“" 2016, 2014 arba 2012 m. versiją.
- Turite duomenų bazę, kuri yra "AlwaysOn" prieinamumo grupės dalis.
- Pirminėje replikoje sumažinkite duomenų bazės failus, kad sumažintumėte jų dydį.
- Pirminė replika siunčia visus pakeitimus, įrašytus operacijų žurnale į antrinę repliką.
- Antrinėje replikoje perdarymo gijos pritaiko operacijų žurnalo pakeitimus duomenų bazei, kuri yra prieinamumo grupės dalis.
Tokiu atveju replika laikinai sustabdoma.
Be to, galite gauti klaidos pranešimą, panašų į šį:
Pastaba
<laiko žyma> spid41s Klaida: 3456, Sunkumas: 21, Būsena: 1.
<laiko žyma> spid41s Nepavyko perdaryti žurnalo įrašo (#), operacijos ID (#), puslapyje (#), duomenų bazės DBNAME<> (duomenų bazės ID #). Puslapis: LSN = (#), paskirstymo vienetas = #, tipas = #. Žurnalas: OpCode = #, kontekstas #, PrevPageLSN: (#). Atkurkite iš atsarginės duomenų bazės kopijos arba pataisykite duomenų bazę.
<laiko žyma> spid41s AlwaysOn prieinamumo grupių duomenų judėjimas duomenų bazėje "<dbname>" buvo sustabdytas dėl šios priežasties: "sistema" (šaltinio ID 2; Šaltinio eilutė: 'SUSPEND_FROM_REDO'). Norėdami tęsti duomenų judėjimą duomenų bazėje, turite tęsti duomenų bazės veikimą rankiniu būdu. Informacijos apie tai, kaip atnaujinti prieinamumo duomenų bazę, ieškokite "„SQL Server“ Books Online".
<laiko žyma> spid41s Klaida: 3313, sunkumas: 21, būsena: 2.laiko< žyma> spid41s Perdarant užregistruotą operaciją duomenų bazėje "<dbname>", žurnalo įrašo ID (#) įvyko klaida. Paprastai konkreti triktis anksčiau užregistruojama kaip klaida "Windows" įvykių žurnalo tarnyboje. Atkurkite visos atsarginės kopijos duomenų bazę arba pataisykite duomenų bazę.
Priežastis
Ši problema kyla, kai perdarymo proceso metu taikomi keitimai, jei duomenų bazės modulis sistemos puslapiuose aptinka netvarkingus LSN (GAM, PFS).
Sprendimas
Problema pirmą kartą buvo išspręsta šiame kaupiamajame "„SQL Server“" naujinime:
- 1 kaupiamasis naujinimas, skirtas „SQL Server“ 2016
- 8 kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP1
- 6 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP3
- 15 kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP2
Rekomendacija: įdiekite naujausią "„SQL Server“" kaupiamąjį naujinimą
Kiekviename naujame „SQL Server“ kaupiamajame naujinime yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo įtrauktos į ankstesnį kaupiamąjį naujinimą. Rekomenduojame atsisiųsti ir įdiegti naujausius kaupiamuosius "„SQL Server“" naujinimus:
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2016
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2014 SP1
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP3
- Naujausias kaupiamasis naujinimas, skirtas „SQL Server“ 2012 SP2
Naujinimas neleidžia kilti šiai problemai. Jei problema jau iškilo, atlikite šiuos veiksmus, kad iš naujo prisijungtumėte prie "AlwaysOn" prieinamumo grupės:
- Pašalinkite esamą "AlwaysOn" antrinę repliką.
- Vykdykite šią komandą paveiktiems duomenų failams, kad pašalintumėte iš duomenų bazės nepriskirtą vietą:
DBCC SHRINKFILE(<file_id>, TRUNCATEONLY) - Sukurkite atsarginę duomenų bazės ir žurnalo failų kopiją.
- Atkurkite duomenų bazę ir žurnalus antrinėje "AlwaysOn" replikoje.
- Prisijunkite prie "AlwaysOn" prieinamumo grupės.
Būsena
„„Microsoft““ patvirtino, kad tai yra „„Microsoft““ produktų, išvardytų dalyje „Taikoma“, problema.
Nuorodos
Sužinokite daugiau apie terminus, kuriuos „„Microsoft““ naudoja apibūdindama programinės įrangos naujinimus.