Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak uzyskać model odzyskiwania bazy danych w SQL Server przy użyciu T-SQL

W programie SQL Server model odzyskiwania to właściwość bazy danych, która kontroluje sposób rejestrowania transakcji, czy dziennik transakcji wymaga (i umożliwia) tworzenie kopii zapasowych oraz jakie rodzaje operacji przywracania są dostępne. Bazy danych mogą korzystać z jednego z trzech następujących modeli odzyskiwania:prostego, pełnego i zbiorczego.

Możesz wysłać zapytanie do sys.databases widok katalogu, aby uzyskać listę baz danych i ich modeli odzyskiwania.

Przykład

Oto przykład do zademonstrowania:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases;

Wynik:

+-----------------------+-----------------------+
| 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                  |
+-----------------------+-----------------------+

W tym przykładzie większość moich baz danych korzysta z pełnego modelu odzyskiwania, ale niektóre korzystają z prostego modelu odzyskiwania.

master , tempdb i msdb bazy danych domyślnie korzystają z prostego modelu odzyskiwania. model baza danych korzysta z pełnego modelu odzyskiwania, co oznacza, że ​​każda nowo tworzona baza danych będzie domyślnie korzystać z pełnego modelu odzyskiwania. To ustawienie może być inne w Twoim systemie, w zależności od używanej wersji i tego, czy zostało zmienione.

Odwiedź witrynę firmy Microsoft, aby uzyskać więcej informacji na temat modeli odzyskiwania.

Jeśli nie chcesz wyświetlać wszystkich baz danych, zawsze możesz użyć WHERE klauzula, aby zawęzić ją do tylko jednej bazy danych:

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

Wynik:

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

Oto jak zmienić model odzyskiwania.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Liczenie wierszy dla wszystkich tabel jednocześnie

  2. porównywanie kolumny z listą wartości w t-sql

  3. TSQL PIVOT WIELE KOLUMN

  4. Jak wywołać procedurę składowaną z argumentami przy użyciu programu sqlcmd.exe?

  5. Pobierz podciąg w SQL Server