Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment obtenir le modèle de récupération d'une base de données dans SQL Server à l'aide de T-SQL

Dans SQL Server, un modèle de récupération est une propriété de base de données qui contrôle la façon dont les transactions sont consignées, si le journal des transactions nécessite (et autorise) une sauvegarde et quels types d'opérations de restauration sont disponibles. Les bases de données peuvent utiliser l'un des trois modèles de récupération suivants :simple, complet et journalisé en masse.

Vous pouvez interroger les sys.databases vue catalogue pour obtenir une liste des bases de données et leurs modèles de récupération.

Exemple

Voici un exemple pour illustrer :

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases;

Résultat :

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

Dans cet exemple, la plupart de mes bases de données utilisent le modèle de récupération complète, mais certaines utilisent le modèle de récupération simple.

Le master , tempdb , et msdb les bases de données utilisent le modèle de récupération simple par défaut. Le model base de données utilise le modèle de récupération complète, ce qui signifie que toutes les nouvelles bases de données créées utiliseront le modèle de récupération complète par défaut. Ce paramètre peut être différent sur votre système, selon l'édition que vous utilisez et s'il a été modifié ou non.

Consultez le site Web de Microsoft pour plus d'informations sur les modèles de récupération.

Si vous ne souhaitez pas lister toutes les bases de données, vous pouvez toujours utiliser un WHERE clause pour la réduire à une seule base de données :

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

Résultat :

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

Voici comment modifier le modèle de récupération.