sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo obtener el modelo de recuperación de una base de datos en SQL Server usando T-SQL

En SQL Server, un modelo de recuperación es una propiedad de la base de datos que controla cómo se registran las transacciones, si el registro de transacciones requiere (y permite) una copia de seguridad y qué tipos de operaciones de restauración están disponibles. Las bases de datos pueden usar uno de los siguientes tres modelos de recuperación:simple, completo y registro masivo.

Puede consultar las sys.databases vista de catálogo para obtener una lista de bases de datos y sus modelos de recuperación.

Ejemplo

Aquí hay un ejemplo para demostrarlo:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases;

Resultado:

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

En este ejemplo, la mayoría de mis bases de datos usan el modelo de recuperación completa, pero algunas usan el modelo de recuperación simple.

El master , tempdb y msdb las bases de datos utilizan el modelo de recuperación simple de forma predeterminada. El model base de datos utiliza el modelo de recuperación completa, lo que significa que cualquier nueva base de datos creada utilizará el modelo de recuperación completa de forma predeterminada. Esta configuración puede ser diferente en su sistema, según la edición que esté usando y si se ha cambiado o no.

Consulte el sitio web de Microsoft para obtener más información sobre los modelos de recuperación.

Si no desea enumerar todas las bases de datos, siempre puede usar un WHERE cláusula para reducirlo a una sola base de datos:

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

Resultado:

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

Aquí se explica cómo cambiar el modelo de recuperación.