Warum sich die Modelldatenbank in SQL Server im vollständigen Wiederherstellungsmodus befindet

7

Warum befindet sich die Modelldatenbank in SQL Server im vollständigen Wiederherstellungsmodus und andere Systemdatenbanken im einfachen Wiederherstellungsmodus?

pradeep
quelle
1
Es gibt keine feste Regel, um das Modell in der vollständigen Wiederherstellung zu halten. Sie können es in der einfachen Wiederherstellung behalten. Das Wiederherstellungsmodell der Datenbank entspricht immer RPO und RTO.
Shanky

Antworten:

9

Warum befindet sich die Modelldatenbank in SQL Server im FULLWiederherstellungsmodus und andere Systemdatenbanken im SIMPLEWiederherstellungsmodus?

Ich glaube , Sie fragen sich, warum die modelDatenbank ist unterschiedlich von den anderen Systemdatenbanken.

Neue Benutzerdatenbanken werden mit demselben Wiederherstellungsmodell wie die Modelldatenbank erstellt. Das Standardwiederherstellungsmodell für die modelDatenbank hängt von der von Ihnen installierten SQL Server-Edition ab.

Aus der Auswahl des Wiederherstellungsmodells für eine Datenbank :

Das einfache Wiederherstellungsmodell eignet sich im Allgemeinen für eine Test- oder Entwicklungsdatenbank. Für eine Produktionsdatenbank ist jedoch in der Regel das vollständige Wiederherstellungsmodell die beste Wahl, optional ergänzt durch das massenprotokollierte Wiederherstellungsmodell. Das einfache Wiederherstellungsmodell eignet sich jedoch manchmal für eine kleine Produktionsdatenbank, insbesondere wenn es größtenteils oder vollständig schreibgeschützt ist, oder für ein Data Warehouse.

Nach dieser Logik setzen Editionen für Test- und Entwicklungsumgebungen (SQL Server Express und LocalDB) das Wiederherstellungsmodell der modelDatenbank auf SIMPLE. Andere Editionen setzen das Wiederherstellungsmodell der modelDatenbank auf FULL.

Paul White 9
quelle
5

Die masterund msdbDatenbanken sind im einfachen Modus gut zu haben, da sie sich im Allgemeinen nicht häufig genug ändern, um zu gewährleisten, dass sie im vollständigen Wiederherstellungsmodell enthalten sind.

Das Wiederherstellen masterist eine sehr wichtige Aufgabe, und das Wiederherstellen einer vollständigen Datenbanksicherung ist so weit, wie Sie es jemals möchten. msdbenthält einige nützliche Informationen, aber im Allgemeinen reichen regelmäßige Datenbanksicherungen aus.

Bei diesen Datenbanken ist es wichtig, sie zu sichern, wenn sich etwas Wesentliches geändert hat, und über Skripte / Bereitstellungspakete zu verfügen, um die erforderlichen Informationen (Anmeldungen, SSIS-Pakete, Agentenjobs usw.) wiederherzustellen. Sie müssen definitiv nicht im vollständigen Wiederherstellungsmodell enthalten sein.

Die modelDatenbank wird jedoch zum Erstellen neuer Benutzerdatenbanken verwendet, und diese sind im Allgemeinen im vollständigen Wiederherstellungsmodell für Produktionsboxen gut zu haben. Ich bin sicher, dass Sie beim Erstellen einer Datenbank jede Option explizit festlegen, daher ist es weniger wichtig, welches Einstellungsmodell hat, oder? ;)

Rob Farley
quelle
2

Warum befindet sich die Modelldatenbank in SQL Server im vollständigen Wiederherstellungsmodus?

Dies liegt daran, dass das Modell als "Modell" für jede neu erstellte Datenbank fungiert. Abhängig von Ihrer Umgebung und Ihren Geschäftsanforderungen bietet ein vollständiger Wiederherstellungsmodus dies, wenn eine Benutzerdatenbank eine Wiederherstellung zu einem bestimmten Zeitpunkt benötigt (dies setzt voraus, dass Sie regelmäßig vollständige und Transaktionsprotokollsicherungen durchführen).

Wenn für Ihr Unternehmen keine Wiederherstellung zu einem bestimmten Zeitpunkt erforderlich ist, können Sie den Wiederherstellungsmodus von MODEL auf einfach ändern. Stellen Sie sicher, dass Sie immer noch vollständige Sicherungen erstellen (und testen Sie diese regelmäßig, um festzustellen, ob Sie sie wiederherstellen können oder nicht).

Beachten Sie, dass die Datenbanken, die mit der Sicherungs- / Wiederherstellungsmethode oder der Methode zum Trennen / Anhängen wiederhergestellt wurden, ihren ursprünglichen Wiederherstellungsmodus haben.

andere Systemdatenbanken befinden sich im einfachen Wiederherstellungsmodus?

Master und Tempdb befinden sich immer im einfachen Wiederherstellungsmodus. Sie können den Wiederherstellungsmodus nicht ändern.

Für msdb

Wenn Sie die Informationen zum Sicherungs- und Wiederherstellungsverlauf in msdb verwenden möchten, wenn Sie Benutzerdatenbanken wiederherstellen, empfehlen wir, das vollständige Wiederherstellungsmodell für msdb zu verwenden. Ziehen Sie außerdem in Betracht, das msdb-Transaktionsprotokoll in einem fehlertoleranten Speicher abzulegen.

Lesen Sie mehr über: Wiederherstellungsmodelle für Systemdatenbanken

Kin Shah
quelle
Sie können das Wiederherstellungsmodell der Master-Datenbank auf "Vollständig" ändern. Bitte korrigieren Sie es.
Shanky
2
@ Shanky kann geändert werden .. aber was ist der Punkt? Bitte beziehen Sie sich auf den Link, den ich erwähnt habeFor backwards compatibility with earlier versions of Microsoft SQL Server, the recovery model of master can be set to FULL or BULK_LOGGED. However, BACKUP LOG is not supported for master. Therefore, even if the recovery model of master is changed to full or bulk-logged, the database continues to operate as if it were using the simple recovery model.
Kin Shah
Auch Downvoter .. Ich würde gerne den Grund für Downvote wissen .. damit ich meine Antwort verbessern kann.
Kin Shah
3
Technisch gesehen kann das, was Sie gerade im obigen Kommentar gepostet haben, zu Ihrer Antwort hinzugefügt werden. Ab sofort scheint es so, als ob die Master-Datenbank nicht in einer einfachen Wiederherstellung sein kann. Sie haben immer betont, dass Sie das Wiederherstellungsmodell nicht ändern können
Shanky
1

Das Wiederherstellungsmodell für neue Datenbanken wird aus der Modelldatenbank übernommen. Nach der Erstellung der neuen Datenbank können Sie das Wiederherstellungsmodell in "Einfach" oder "Massenprotokolliert" ändern.

Matan Yungman
quelle
Tempdb nimmt sein Wiederherstellungsmodell nicht aus der Modelldatenbank als solche, es ist immer in einfacher Wiederherstellung, aber wieder ist die Protokollierung minimal
Shanky
3
@shanky du suchst hier keine Begriffe für einen Zweck, den ich sehen kann. Diese Antwort lautet "Neue Datenbanken". In keiner Weise sehe ich einen Verweis auf Tempdb oder andere Systemdatenbanken.
@shawn Ich habe weder die Antwort abgelehnt, noch habe ich nicht ausgewählt. Ich wollte nur diese Tatsache von meiner Seite hinzufügen. Ein normaler Kommentar, dem ich zustimme, ist möglicherweise nicht direkt verwandt
Shanky