Welcher Datentyp zum Speichern von Bildern und Dokumenten in SQL Server 2005?

8

Ich muss eine bestehende .net-Anwendung erweitern, um Bilder und Dokumente (meistens PDFs) in einer SQL Server 2005-Datenbank zu speichern.

Welcher SQL Server-Datentyp wird am besten zum Speichern dieser Dateien verwendet und ist es sinnvoll, eine separate Tabelle zu erstellen, die die Felder enthält, oder ist es kein Problem, diese Felder direkt in die "normalen" Geschäftstabellen zu stellen SELECT-Anweisungen wählen sie nicht aus (oder SELECT *).

    
HCL 04.01.2011, 21:19
quelle

4 Antworten

6

VARBINARY oder FILESTREAM

Sie brauchen sie nicht in einer separaten Tabelle zu speichern - es gibt eingebaute Steuerelemente, die Sie verwenden können, um zu erzwingen, dass sie mithilfe von sp_tableoption in / out gespeichert werden:

Ссылка

Ссылка

Ссылка

(Beachten Sie, dass das Speichern in einer separaten Tabelle von Vorteil sein kann, wenn Sie unterschiedliche Dateigruppen verwenden und diese unabhängig voneinander oder in ähnlicher Weise sichern. Dies kann jedoch als Ausnahme betrachtet werden)

    
Cade Roux 04.01.2011, 21:31
quelle
7

SQL Server 2005: Blob varchar (max)
SQL Server 2008: FileStream

    
kd7 04.01.2011 21:22
quelle
3

Verwenden Sie varbinary (max) zum Speichern von Bildern und Dokumenten auf dem SQL-Server. Ich würde empfehlen, sie in einem separaten Tisch und nicht in der Haupttabelle zu haben.

    
XtremeBytes 04.01.2011 21:24
quelle
1

Um den anderen Teil Ihrer Frage zu beantworten, wenn Sie binäre Daten in einer Datenbank speichern, mischen Sie die Daten in einer Tabelle nicht mit anderen Feldern. Wahrscheinlich werden Sie die Binärdaten nicht durchsuchen oder indizieren, und der Zugriff auf Metadaten wird durch die Größe der Tabelle verlangsamt. Behalte nur die Bilder / Dateien in einer separaten Tabelle.

Ich kann mir zwar gute Gründe vorstellen, Dateien in einer SQL-Server-Datenbank zu behalten (zum Beispiel: keine Web-App), was @JonH auch sagt: Behalte sie im Dateisystem, es sei denn du hast einen zwingenden Grund, es nicht zu tun.

    
Jamie Treworgy 04.01.2011 21:32
quelle

Tags und Links