Benutzer mit den meisten Antworten
Verkleinern einer SQL-Datenbank mit FILESTREAM-Ordner macht das Gegenteil

Frage
-
Hallo Zusammen,
ich habe eine Datenbank mit FILESTREAM-Container in einer SQL Server 2014-Umgebung.
Wenn ich nun den Task "Datenbank verkleinern" ausführe, wird die Datenbank, genauer gesagt der FILESTREAM-Container bzw. der Ordner in dem die Files landen, größer als zuvor.
1. Wieso ist das so?
2. Wie bekomme ich den FILESTREAM-Container/Ordner wieder kleiner?
Wäre nett, wenn mir jemand helfen könnte.
Gruß
Antworten
-
ja, die DB ist im Widerherstellungsmodus "Vollständig". ...Und nein, Sicherungen der Transaktionsprotokolle werden nicht durchgeführt.
Hallo Matthias,
Wenn Du keine Log Sicherungen durchführst, kannst Du auch gleich auf "Simple" umstellen.
Das ist doch der Sinn von "Vollständig", das man dann Log Sicherungen durchführt und man in Fall der Fälle eine "Point-In-Time" Rücksicherung durchführen kann; siehe Restore a SQL Server Database to a Point in Time (Full Recovery Model)
Hat man die Datenbank im Mode "Vollständig" und man sichert nicht, läuft einem das Log-File mit der Zeit voll. FileStream ist auch transaktional und somit sozusagen Teil des Logs. Werden Filestream Dateien geändert, werden alte Versionen beibehalten, bis eine Log Sicherung durchgeführt wird. Da Du das nicht machst, wächst der Platzbedarf fürs FileStream natürlich kontinuierlich an.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Bearbeitet Olaf HelperMVP Donnerstag, 18. Februar 2016 07:56
- Als Antwort vorgeschlagen Andreas.WolterMicrosoft employee Donnerstag, 18. Februar 2016 08:18
- Als Antwort markiert Matthias Zurmühlen Donnerstag, 18. Februar 2016 14:49
Alle Antworten
-
Hallo Matthias,
ist die Datenbank im Recovery Mode = Full und werden regelmäßig Log Backups durchgeführt? Mit einem Log Backup sollten zumindest die Versionen von geänderten Dateien bereinigt werden.
P.S.: Stop Shrinking Your Database Files. Seriously. Now.
Olaf Helper
[ Blog] [ Xing] [ MVP] -
Hallo Olaf,
ja, die DB ist im Widerherstellungsmodus "Vollständig". By the way, der Kompatibilitätsgrad steht auf SQL 2008, falls dass auch einen Ausschlag gibt.
Und nein, Sicherungen der Transaktionsprotokolle werden nicht durchgeführt. Das kann ich gleich mal prüfen. Aber bringt das eigentlich überhaupt etwas, wenn doch der Wiederherstellungsmodus auf Vollständig steht?
Danke für den Hinweis.
Nachdem ich gesehen habe, dass die Datenbank bzw. Ordnergrößen quasi explodiert sind, habe ich mich bereits darüber schlau gemacht. Seitdem führe ich die Verkleinerung auch nicht mehr aus bzw. richte sie nicht mehr ein.
Bleibt eben nur noch die Frage, ob und wenn, wie man diese Dinger wieder kleiner bekommt. Oder besser formuliert, auf ein normales Maß wieder reduziert.
-
ja, die DB ist im Widerherstellungsmodus "Vollständig". ...Und nein, Sicherungen der Transaktionsprotokolle werden nicht durchgeführt.
Hallo Matthias,
Wenn Du keine Log Sicherungen durchführst, kannst Du auch gleich auf "Simple" umstellen.
Das ist doch der Sinn von "Vollständig", das man dann Log Sicherungen durchführt und man in Fall der Fälle eine "Point-In-Time" Rücksicherung durchführen kann; siehe Restore a SQL Server Database to a Point in Time (Full Recovery Model)
Hat man die Datenbank im Mode "Vollständig" und man sichert nicht, läuft einem das Log-File mit der Zeit voll. FileStream ist auch transaktional und somit sozusagen Teil des Logs. Werden Filestream Dateien geändert, werden alte Versionen beibehalten, bis eine Log Sicherung durchgeführt wird. Da Du das nicht machst, wächst der Platzbedarf fürs FileStream natürlich kontinuierlich an.
Olaf Helper
[ Blog] [ Xing] [ MVP]- Bearbeitet Olaf HelperMVP Donnerstag, 18. Februar 2016 07:56
- Als Antwort vorgeschlagen Andreas.WolterMicrosoft employee Donnerstag, 18. Februar 2016 08:18
- Als Antwort markiert Matthias Zurmühlen Donnerstag, 18. Februar 2016 14:49