Jak mogę sprawdzić, jaki model odzyskiwania ma moja baza danych SQL?

19

Czy istnieje polecenie SQL, które mogę uruchomić, aby określić model odzyskiwania mojej bazy danych? Chcę wiedzieć, czy jego pełne wyleczenie, czy nie.

kacalapy
źródło

Odpowiedzi:

22

Różnorodność w tym, jak to zrobić ...

SELECT D.recovery_model_desc FROM sys.databases D WHERE name = 'MyDB'

lub

SELECT name, D.recovery_model_desc FROM sys.databases D

lub

SELECT DATABASEPROPERTYEX('MyDB', 'Recovery')
gbn
źródło
6

Oto skrypt, który wykonałem, aby pokazać ścieżki do plików bazy danych i modele odzyskiwania:

SELECT 
  A.recovery_model_desc AS [Recovery Model], 
  A.name AS [Database Name], 
  C.physical_name AS [Filename], 
  CAST(C.size * 8 / 1024.00 AS DECIMAL(10,2)) AS [Size in MB], 
  C.state_desc AS [Database State]
FROM sys.databases A
INNER JOIN sys.master_files C ON A.database_id = C.database_id
ORDER BY [Recovery Model], [Database Name], [Filename]
littlefuzz
źródło
3

To zapytanie zawiera listę baz danych zawierających tylko prosty model odzyskiwania;

SELECT name, DATABASEPROPERTYEX(name, 'Recovery') as Recovery_Model
FROM sys.databases
WHERE DATABASEPROPERTYEX(name, 'Recovery') = 'Simple'
ORDER BY name;
Priyanka
źródło