Príznaky
Predpokladajme, že máte nainštalovaný Microsoft SQL Server 2014, 2016 alebo 2017. Môžu sa vyskytnúť niektoré z nasledujúcich problémov:
-
Inštancia SQL servera sa zobrazuje nereaguje a zobrazí sa chyba "nepoddajný Plánovač". Možno budete musieť reštartovať server, aby ste ho mohli obnoviť.
-
Vrátenie transakcie môže trvať dlho, kým sa neukončí. Vo väčšine prípadov reštartovanie inštancie umožní, aby sa databáza obnovovala oveľa rýchlejšie ako vrátenie späť. Všimnite si, že existuje veľa dôvodov, prečo vrátenie zmien môže trvať dlho, pozrite si časť Ďalšie informácie nižšie, kde nájdete Podrobnosti o sledovaní vrátenia zmien pred pokusom o reštart.
-
Môže sa zobraziť vysoká čakanie na spinlocks, ako je napríklad SOS_OBJECT_STORE.
Riešenie
Tento problém je vyriešený v nasledujúcich kumulatívnych aktualizáciách pre SQL Server:
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. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Posledná Kumulatívna aktualizácia pre SQL Server 2017
Informácie o balíku Service Pack pre SQL Server
Táto aktualizácia je opravená v nasledujúcom balíku Service Pack pre SQL Server:
Balíky Service Pack sú kumulatívne. Každý nový balík Service Pack obsahuje všetky opravy, ktoré sa nachádzajú v predchádzajúcich balíkoch Service Pack, spolu s novými opravami. Naším odporúčaním je použiť najnovší balík Service Pack a najnovšiu Kumulatívna aktualizácia pre daný balík Service Pack. Skôr než nainštalujete najnovší balík Service Pack, nemusíte nainštalovať predchádzajúci balík Service Pack. Na vyhľadanie ďalších informácií o najnovšom balíku Service Pack a najnovšej kumulatívnej aktualizácii použite tabuľku 1 v nasledujúcom článku.
Určenie verzie, vydania a aktualizácie servera SQL Server a jeho súčastí
Ďalšie informácie
Existuje veľa dôvodov, prečo vrátenie zmien môže trvať dlho, ako je napríklad dlho spustená transakcia, veľký počet VLFs v súbore denníka transakcií, pomalé vstupno-výstupné atď. Ak chcete overiť, či je problém popísaný v tomto článku hlavnou príčinou spomalenia vrátenia, odporúčame, aby sa pri sledovaní priebehu operácie vrátenia vykonali tieto postupy:
-
V sys.dm_exec_requestsidentifikujte session_id, ktorých príkaz je nastavený na "zabil/vrátiť späť", a presvedčte sa, že relácia sa nahromadila aj v čase, keď sa v ňom uvedie priebeh. Ak sa IO nezmení, môže to znamenať, že sa stretávate s problémom popísaným v tomto článku.
-
Dotaz sys.dm_tran_database_transactions na identifikáciu aktuálneho stavu vrátenia na základe dotazu, ako sú tieto:
Vyberte getdate () ako CurrentTime, database_transaction_next_undo_lsn, database_transaction_begin_lsn, t.transaction_id, database_transaction_begin_time, database_transaction_log_record_count, db_name (t.database_id)
Z sys.dm_tran_database_transactions t
Pridajte sa k sys.dm_exec_requests s NA t.transaction_id = s.transaction_id
KDE t.database_id = db_id (" názov <databázy") a s.session_id =<Session_id prevedením operácie vrátenia>
Poznámka:
Vo vyššie uvedenom dotaze
database_transaction_next_undo_lsn je LSN ďalšieho záznamu, ktorý sa má vrátiť späť. database_transaction_begin_lsn je LSN začiatku záznamu transakcie v denníku transakcií.
database_transaction_next_undo_lsn by sa mala zmenšiť s každou snímkou tohto dotazu. Vrátenie sa úspešne ukončí, keď database_transaction_next_undo_lsn dosiahne database_transaction_begin_lsn.
Cieľom je vykonať niekoľko snímok predchádzajúceho dotazu v rámci vopred určeného intervalu a potom použiť Delta LSNs spracovaných v database_transaction_next_undo_lsn v rámci daného intervalu a extrapoláciu času, ktorý sa má vykonať, aby sa odhadol časový úsek, počas ktorého sa database_transaction_next_undo_lsn dosiahnu database_transaction_begin_lsn.
Ak sa v každej snímke postupuje návratnosť za slušnú úrokovú hodnotu, odporúčame, aby vrátenie späť bolo povolené bez reštartovania inštancie SQL servera.
Ďalšie informácie o dlhodobom obnovení nájdete v nasledujúcich článkoch:
-
SQL Server (2000, 2005, 2008): obnovenie alebo vrátenie zmien trvá dlhšie, než sa očakávalo
-
Ako môže štruktúra súboru denníka ovplyvniť dobu obnovenia databázy
-
Sledovanie priebehu obnovenia databázy pomocou informácií z nástroja DMV
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.