Compartilhar via


Suporte a FILESTREAM

FILESTREAM é uma forma de armazenar e acessar valores altos de binário, 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 saber mais sobre a compatibilidade com o FILESTREAM avançado, confira FILESTREAM (SQL Server).

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 estes tópicos:

Consultando colunas FILESTREAM

Conjuntos de linhas de esquema no OLE DB não relatarão se uma coluna é uma coluna FILESTREAM. ITableDefinition no OLE DB não pode ser usado 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 is_filestream coluna da exibição de 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 cliente tiver sido compilado usando a versão do SQL Server Native Client incluída no SQL Server 2014, varbinary(max) o comportamento será compatível com 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 que foram liberados antes do SQL Server Native Client, varbinary(max) será mapeado para a imagem.

Consulte Também

Recursos do SQL Server Native Client