Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come ottenere il modello di ripristino di un database in SQL Server utilizzando T-SQL

In SQL Server, un modello di ripristino è una proprietà del database che controlla la modalità di registrazione delle transazioni, se il registro delle transazioni richiede (e consente) il backup e quali tipi di operazioni di ripristino sono disponibili. I database possono utilizzare uno dei tre modelli di ripristino seguenti:semplice, completo e con registrazione in blocco.

Puoi interrogare sys.databases vista catalogo per ottenere un elenco dei database e dei relativi modelli di ripristino.

Esempio

Ecco un esempio da dimostrare:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases;

Risultato:

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

In questo esempio, la maggior parte dei miei database utilizza il modello di ripristino completo, ma alcuni utilizzano il modello di ripristino semplice.

Il master , tempdb e msdb i database utilizzano il modello di ripristino semplice per impostazione predefinita. Il model database utilizza il modello di ripristino completo, il che significa che tutti i nuovi database creati utilizzeranno il modello di ripristino completo per impostazione predefinita. Questa impostazione potrebbe essere diversa sul tuo sistema, a seconda dell'edizione che stai utilizzando e se è stata modificata o meno.

Per ulteriori informazioni sui modelli di ripristino, visitare il sito Web Microsoft.

Se non vuoi elencare tutti i database, puoi sempre usare un WHERE clausola per restringerla a un solo database:

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

Risultato:

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

Ecco come modificare il modello di ripristino.