Compartilhar via


Suporte a FILESTREAM

O recurso FILESTREAM, introduzido no SQL Server 2008, fornece uma maneira de armazenar e acessar valores binários grandes, por meio do SQL Server ou por acesso direto ao sistema de arquivos do Windows. Um valor binário grande é um valor superior a 2 gigabytes (GB). Para obter mais informações sobre o suporte a FILESTREAM aprimorado, consulte Visão geral de FILESTREAM.

Quando uma conexão de banco de dados for aberta, @@TEXTSIZE será definido, por padrão, como -1 ("ilimitado").

Também é possível acessar e atualizar colunas FILESTREAM usando as APIs do sistema de arquivos do Windows. Para obter mais informações, consulte Visão geral de FILESTREAM.

Para obter mais informações, consulte os seguintes tópicos:

Para obter informações sobre aplicativos de exemplo que demonstram esse recurso, consulte Considerações para instalar exemplos e bancos de dados de exemplo do SQL Server.

Consultando colunas FILESTREAM

Conjuntos de linhas de esquema no OLE DB não relatarão se uma coluna é uma coluna FILESTREAM. Não é possível usar ITableDefinition no OLE DB para criar uma coluna FILESTREAM.

Funções de catálogo, como SQLColumns no ODBC, não relatarão se uma coluna é uma coluna FILESTREAM.

Para criar colunas FILESTREAM ou detectar quais colunas existentes são colunas FILESTREAM, você pode usar a coluna is_filestream da exibição do catálogo sys.columns.

A seguir, é mostrado um exemplo:

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

Compatibilidade com níveis inferiores

Se o seu cliente tiver sido compilado com a versão do SQL Server Native Client que estava incluída no SQL Server 2005 e o aplicativo se conectar a uma versão posterior do SQL Server, o comportamento de varbinary(max) será compatível com o SQL Server 2005. Ou seja, o tamanho máximo de dados retornados será limitado a 2 GB. Para valores de resultado superiores a 2 GB, ocorrerá truncamento e será retornado um aviso de "truncamento à direita de dados de cadeia de caracteres".

Quando a compatibilidade de tipo de dados estiver definida como 80, o comportamento do cliente será consistente com o comportamento de clientes de nível inferior.

Para clientes que usam SQLOLEDB ou outros provedores lançados antes da versão SQL Server 2005 do SQL Server Native Client, varbinary(max) será mapeado para imagem.

Consulte também

Outros recursos