FILESTREAM-Unterstützung

Die FILESTREAM-Funktion, die in SQL Server 2008 eingeführt wurde, bietet eine Möglichkeit, große binäre Werte zu speichern und entweder über SQL Server oder durch direkten Zugriff auf das Windows-Dateisystem darauf zuzugreifen. Ein großer Binärwert ist ein Wert, der größer als 2 Gigabyte (GB) ist. Weitere Informationen zur Unterstützung für das verbesserte FILESTREAM-Feature finden Sie unter Übersicht über FILESTREAM.

Wenn eine Datenbankverbindung geöffnet wird, wird @@TEXTSIZE standardmäßig auf -1 ("unbegrenzt") festgelegt.

Es ist auch möglich, mit Windows-Dateisystem-APIs auf FILESTREAM-Spalten zuzugreifen und diese zu aktualisieren. Weitere Informationen finden Sie unter Übersicht über FILESTREAM.

Weitere Informationen finden Sie unter den folgenden Themen:

Informationen zu Beispielanwendungen, die diese Funktion veranschaulichen, finden Sie unter Überlegungen zum Installieren der SQL Server-Beispiele und -Beispieldatenbanken.

Abfragen von FILESTREAM-Spalten

OLE DB-Schemarowsets geben nicht an, ob eine Spalte eine FILESTREAM-Spalte ist. ITableDefinition in OLE DB kann nicht zum Erstellen von FILESTREAM-Spalten verwendet werden.

Katalogfunktionen z. B. SQLColumns in ODBC, geben nicht an, ob eine Spalte eine FILESTREAM-Spalte ist.

Mithilfe der is_filestream-Spalte der sys.columns-Katalogsicht können Sie FILESTREAM-Spalten erstellen oder ermitteln, welche der vorhandenen Spalten FILESTREAM-Spalten sind.

Es folgt ein Beispiel:

-- Create a table with a FILESTREAM column.
CREATE TABLE Bob_01 (GuidCol1 uniqueidentifier ROWGUIDCOL NOT NULL UNIQUE DEFAULT NEWID(), IntCol2 int, varbinaryCol3 varbinary(max) FILESTREAM)

-- Find FILESTREAM columns.
SELECT name FROM Sys.columns where is_filestream=1

-- Determine whether a column is a FILESTREAM column.
SELECT is_filestream FROM Sys.columns where name = 'varbinaryCol3' and object_id IN (SELECT object_id from Sys.tables where name='Bob_01')

Kompabilität mit früheren Versionen

Wenn der Client mit der Version von SQL Server Native Client kompiliert wurde, der zum Lieferumfang von SQL Server 2005 gehörte, und die Anwendung eine Verbindung mit einer späteren Version von SQL Server herstellt, dann ist das varbinary(max)-Verhalten kompatibel mit SQL Server 2005. Das heißt, die Maximalgröße der zurückgegebenen Daten ist auf 2 GB beschränkt. Ergebniswerte, die größer als 2 GB sind, werden abgeschnitten, und es wird die Warnung "Zeichenfolgendaten werden rechts abgeschnitten" zurückgegeben.

Wenn Datentypkompatibilität auf 80 festgelegt wird, ist das Clientverhalten mit dem Verhalten von Clients früherer Versionen konsistent.

Bei Clients, die SQLOLEDB oder andere Anbieter verwenden, die vor der SQL Server 2005-Version von SQL Server Native Client auf dem Markt kamen, wird varbinary(max) dem Datentyp image zugeordnet.

Siehe auch

Andere Ressourcen