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 altre 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 altre 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 del catalogo, ad esempio SQLColumns in ODBC, non segnalano se una colonna è una colonna FILESTREAM.

Per creare colonne FILESTREAM o per rilevare quali colonne esistenti sono colonne FILESTREAM, è possibile usare la is_filestream colonna della vista del 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 usando la versione di SQL Server Native Client inclusa in SQL Server 2014, varbinary(max) il comportamento 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 dei dati della stringa".

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 usano SQLOLEDB o altri provider rilasciati prima del SQL Server Native Client, varbinary(max) verrà eseguito il mapping all'immagine.

Vedere anche

Funzionalità di SQL Server Native Client