Sichern und Wiederherstellen der SQL Server-Datenbank mit der Dateigruppe FILESTREAM


8

Ich benutze SQL Server und habe eine riesige Datenbank mit zwei Dateigruppen:

  • Primär : Enthält alle Daten außer den großen Dateien (1 MB +)
  • FILESTREAM (Lesen / Schreiben) : Enthält die großen Dateien

Das Sicherungsszenario lautet nun:

  • Jeden Freitag erhalten Sie eine vollständige Sicherung (2 Uhr morgens)
  • An jedem Wochentag außer Freitag erhalten Sie eine differenzielle Sicherung (2 Uhr morgens).

Da die Datenbank groß ist und auf einem Remote-Server produziert wird, muss ich immer dann, wenn ich die Datenbank in meine lokale Umgebung bringen möchte, um eine Testdatenbank zu erstellen (wöchentlich), sowohl den primären als auch den Dateistream mitbringen.

Ich möchte in der Lage sein, die Art und Weise, wie Sicherungen und Wiederherstellungen durchgeführt werden, so zu ändern, dass nur die primäre Dateigruppe mitgebracht werden muss, wobei der Dateistream ignoriert wird. Auf diese Weise brachte ich jede Woche nur die primäre Dateigruppe und nicht alle Informationen, die den Dateistream annehmen.

Ich denke, es kann viele Probleme geben, und alle Dateistream-Referenzen können beim Zugriff auf die Dateien verloren gehen. Ich möchte wissen, ob es möglich ist, den Inhalt aller Dateistream-Spalten zu ändern, wenn eine Sicherung durchgeführt wird, oder einen anderen in der Testumgebung gehosteten Dateistream zu verwenden. Ich habe auch nur von einigen Filegroups von Piecemeal Restore gehört, aber ich habe viele Zweifel, wie ich es ausführen soll.

Frage 1: Kann ich dieses Szenario haben?

Frage 2: Ist es eine gute Idee, nur eine vollständige Sicherung zu haben und differenzielle Sicherungen / Transaktionsprotokolle in die Testumgebung zu bringen?

Frage 3: Kann ich ein besseres Szenario zum Sichern und Wiederherstellen haben?

Ich bin ganz Ohr für Empfehlungen. Wenn Sie einen Beispielfall haben, zeigen Sie mir dies bitte mit einer T-SQL-Abfrage.


In der Filestream-Übersicht wird ausdrücklich angegeben, dass Sie FILESTREAM-Gruppen von Ihren Sicherungen ausschließen können. Die TSQL-Implementierung wäre allerdings fantastisch zu sehen
clifton_h

Ja, Sie können FILESTREAM von Ihrer Sicherung ausschließen, aber während des Wiederherstellungsprozesses müssen Sie es bereitstellen. Ich denke, dass dies immer eine Notwendigkeit ist, wenn Ihre Dateistream-Gruppe Lese- / Schreibzugriff hat. Dies bedeutet, dass Sie nur eine Teilsicherung Ihrer Daten und eine weitere Sicherung einschließlich Lese- / Schreib-Dateigruppen (die die Dateien enthält) durchführen können
Mario Navarro Claras

Antworten:


1

Ich würde gerne wissen, ob es möglich ist, den Inhalt aller Dateistream-Spalten zu ändern, wenn eine Sicherung durchgeführt wird

Nein.

Ich würde meine Testdatenbank mit demselben Schema wie die Produktionsdatenbank erstellen und dann ein benutzerdefiniertes Skript schreiben, um die Daten in der primären Dateigruppe zu synchronisieren (dies ist ziemlich einfach, da Ihr Produktionssystem die Quelle ist, sodass die Synchronisierung nur in eine Richtung erfolgt ).

Dann würde ich mit den Dateistream-Daten die Dateien stubben, was auf verschiedene Arten geschehen könnte. Auf den ersten Blick würde ich auf der Testseite irgendwie Null-Byte-Dateien generieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.