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_filestream
sys.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)
將會對應至映射。