SQL Server-FILESTREAM-Einschränkung
Ich bin auf der Suche FILESTREAM-Attribut in SQL Server zum speichern von Dateien. Ich verstehe es speichert die Dateien auf der Festplatte und speichert die Datei Zeiger/Pfad-Informationen in der DB. Außerdem unterhält die Konsistenz der Transaktionen in den Prozess.
Es scheint auch eine Einschränkung "FILESTREAM-Daten gespeichert werden kann nur auf lokalen volumes" für das FILESTREAM-Attribut.
Wenn ich vorwegnehme, meine web-Anwendung zum speichern von 200.000 Bilder von 1-2mb jeder, ich würde verlangen, dass etwa 200 GB Speicherplatz auf der Festplatte zum speichern der Bilder. Da der FILESTREAM-müssen alle Daten gespeichert werden, die nur auf der lokalen Festplatte als pro der Einschränkung, es wäre unmöglich, zu speichern Millionen von Dateien auf einer einzigen Festplatte, so ist der Speicherbedarf sehr groß.
Ist mein Verständnis von der Einschränkung richtig, oder bin ich etwas fehlt hier?
Wenn diese Einschränkung ist richtig, ich würde stattdessen speichern Sie es in der db als Klartext blob-und cluster-meine DB für den Anstieg der Speicheranforderungen, die scheint nicht möglich zu sein, mit FILESTREAM.
Bitte teilen Sie Ihre Gedanken!
AKTUALISIERT:
Einige weitere Fragen betreffend FILESTREAM:-
- Zu behandeln, wie Daten-recovery-Fall
der Daten-container beschädigt??? - Können wir nur ein backup der DB ohne
die Datei-system-Daten? [vorausgesetzt, die Daten
ist in SAN, die müssen nicht verschoben werden] - Ich möchte zum sichern oder wiederherstellen
die DB-und nur die Belegung der Dateigruppe
Pfad-Informationen [, die Karten zu SAN].
Ist das möglich?
InformationsquelleAutor der Frage pencilslate | 2009-09-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
FILESTREAM eigentlich nicht erforderlich für den lokalen Speicher, nur keine SMB-Netzwerk-storage. Ein iSCSI-oder Fibre-Channel-SAN, funktioniert einwandfrei zum speichern von FILESTREAM-Daten. Sie können auch mehrere filestream-Datei-Gruppen pro Tisch, im wesentlichen die Partitionierung Ihrer Daten. Wenn Sie streng targeting-sql-server 2008 gibt es sehr wenig Grund, nicht mit filestream für große binäre Daten. Es ist ein Microsoft-whitepaper beschreibt filestream-Partitionierung hier.
InformationsquelleAutor der Antwort Jeff Mc
Auf dem lokalen Datenträger Anforderung
Nicht nehmen lokalen zu wörtlich. Zwar ist es eine Voraussetzung, dass MSSQL sollte "sehen" die Dateigruppe(N) im Zusammenhang mit FILESTREAM-Daten als lokale Laufwerke, diese Lagerung ist oft geliefert durch NAS oder anderen storage-Technologien, die trick Windows zu denken, diese sind lokale NTFS-Festplatten (iSCSI und so). Dies gilt vor allem für enterprise-Anwendungen, die mit der Ebene der Platzbedarf, die Sie erwähnen.
Auf die Verwendung von FILESTREAM...
Tun, Wägen Sie die vor-und Nachteile sorgfältig. Ihre Frage erwähnt, ziemlich groß (MB-Größe) Bilder (ich gehe davon aus, dass grafische Bilder, die nicht-Logik der Bilder des möglichen), was bedeutet, ein eher atomic verwenden. Ein Datei-server-setup benötigen würde, external (SQL-server) - Verwaltung und Synchronisation, aber das scheint eine relativ kleine Kosten zu zahlen, um Ihre Freiheit, nicht so viel, vis-a-vis SQL-Server /Microsoft, aber auch Ihre Fähigkeit, Dinge bewegen, mehr leicht für Skalierung /Bandbreite Zwecke.
InformationsquelleAutor der Antwort mjv
Mithilfe einer SQL-Cluster geben nicht Sie alle zusätzlichen Speicher-Verfügbarkeit-clustering erfordert, SAN storage. Sie können einfach erstellen Sie eine LUN oder LUNs, die für den Einsatz als FILESTREAM-Speicherung auf einem nicht gruppierten Instanz.
InformationsquelleAutor der Antwort mrdenny
Schrittweise Umsetzung der lokalen filestream in sql server 2008
Konfigurieren von filestream im sql server :
Führen Sie die folgenden Skripts in SQL server 2008 :
Erstellen Datenbank für filestream :
Tabelle Anlegen :
Verfahren zum hinzufügen von Daten in der Tabelle :
Können fügen Sie einige Daten in der Tabelle aus dem Frontend mit C#:
InformationsquelleAutor der Antwort Asif