Sdílet prostřednictvím


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

  1. V Průzkumníku objektůse připojte k instanci databázového stroje SQL Serveru a rozbalte ji.

  2. Rozbalte kontejner Databáze, klikněte pravým tlačítkem myši na databázi, kterou chcete změnit, a vyberte příkaz Vlastnosti.

  3. V dialogovém okně Vlastnosti databáze vyberte stránku Možnosti.

  4. 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

  1. Připojte se k instanci SQL Serveru, ve které se nachází databáze.

  2. 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 na 60 sekund.

    ALTER DATABASE AdventureWorks2022
    SET TARGET_RECOVERY_TIME = 60 SECONDS;