Frage

Gestern habe ich die Frage gestellt, wie ich meine Dateien speichern sollte. Nach einigen Nachforschungen habe ich mich zum Speichern der Dateien "in" in der Datenbank eingesetzt.

Ich habe den Unterschied zwischen dem Speichern der Dateien mithilfe von FileStream und dem Speichern der Dateien in der Datenbank selbst überprüft.

Jeder hat seine Vor- und Nachteile. Um mir bei meiner Recherche zu helfen, hat mir diese Seite sehr geholfen:http://www.codeproject.com/kb/database/sqlfilestream.aspx

Im Grunde genommen heißt es, dass das Speichern der Dateien mithilfe von FileStream besser ist, wenn die Dateien größer als 1 MB sind.

Aber ich habe ein weiteres Problem mit FileStreaming entdeckt. Wenn Sie einen Datensatz in der Datenbank löschen, ist die Datei weiterhin im Dateisystem vorhanden.

Deshalb brauche ich euch die Meinung. Was zu verwenden? FILESTREAM oder Speichern der Dateien in der Datenbank mithilfe von VarBinary?

Grtz, M.

War es hilfreich?

Lösung

Die Daten auf dem Dateisystem werden (sollten) kurz nach dem Löschen der Daten aus der Datenbank entfernt (dies wird in einem separaten System -Hintergrund -Thread erfolgen. Sie können also im Dateisystem bleiben, bis der Müllsammler im Grunde wieder ausgeführt wird. Alle Ergebnisse, die über die FileStream -APIs (dh TSQL oder Streaming) zugegriffen werden, garantiert jedoch garantiert auf etwas, das entfernt wurde, unabhängig davon, ob sich die Dateisystemdaten noch auf der Festplatte befinden (Säure wird mit FileStream sichergestellt).

Andere Tipps

Verwenden Sie FileStreams.

Datenbanken sollen relationale Daten speichern. Dateisysteme sind zum Speichern von Dateien ausgelegt.

Ich habe oft von Microsoft -Mitarbeitern gehört, dass es keine gute Idee ist, große Blobs in einem SQL Server 2000/2005 zu speichern (kann nicht erinnern).

Betrachten Sie auch Backup: Eine Datenbankdatei ist eine Datei (bearbeiten: Wenn Sie sie so konfigurieren). Wenn Sie FileStreams verwenden, können Sie einzelne Dateien sichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top