Simptomi
Razmotrite sljedeći scenarij:
-
Koristite Microsoft SQL Server 2016, 2014 ili 2012.
-
Imate bazu podataka koja je dio grupe dostupnosti AlwaysOn.
-
Na primarnoj replici smanjujete datoteke baze podataka da biste smanjili veličinu.
-
Primarna replika šalje sve promjene snimljene u zapisniku transakcije na sekundarnu repliku.
-
Na sekundarnoj replici ponavljanje ponovnih tema primjenjuje promjene iz zapisnika transakcija u bazu podataka koja je dio grupe raspoloživost.
Replika je u ovom scenariju obustavljena. Uz to, možda ćete primiti poruku o pogrešci slična sljedećoj:
<vremenska oznaka> spid41s pogreška: 3456, težina: 21, stanje: 1. <vremenska oznaka> spid41s nije moguće ponovno izvršiti zapis zapisnika (#), za ID transakcije (#), na stranici (#), bazu podataka ' <dbname> ' (ID baze podataka #). Stranica: LSN = (#), jedinica za alokaciju = #, upišite = #. Zapisnik: OpCode = #, Context #, Pretvpagelsn: (#). Vraćanje iz sigurnosne kopije baze podataka ili popravak baze podataka. <vremenske oznake> spid41s AlwaysOn dostupnost grupe podaci Premještanje za bazu podataka ' <dbname> ' je suspendiran iz sljedećeg razloga: "System" (izvor ID 2; Izvorišni niz: ' SUSPEND_FROM_REDO '). Da biste nastavili s pokretom podataka na bazi podataka, morat ćete ručno nastaviti bazu podataka. Informacije o tome kako nastaviti s bazom podataka dostupnosti potražite u člancima SQL Server Books Online. <vremenska oznaka> spid41s pogreška: 3313, težina: 21, stanje: 2. <vremenska oznaka> spid41s tijekom ponovnog postupka evidentirane operacije u bazi podataka "<dbname>" pojavila se pogreška u ID-u zapisnika zapisa (#). Specifičan je neuspjeh obično zapisan kao pogreška u servisu zapisnika događaja sustava Windows. Vratite bazu podataka iz potpune sigurnosne kopije ili popravite bazu podataka.
Uzrok
Taj se problem pojavljuje kada se promjene primjenjuju tijekom postupka poništenog ponavljanja ako modul baze podataka naiđe na stranice izvan narudžbe na stranicama sustava (Gem, PFS).
Rješenje
Problem je prvi put riješen u sljedećem kumulativnom ažuriranju sustava SQL Server:
Svako novo Kumulativno ažuriranje za SQL Server sadrži sve hitne popravke i sve sigurnosne ispravke uključene u prethodno Kumulativno ažuriranje. Preporučujemo da preuzmete i instalirate najnovija kumulativna ažuriranja za SQL Server:
Ažuriranje sprječava pojavljivanje tog problema. Ako se problem već dogodio, slijedite ove korake da biste se ponovno pridružio grupi raspoloživost AlwaysOn:
-
Ukloni postojeću sekundarnu repliku AlwaysOn.
-
Pokrenite sljedeću naredbu na pogođenim podatkovnim datotekama da biste uklonili Nedodijeljeni razmak iz baze podataka:
DBCC SHRINKFILE(<file_id>, TRUNCATEONLY)
-
Sigurnosno kopiranje baze podataka i datoteka zapisnika.
-
Vraćanje baze podataka i zapisnika o sekundarnoj replici AlwaysOn.
-
Pridružite se grupi raspoloživost AlwaysOn.
Status
Microsoft je potvrdio da se radi o problemu u Microsoftovim proizvodima navedenim u odjeljku "odnosi se na".
Reference
Saznajte više o terminologiji koju Microsoft koristi za opisivanje softverskih ažuriranja.