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

Jak získat model obnovy databáze v SQL Server pomocí T-SQL

V SQL Server je model obnovy vlastnost databáze, která řídí, jak jsou transakce protokolovány, zda protokol transakcí vyžaduje (a umožňuje) zálohování a jaké druhy operací obnovy jsou dostupné. Databáze mohou používat jeden z následujících tří modelů obnovy:jednoduchý, úplný a hromadně protokolovaný.

Můžete se dotazovat na sys.databases zobrazení katalogu, abyste získali seznam databází a jejich modelů obnovy.

Příklad

Zde je příklad k demonstraci:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases;

Výsledek:

+-----------------------+-----------------------+
| name                  | recovery_model_desc   |
|-----------------------+-----------------------|
| master                | SIMPLE                |
| tempdb                | SIMPLE                |
| model                 | FULL                  |
| msdb                  | SIMPLE                |
| Music                 | FULL                  |
| KrankyKranes          | FULL                  |
| WideWorldImporters    | SIMPLE                |
| World                 | FULL                  |
| PetHotel              | FULL                  |
| StereoSystems         | FULL                  |
| NarrowNationExporters | FULL                  |
| TestDB                | FULL                  |
+-----------------------+-----------------------+

V tomto příkladu většina mých databází používá model úplné obnovy, ale některé používají jednoduchý model obnovy.

master , tempdb a msdb databáze standardně používají jednoduchý model obnovy. model databáze používá model úplné obnovy, což znamená, že všechny nově vytvořené databáze budou ve výchozím nastavení používat model úplné obnovy. Toto nastavení se může ve vašem systému lišit v závislosti na edici, kterou používáte, a na tom, zda bylo nebo nebylo změněno.

Další informace o modelech obnovy naleznete na webu společnosti Microsoft.

Pokud nechcete vypisovat všechny databáze, můžete vždy použít WHERE klauzule pro zúžení pouze na jednu databázi:

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

Výsledek:

+-----------------------+-----------------------+
| name                  | recovery_model_desc   |
|-----------------------+-----------------------|
| NarrowNationExporters | FULL                  |
+-----------------------+-----------------------+

Zde je návod, jak změnit model obnovení.


  1. Funkce SCHEMA() v MySQL

  2. Připojení k Lotus Notes z Java

  3. Kdy byste použili funkci s tabulkovou hodnotou?

  4. efektivní způsob, jak otestovat, zda existuje řádek tabulky