Condividi tramite


Supporto FILESTREAM

FILESTREAM consente di archiviare e accedere a valori binari di grandi dimensioni mediante SQL Server o accesso diretto al file system di Windows. Un valore binario di grandi dimensioni è un valore superiore a 2 gigabyte (GB). Per ulteriori informazioni sul supporto FILESTREAM avanzato, vedere FILESTREAM (SQL Server).

Quando si apre una connessione al database, per impostazione predefinita @@TEXTSIZE viene impostato su -1 (senza limiti).

È anche possibile accedere alle colonne FILESTREAM e aggiornarle utilizzando l'API del file system di Windows.

Per ulteriori informazioni, vedere gli argomenti seguenti:

Esecuzione di una query sulle colonne FILESTREAM

I set di righe degli schemi in OLE DB non indicano se una colonna è di tipo FILESTREAM. Impossibile utilizzare ITableDefinition in OLE DB per creare una colonna FILESTREAM.

Le funzioni di catalogo come SQLColumns in ODBC non indicano se una colonna è di tipo FILESTREAM.

Per creare colonne FILESTREAM o per individuare le colonne esistenti di tipo FILESTREAM, è possibile utilizzare la colonna is_filestream della vista di catalogo sys.columns.

Di seguito è riportato un esempio:

-- 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');

Compatibilità con le versioni precedenti

Se il client è stato compilato utilizzando la versione di SQL Server Native Client inclusa in SQL Server 2005 e l'applicazione si connette a SQL Server 2012, il comportamento di varbinary(max) sarà compatibile con SQL Server 2005. Questo significa che i dati restituiti avranno come dimensione massima 2 GB. Per valori di dimensioni superiori a 2 GB, verrà eseguito un troncamento e restituito l'avviso "Troncamento a destra della stringa di dati".

Quando la compatibilità con il tipo di dati è impostata su 80, il comportamento client sarà coerente con il comportamento del client legacy.

Per i client che utilizzano SQLOLEDB o altri provider rilasciati prima della versione SQL Server 2005 di SQL Server Native Client, verrà eseguito il mapping di varbinary(max) all'immagine.

Vedere anche

Altre risorse

Funzionalità di SQL Server Native Client