Comment savoir quel modèle de récupération possède ma base de données SQL?

19

Existe-t-il une commande SQL que je peux exécuter pour déterminer le modèle de récupération de ma base de données? Je veux savoir si son rétablissement complet ou non.

kacalapy
la source

Réponses:

22

Une certaine variété dans la façon de le faire ...

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

ou

SELECT name, D.recovery_model_desc FROM sys.databases D

ou

SELECT DATABASEPROPERTYEX('MyDB', 'Recovery')
gbn
la source
6

Voici un script que j'ai créé pour me montrer les chemins d'accès aux fichiers de base de données et les modèles de récupération:

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
la source
3

Cette requête vous donne la liste des bases de données avec uniquement un modèle de récupération simple;

SELECT name, DATABASEPROPERTYEX(name, 'Recovery') as Recovery_Model
FROM sys.databases
WHERE DATABASEPROPERTYEX(name, 'Recovery') = 'Simple'
ORDER BY name;
Priyanka
la source