Ich habe eine Datenbank mit fast 1 TB FILESTREAM
Daten, die ich nicht sichern muss (wenn die Daten gelöscht wurden, werden sie in ein paar Stunden automatisch neu erstellt, es ist also einfach nicht wichtig). Die meisten Daten werden alle paar Tage geändert, sodass differenzielle Sicherungen nicht wirklich dazu beitragen würden, die Größe niedrig zu halten.
Ich hatte die Backups so, wie ich es brauchte, indem ich den Wiederherstellungsmodus auf Full
stellte, ein separates Backup FILEGROUP
für das erstellte FILESTREAM
und dann Backups nur für das "Primäre" erstellte FILEGROUP
. Das dadurch verursachte Problem bestand darin, dass die Protokolldatei (die ebenfalls gesichert wird) jetzt unnötig groß ist, da sie die FILESTREAM
Daten enthält.
SIMPLE
Der Wiederherstellungsmodus nimmt mir die Möglichkeit, Backups bestimmter FILEGROUP
Dateien zu erstellen, und ich denke, dass dies auch keine Option sein wird.
Ich denke nur daran, die FILESTREAM
Daten in eine separate Datenbank zu verschieben, aber jetzt verliere ich die referenzielle Integrität und erbe sicherlich auch eine Reihe anderer Probleme.
Gibt es eine Möglichkeit, Teilsicherungen im Simple
Wiederherstellungsmodus zu erstellen (ohne die FILESTREAM
Tabelle schreibgeschützt zu machen)? Wenn nicht, gibt es andere vernünftige Lösungen für mein Problem?
quelle
Eine Lösung für eine Datenbank, die auf den Wiederherstellungsmodus SIMPLE eingestellt ist, besteht darin, die FILESTREAM-Daten in einer schreibgeschützten Dateigruppe zu speichern (was nicht die ideale Option ist) und dann nur die Lese- / Schreibdateigruppen mit DIFFERENTIAL wie folgt zu sichern:
Es werden alle Daten abgerufen, die sich in Lese- / Schreibdateigruppen geändert haben. Dies ist die einfachste Möglichkeit, Teilsicherungen ohne Abruf der FILESTREAM-Daten zu verwalten. Es wäre jedoch erforderlich, dass der Ladevorgang für die oben genannten Daten die Dateigruppe zum Lesen / Schreiben ändern, zusätzliche Daten laden und dann erneut auf Lesen festlegen muss. Mit Sicherheit nicht ideal.
quelle
Ich fühle mich schmutzig, wenn ich dies als Option zur Verfügung stelle. Wenn Sie jedoch die FILESTREAM-Daten in eine eigene Datenbank aufteilen, können Sie RI zwischen den Tabellen in den separaten DBS mithilfe von Triggern verwalten :
Erwarten Sie, dass Leistungsprobleme und ein Teil Ihrer Kopfhaut haarlos werden, nachdem Sie sich frustriert die Fellbüschel vom Kopf gezogen haben. Theoretisch könnten Sie dies jedoch tun. Ich empfehle diesen Ansatz auf keiner Ebene, sondern empfehle nachdrücklich, die Häufigkeit Ihrer Protokollsicherungen zu erhöhen und / oder auf das massenprotokollierte Wiederherstellungsmodell zu wechseln, um zu sehen, wie viel Speicherplatz Sie sparen, ABER dies ist eine mögliche Lösung. Eigentlich müssten Sie den Vorteil abwägen, diese Daten zu trennen und sich mit einem Frankensteinschen Datenbankdesign zu befassen, aber es ist eine Option.
... Ich muss jetzt duschen gehen ...
quelle
Ich weiß, dass diese Frage bereits beantwortet ist, aber es gibt eine andere Lösung, die anderen helfen könnte. Kürzlich habe ich aus dem Blog von Brent Ozar erfahren, dass es eine Option gibt, um Ihre Protokollsicherungen sofort zu verwerfen:
So können Sie Ihre Datenbank im
Full
Wiederherstellungsmodus belassen und Sicherungskopien von Dateigruppen erstellen. Wenn Ihr Transaktionslog zu groß wird, geben Sie einfach den Befehl backup log ein und Sie sind fertig.quelle