Příznaky
Vezměte v úvahu následující scénář:
- Používáte Microsoft SQL Server 2016, 2014 nebo 2012.
- Máte databázi, která je součástí skupiny dostupnosti AlwaysOn.
- Na primární replice zmenšíte soubory databáze, abyste zmenšili jejich velikost.
- Primární replika odešle všechny změny zaznamenané v transakčním protokolu do sekundární repliky.
- Na sekundární replice vlákna znovu použijí změny z transakčního protokolu do databáze, která je součástí skupiny dostupnosti.
V tomto scénáři je replika pozastavená.
Dále se může zobrazit chybová zpráva podobná této:
Poznámka
<Časové razítko> SPID41S Chyba: 3456, Závažnost: 21, Stav: 1.
<Časové razítko> SPID41S Nepovedlo se znovu provést záznam protokolu (#), pro ID transakce (#), na stránce (#), databáze '<dbname>' (ID databáze #). Stránka: LSN = (#), alokační jednotka = #, typ = # Protokol: OpCode = #, kontext #, PrevPageLSN: (#). Obnovení databáze ze zálohy nebo oprava databáze.
<časové razítko> spid41s AlwaysOn Availability Groups přesun dat pro databázi dbname<> byl pozastaven z následujícího důvodu: "system" (ID zdroje 2; Zdrojový řetězec: SUSPEND_FROM_REDO). Pokud chcete obnovit přesun dat v databázi, budete muset obnovit provoz databáze ručně. Informace o tom, jak obnovit dostupnost databáze, najdete na webu SQL Server Books Online.
<Časové razítko> SPID41S Chyba: 3313, Závažnost: 21, Stav: 2.Časové< razítko> SPID41S Při opakování zaprotokolované operace v databázi dbname<> došlo k chybě v ID záznamu protokolu (#). Obvykle je konkrétní chyba dříve zaznamenána jako chyba ve službě Protokol událostí systému Windows. Obnovte databázi z úplné zálohy, nebo ji opravte.
Příčina
K tomuto problému dochází, když se během procesu opětovného provedení použijí změny, pokud databázový stroj narazí na nefunkční LSN na systémových stránkách (GAM, PFS).
Řešení
Tento problém byl poprvé opraven v následující kumulativní aktualizaci SQL Server:
- Kumulativní aktualizace 1 pro SQL Server 2016
- Kumulativní aktualizace 8 pro SQL Server 2014 SP1
- Kumulativní aktualizace 6 pro SQL Server 2012 SP3
- Kumulativní aktualizace 15 pro SQL Server 2012 SP2
Doporučení: Nainstalujte nejnovější kumulativní aktualizaci pro SQL Server
Každá nová kumulativní aktualizace pro SQL Server obsahuje všechny opravy hotfix a všechny opravy zabezpečení, které byly součástí předchozí kumulativní aktualizace. Doporučujeme stáhnout a nainstalovat nejnovější kumulativní aktualizace pro SQL Server:
- Nejnovější kumulativní aktualizace pro SQL Server 2016
- Nejnovější kumulativní aktualizace pro SQL Server 2014 SP1
- Nejnovější kumulativní aktualizace pro SQL Server 2012 SP3
- Nejnovější kumulativní aktualizace pro SQL Server 2012 SP2
Aktualizace zabrání tomu, aby k tomuto problému došlo. Pokud k problému už došlo, připojte se ke skupině dostupnosti AlwaysOn pomocí těchto kroků:
- Odeberte existující sekundární repliku AlwaysOn.
- Spuštěním následujícího příkazu odeberte z databáze nepřidělené místo:
DBCC SHRINKFILE(<file_id>, TRUNCATEONLY) - Zálohujte databázi a soubory protokolu.
- Obnovte databázi a protokoly na sekundární replice AlwaysOn.
- Připojte se ke skupině dostupnosti AlwaysOn.
Stav
Společnost Microsoft potvrdila, že se jedná o problém produktů Microsoft, které jsou uvedeny v sekci Platí pro.
Reference
Podívejte se na informace o terminologii, kterou společnost Microsoft používá k popisování aktualizací softwaru.