Změna doby obnovení cílové databáze (SQL Server)
platí pro:SQL Server
Tento článek popisuje, jak nastavit nebo změnit cílovou dobu obnovení databáze v SQL Serveru pomocí aplikace SQL Server Management Studio nebo jazyka Transact-SQL. Ve výchozím nastavení je cílová doba obnovení 60 sekund a databáze používá nepřímý kontrolní bod. Čas obnovení cíle vytvoří horní mez času obnovení pro tuto databázi.
Toto nastavení se projeví okamžitě a nevyžaduje restartování SQL Serveru.
Poznámka
Horní mez stanovená pro určitou databázi nastavením cílové doby obnovení může být překročena, pokud dlouhotrvající transakce způsobí nadměrné prodloužení doby UNDO
.
Omezení
Online transakční zatížení na databázi nakonfigurované pro nepřímé kontrolní body může zaznamenat snížení výkonu. Nepřímé kontrolní body zajišťují, že počet nezašpiněných stránek je nižší než určitá prahová hodnota, aby se obnovení databáze dokončilo v cílové době obnovení. Možnost konfigurace intervalu obnovení používá počet transakcí k určení doby obnovení na rozdíl od nepřímých kontrolních bodů, které využívají počet nezašpiněných stránek.
Pokud jsou v databázi povolené nepřímé kontrolní body, které přijímají velký počet operací způsobujících špinavé stránky, může zapisovač pozadí začít agresivně vyprázdnit špinavé vyrovnávací paměti na disk, aby se zajistilo, že doba potřebná k obnovení je v cílové době obnovení nastavená v databázi. To může způsobit další vstupně-výstupní aktivitu v určitých systémech, což může přispět k kritickému bodu výkonu, pokud diskový subsystém pracuje nad prahovou hodnotou vstupně-výstupních operací nebo blízko této prahové hodnoty.
Dovolení
Vyžaduje ALTER
oprávnění k databázi.
Použití aplikace SQL Server Management Studio
V Průzkumníku objektůse připojte k instanci databázového stroje SQL Serveru a rozbalte ji.
Rozbalte kontejner Databáze, klikněte pravým tlačítkem myši na databázi, kterou chcete změnit, a vyberte příkaz Vlastnosti.
V dialogovém okně Vlastnosti databáze vyberte stránku Možnosti.
Na panelu Obnovení zadejte v poli Cílová doba obnovení (sekund y) požadovaný počet sekund jako horní mez doby obnovení pro tuto databázi.
Použijte Transact-SQL
Připojte se k instanci SQL Serveru, ve které se nachází databáze.
Použijte příkaz ALTER DATABASE následovně:
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
cílový_čas_obnovy
Počínaje SQL Serverem 2016 (13.x) je výchozí hodnota 1 minuta. Pokud je větší než 0 (výchozí hodnota pro starší verze), určuje horní mez doby obnovení pro zadanou databázi v případě chybového ukončení.
SEKUND
Označuje, že target_recovery_time se vyjadřuje jako počet sekund.
MINUT
Označuje, že target_recovery_time se vyjadřuje jako počet minut.
Následující příklad nastaví cílovou dobu obnovení
AdventureWorks2022
databáze na60
sekund.ALTER DATABASE AdventureWorks2022 SET TARGET_RECOVERY_TIME = 60 SECONDS;
Související obsah
- kontrolní body databáze (SQL Server)
- ALTER DATABASE SET možnosti (Transact-SQL)