共用方式為


FILESTREAM 支援

FILESTREAM 提供透過 SQL Server 或直接存取 Windows 檔案系統來儲存及存取大型二進位值的方式。 大型二進位值是大於 2 GB 的值。 如需增強型 FILESTREAM 支援的詳細資訊,請參閱 FILESTREAM (SQL Server)

當開啟資料庫連接時,@@TEXTSIZE 預設會設定為 -1 (無限制)。

也可以使用 Windows 檔案系統 API 來存取及更新 FILESTREAM 資料行。

如需詳細資訊,請參閱下列主題:

查詢是否有 FILESTREAM 資料行

OLE DB 中的結構描述資料列集將不會報告某個資料行是否為 FILESTREAM 資料行。 OLE DB 中的 ITableDefinition 不能用來建立 FILESTREAM 資料行。

ODBC 中的 SQLColumns 之類的目錄函式不會報告資料行是否為 FILESTREAM 資料行。

若要建立 FILESTREAM 資料行或偵測哪些現有資料行是 FILESTREAM 資料行,您可以使用 is_filestreamsys.columns 目錄檢視的資料行。

以下是一個範例:

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

下層相容性

如果您的用戶端是使用 SQL Server 2014 隨附的 SQL Server Native Client 版本編譯, varbinary(max) 行為將會與 SQL Server 2005 相容。 也就是說,傳回之資料的大小最大值受限於 2 GB。 如果結果值大於 2 GB,將會發生截斷,而且將會傳回「字串資料右邊截斷」警告。

當資料類型相容性設定為 80 時,用戶端行為將會與下層用戶端行為一致。

對於使用 SQLOLEDB 或其他在SQL Server Native Client之前發行的提供者的用戶端, varbinary(max) 將會對應至映射。

另請參閱

SQL Server Native Client 功能