Dela via


Ändra måltid för återställning av en databas (SQL Server)

gäller för:SQL Server

Den här artikeln beskriver hur du anger eller ändrar målåterställningstiden för en databas i SQL Server med hjälp av SQL Server Management Studio eller Transact-SQL. Som standard är målåterställningstiden 60 sekunder och databasen använder indirekta kontrollpunkter. Målet för återställningstid anger en övre gräns för återställningstiden för den här databasen.

Den här inställningen börjar gälla omedelbart och kräver ingen omstart av SQL Server.

Not

Den övre gränsen som anges för en viss databas genom inställningen för återställningstidens mål kan överskridas om en långvarig transaktion orsakar överdrivna UNDO-tider.

Begränsningar

En transaktionsarbetsbelastning online på en databas som är konfigurerad för indirekta kontrollpunkter kan uppleva prestandaförsämring. Indirekta kontrollpunkter ser till att antalet felaktiga sidor ligger under ett visst tröskelvärde så att databasåterställningen slutförs inom målåterställningstiden. Konfigurationsalternativet för återställningsintervall använder antalet transaktioner för att fastställa återställningstiden i stället för indirekta kontrollpunkter som använder antalet felaktiga sidor.

När indirekta kontrollpunkter är aktiverade på en databas som tar emot ett stort antal åtgärder som orsakar smutsiga sidor kan bakgrundsskrivaren börja rensa smutsiga buffertar på disken aggressivt för att säkerställa att den tid som krävs för att utföra återställningen ligger inom den målåterställningstid som angetts för databasen. Detta kan orsaka extra I/O-aktivitet på vissa system, vilket kan bidra till en flaskhals för prestanda om diskundersystemet körs över eller nära I/O-tröskelvärdet.

Behörigheter

Kräver ALTER behörighet för databasen.

Använda SQL Server Management Studio

  1. I Object Exploreransluter du till en instans av SQL Server Database Engine och expanderar den instansen.

  2. Expandera containern Databases och högerklicka sedan på databasen som du vill ändra och välj kommandot Egenskaper.

  3. I dialogrutan Databasegenskaper väljer du sidan Alternativ.

  4. I Recovery-panelen, i fältet Målåterställningstid (sekunder), anger du antalet sekunder som du vill använda som övre gräns för återställningstiden för den här databasen.

Använd Transact-SQL

  1. Anslut till instansen av SQL Server där databasen finns.

  2. Använd följande ALTER DATABASE--instruktion på följande sätt:

    TARGET_RECOVERY_TIME = target_recovery_time { SEKUNDER | MINUTER }

    • måltidsåterhämtningstid

      Från och med SQL Server 2016 (13.x) är standardvärdet 1 minut. När större än 0 (standardvärdet för äldre versioner) anger den övre gränsen för återställningstiden för den angivna databasen i händelse av en krasch.

    • SEKUNDER

      Anger att target_recovery_time uttrycks som antalet sekunder.

    • MINUTER

      Anger att target_recovery_time uttrycks som antalet minuter.

    I följande exempel sätts återställningstiden för databasen AdventureWorks2022 till målet 60 sekunder.

    ALTER DATABASE AdventureWorks2022
    SET TARGET_RECOVERY_TIME = 60 SECONDS;