Príznaky
Zoberme si nasledujúcu situáciu:
-
Používate Microsoft SQL Server 2016, 2014 alebo 2012.
-
Máte databázu, ktorá je súčasťou skupiny dostupnosti AlwaysOn.
-
Na primárnej replike zmenšíte databázové súbory na zmenšenie ich veľkosti.
-
Primárna replika odošle všetky zmeny zaznamenané v denníku transakcií do sekundárnej repliky.
-
Na sekundárnej replike znova vlákna použijú zmeny z denníka transakcií na databázu, ktorá je súčasťou skupiny dostupnosti.
V tomto scenári je pozastavená replika. Okrem toho sa môže zobraziť chybové hlásenie, ktoré sa podobá nasledujúcemu hláseniu:
<časová pečiatka> spid41s error: 3456, závažnosť: 21; stav: 1. <časová pečiatka> spid41s nemohol opakovať záznam denníka (#), v prípade ID transakcie (#), na strane (#), databázy ' <DBNAME> ' (Identifikácia databázy #). Stránka: LSN = (#), Alokačná jednotka = #, type = #. Denník: inštrukcia = #, Context #, PrevPageLSN: (#). Obnovenie zo zálohy databázy alebo oprava databázy. <časová pečiatka> spid41s skupiny dostupnosti AlwaysOn presun údajov pre databázu "<DBNAME>" bol pozastavený z tohto dôvodu: "System" (Identifikácia zdroja 2; Zdrojový reťazec: ' SUSPEND_FROM_REDO '). Ak chcete pokračovať v pohybe údajov v databáze, budete musieť databázu obnoviť manuálne. Informácie o tom, ako obnoviť databázu dostupnosti, nájdete v téme SQL Server Books Online. <časová pečiatka> spid41s error: 3313, závažnosť: 21; stav: 2. <časová pečiatka> spid41s počas prerobenie operácie zaznamenanej v databáze "<DBNAME>" sa vyskytla chyba v denníku Record ID (#). Konkrétne zlyhanie je zvyčajne zaznamenané ako chyba v službe denník udalostí systému Windows. Obnovte databázu z úplnej zálohy alebo opravte databázu.
Príčina
Tento problém sa vyskytuje, keď sa počas procesu opakovania použijú zmeny, ak databázový stroj zistí, že sa LSNs na systémových stránkach (GAM, PFS).
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera:
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Odporúčame, aby ste si stiahli a nainštalovali najnovšie kumulatívne aktualizácie pre SQL Server:
Aktualizácia zabraňuje výskytu tohto problému. Ak sa už problém vyskytol, postupujte podľa týchto krokov na opätovné spojenie skupiny dostupnosti AlwaysOn:
-
Odstránenie existujúcej sekundárnej repliky AlwaysOn.
-
Ak chcete odstrániť neobsadené miesto z databázy, spustite nasledujúci príkaz v príslušných údajových súboroch:
DBCC SHRINKFILE(<file_id>, TRUNCATEONLY)
-
Zálohujte súbory databázy a denníky.
-
Obnovte databázu a prihlásite sa do sekundárnej repliky AlwaysOn.
-
Zapojte sa do skupiny dostupnosti AlwaysOn.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Oboznámte sa s terminológiou , ktorú spoločnosť Microsoft používa na popis aktualizácií softvéru.