Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So erhalten Sie das Wiederherstellungsmodell einer Datenbank in SQL Server mit T-SQL

In SQL Server ist ein Wiederherstellungsmodell eine Datenbankeigenschaft, die steuert, wie Transaktionen protokolliert werden, ob das Transaktionsprotokoll eine Sicherung erfordert (und zulässt) und welche Arten von Wiederherstellungsvorgängen verfügbar sind. Datenbanken können eines der folgenden drei Wiederherstellungsmodelle verwenden:einfach, vollständig und massenprotokolliert.

Sie können die sys.databases abfragen Katalogansicht, um eine Liste der Datenbanken und ihrer Wiederherstellungsmodelle zu erhalten.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases;

Ergebnis:

+-----------------------+-----------------------+
| 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 diesem Beispiel verwenden die meisten meiner Datenbanken das vollständige Wiederherstellungsmodell, aber einige verwenden das einfache Wiederherstellungsmodell.

Der master , tempdb und msdb Datenbanken verwenden standardmäßig das einfache Wiederherstellungsmodell. Das model Datenbank verwendet das vollständige Wiederherstellungsmodell, was bedeutet, dass alle neu erstellten Datenbanken standardmäßig das vollständige Wiederherstellungsmodell verwenden. Diese Einstellung kann auf Ihrem System unterschiedlich sein, je nachdem, welche Edition Sie verwenden und ob sie geändert wurde oder nicht.

Weitere Informationen zu Wiederherstellungsmodellen finden Sie auf der Microsoft-Website.

Wenn Sie nicht alle Datenbanken auflisten möchten, können Sie immer ein WHERE verwenden -Klausel, um sie auf nur eine Datenbank einzugrenzen:

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

Ergebnis:

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

So ändern Sie das Wiederherstellungsmodell.