sql >> Database >  >> RDS >> Sqlserver

Het herstelmodel van een SQL Server-database wijzigen met T-SQL

SQL Server heeft drie herstelmodellen; eenvoudig, volledig en bulksgewijs gelogd. Elke database gebruikt een van deze instellingen.

Back-up- en herstelbewerkingen vinden plaats binnen de context van het herstelmodel van de database

U kunt het herstelmodel van een database wijzigen met behulp van de ALTER DATABASE instructie samen met de SET RECOVERY optie.

De beschikbare opties bij het gebruik van ALTER DATABASE om het herstelmodel in te stellen zijn:

  • SIMPLE
  • FULL
  • BULK_LOGGED

Je hebt ALTER . nodig machtigingen op de database om dergelijke wijzigingen aan te brengen.

Voorbeeld

Stel dat we een database hebben met de naam PetHotel .

We kunnen het huidige herstelmodel controleren door de sys.databases . op te vragen catalogusweergave:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Resultaat:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | SIMPLE                |
+----------+-----------------------+

Het PetHotel database gebruikt momenteel het eenvoudige herstelmodel.

Laten we het veranderen in het volledige herstelmodel:

USE master;  
ALTER DATABASE PetHotel 
SET RECOVERY FULL;

Klaar.

Laten we nu het resultaat bekijken:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'PetHotel';

Resultaat:

+----------+-----------------------+
| name     | recovery_model_desc   |
|----------+-----------------------|
| PetHotel | FULL                  |
+----------+-----------------------+

Het herstelmodel is met succes gewijzigd zoals gespecificeerd.

Belangrijke overwegingen

Bij het overschakelen van de eenvoudige herstelmodus naar een van de andere, wordt de omschakeling pas van kracht na de eerste gegevensback-up.

Daarom moet u, zodra u overschakelt van de eenvoudige herstelmodus naar het volledig of bulksgewijs vastgelegde herstelmodel, een volledige of differentiële databaseback-up maken om de logboekketen te starten.

Als u overschakelt naar het eenvoudige herstelmodel, zorg er dan voor dat u alle geplande taken voor het maken van back-ups van het transactielogboek uitschakelt (het eenvoudige herstelmodel maakt geen gebruik van logback-ups).

Het bulkherstelmodel is ook specifiek voor bulkoperaties. Als u voor dit doel overschakelt van het model voor volledig herstel naar het model voor bulkregistratie, moet u terugschakelen naar de modus voor volledig herstel nadat u de bulkbewerkingen heeft uitgevoerd.

Zorg ervoor dat u een back-up van het logboek maakt nadat u bent overgeschakeld van het in bulk opgeslagen herstelmodel naar het volledige herstelmodel.

Zie Herstelmodellen op de Microsoft-website voor een overzicht van elk herstelmodel.


  1. Hoe twee kolommen in MySQL te vergelijken

  2. Gegevens bijwerken in een MySQL-database

  3. Hoe voer ik een mysqldump uit zonder een wachtwoordprompt?

  4. Wat is MariaDB ColumnStore?