De beoogde hersteltijd van een database (SQL Server) wijzigen
van toepassing op:SQL Server-
In dit artikel wordt beschreven hoe u de beoogde hersteltijd van een database in SQL Server instelt of wijzigt met behulp van SQL Server Management Studio of Transact-SQL. De doelhersteltijd is standaard 60 seconden en de database gebruikt indirecte controlepunten. Met de doelhersteltijd wordt een bovengrens vastgesteld voor de hersteltijd voor deze database.
Deze instelling wordt onmiddellijk van kracht en vereist geen herstart van SQL Server.
Notitie
De bovengrens die is opgegeven voor een bepaalde database door de instelling voor de beoogde hersteltijd, kan worden overschreden als een langlopende transactie overmatige UNDO
tijden veroorzaakt.
Beperkingen
Een online transactionele werklast op een database die is geconfigureerd voor indirecte controlepunten kan prestatievermindering ondervinden. Indirecte controlepunten zorgen ervoor dat het aantal vervuilde pagina's onder een bepaalde drempelwaarde ligt, zodat het databaseherstel binnen de beoogde hersteltijd wordt voltooid. De configuratieoptie voor het herstelinterval gebruikt het aantal transacties om de hersteltijd te bepalen in plaats van indirecte controlepunten die gebruikmaken van het aantal vuile pagina's.
Wanneer indirecte controlepunten zijn ingeschakeld voor een database die een groot aantal bewerkingen ontvangt die vuile pagina's veroorzaken, kan de achtergrondschrijver agressief vuile buffers naar schijf leegmaken om ervoor te zorgen dat de tijd die nodig is om herstel uit te voeren binnen de beoogde hersteltijd die is ingesteld op de database. Dit kan leiden tot extra I/O-activiteit op bepaalde systemen, wat kan bijdragen aan een prestatieknelpunt als het schijfsubsysteem boven of in de buurt van de I/O-drempelwaarde werkt.
Machtigingen
Vereist ALTER
machtiging voor de database.
SQL Server Management Studio gebruiken
Maak in Objectverkennerverbinding met een exemplaar van de SQL Server Database Engine en vouw dat exemplaar uit.
Vouw de Databases-container uit en klik met de rechtermuisknop op de database die u wilt wijzigen en selecteer de opdracht Eigenschappen.
Selecteer in het dialoogvenster Database-eigenschappen de pagina Opties.
Geef in het deelvenster Herstel in het veld Doelhersteltijd (seconden) het gewenste aantal seconden op als de bovengrens van de hersteltijd voor deze database.
Gebruik Transact-SQL
Maak verbinding met het exemplaar van SQL Server waarin de database zich bevindt.
Gebruik de volgende instructie ALTER DATABASE als volgt:
DOEL_HERSTEL_TIJD = doel_herstel_tijd { SECONDES | MINUTEN }
doelhersteltijd
Vanaf SQL Server 2016 (13.x) is de standaardwaarde 1 minuut. Als deze groter is dan 0 (de standaardinstelling voor oudere versies), geeft u de bovengrens op voor de hersteltijd voor de opgegeven database in het geval van een crash.
SECONDEN
Geeft aan dat target_recovery_time wordt uitgedrukt als het aantal seconden.
MINUTEN
Geeft aan dat target_recovery_time wordt uitgedrukt als het aantal minuten.
In het volgende voorbeeld wordt de doelhersteltijd van de
AdventureWorks2022
-database ingesteld op60
seconden.ALTER DATABASE AdventureWorks2022 SET TARGET_RECOVERY_TIME = 60 SECONDS;