sql >> Databáze >  >> RDS >> Sqlserver

Jak změnit model obnovy databáze SQL Server pomocí T-SQL

SQL Server má tři modely obnovy; jednoduché, úplné a hromadné protokolování. Každá databáze používá jedno z těchto nastavení.

Operace zálohování a obnovy probíhají v kontextu modelu obnovy databáze

Model obnovy databáze můžete změnit pomocí ALTER DATABASE spolu s příkazem SET RECOVERY možnost.

Dostupné možnosti při použití ALTER DATABASE pro nastavení modelu obnovy jsou:

  • SIMPLE
  • FULL
  • BULK_LOGGED

Budete potřebovat ALTER oprávnění k databázi za účelem provedení takových změn.

Příklad

Předpokládejme, že máme databázi s názvem PetHotel .

Můžeme zkontrolovat jeho aktuální model obnovy dotazem na sys.databases zobrazení katalogu:

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

Výsledek:

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

PetHotel databáze v současné době používá jednoduchý model obnovy.

Pojďme to změnit na model úplné obnovy:

USE master;  
ALTER DATABASE PetHotel 
SET RECOVERY FULL;

Hotovo.

Nyní se podívejme na výsledek:

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

Výsledek:

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

Model obnovy byl úspěšně změněn, jak je uvedeno.

Důležité úvahy

Při přepnutí z režimu jednoduchého obnovení do jednoho z ostatních se přepnutí projeví až po prvním zálohování dat.

Proto, jakmile přepnete z režimu jednoduché obnovy na model úplné nebo hromadné obnovy protokolů, měli byste provést úplnou nebo rozdílovou zálohu databáze, abyste zahájili řetězec protokolů.

Pokud přepnete na na jednoduchý model obnovy, pak nezapomeňte zakázat všechny naplánované úlohy pro zálohování protokolu transakcí (model jednoduchého obnovení nepoužívá zálohy protokolů).

Model hromadného obnovení je také speciálně pro hromadné operace. Pokud pro tento účel přejdete z modelu úplné obnovy na model hromadného protokolování, měli byste se po provedení hromadných operací přepnout zpět do režimu úplné obnovy.

Po přepnutí z modelu hromadně protokolované obnovy zpět na model úplné obnovy nezapomeňte zálohovat protokol.

Přehled jednotlivých modelů obnovy naleznete v části Modely obnovy na webu společnosti Microsoft.


  1. Nativní knihovna sqljdbc_auth.dll je již načtena v jiném classloaderu

  2. Vypište všechny názvy indexů, názvy sloupců a název jejich tabulky databáze PostgreSQL

  3. Vkládání nových sloupců doprostřed tabulky?

  4. Jak opravit databázi MySQL v cPanel