Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O recurso FileTable traz suporte para o namespace de arquivo do Windows e compatibilidade com aplicativos do Windows para os dados de arquivo armazenados no SQL Server. FileTable permite que um aplicativo integre seus componentes de armazenamento e gerenciamento de dados e fornece serviços integrados do SQL Server - incluindo pesquisa de texto completo e pesquisa semântica - sobre dados e metadados não estruturados.
Em outras palavras, você pode armazenar arquivos e documentos em tabelas especiais no SQL Server chamadas FileTables, mas acessá-los de aplicativos do Windows como se estivessem armazenados no sistema de arquivos, sem fazer nenhuma alteração em seus aplicativos cliente.
O recurso FileTable baseia-se na tecnologia FILESTREAM do SQL Server. Para saber mais sobre FILESTREAM, consulte FILESTREAM (SQL Server).
Benefícios do recurso FileTable
As metas do recurso FileTable incluem o seguinte:
Compatibilidade da API do Windows para dados de arquivo armazenados em um banco de dados do SQL Server. A compatibilidade com a API do Windows inclui o seguinte:
Acesso de streaming não transacional e atualizações diretas no local para dados FILESTREAM.
Um namespace hierárquico de diretórios e arquivos.
Armazenamento de atributos de arquivo, como data criada e data modificada.
Suporte para APIs de gerenciamento de arquivos e diretórios do Windows.
Compatibilidade com outros recursos do SQL Server, incluindo ferramentas de gerenciamento, serviços e capacidades de consulta relacional sobre FILESTREAM e dados de atributo de arquivo.
Assim, as FileTables removem uma barreira significativa ao uso do SQL Server para o armazenamento e o gerenciamento de dados não estruturados que residem atualmente como arquivos em servidores de arquivos. As empresas podem mover esses dados de servidores de arquivos para FileTables para aproveitar a administração integrada e os serviços fornecidos pelo SQL Server. Ao mesmo tempo, eles podem manter a compatibilidade de aplicativos do Windows para seus aplicativos existentes do Windows que veem esses dados como arquivos no sistema de arquivos.
O que é uma FileTable?
O SQL Server fornece uma tabela especial de arquivos, também conhecida como FileTable, para aplicativos que exigem armazenamento de arquivos e diretórios no banco de dados, com compatibilidade com a API do Windows e acesso não transacional. Uma FileTable é uma tabela de usuário especializada com um esquema predefinido que armazena dados FILESTREAM, bem como informações de hierarquia de arquivo e diretório e atributos de arquivo.
Uma FileTable fornece a seguinte funcionalidade:
Uma FileTable representa uma hierarquia de diretórios e arquivos. Ele armazena dados relacionados a todos os nós nessa hierarquia, tanto para os diretórios quanto para os arquivos que eles contêm. Essa hierarquia começa a partir de um diretório raiz que você especifica ao criar a FileTable.
Cada linha em uma FileTable representa um arquivo ou um diretório.
Cada linha contém os itens a seguir. Para obter mais informações sobre o esquema de uma FileTable, consulte FileTable Schema.
Uma coluna file_stream para dados de fluxo e um identificador GUID (stream_id). (A coluna file_stream é NULL para um diretório.)
As colunas path_locator e parent_path_locator para representar e manter a hierarquia de arquivo e diretório.
10 atributos de arquivo, como data criada e data modificada que são úteis com APIs de E/S do arquivo.
Uma coluna de tipo que dá suporte à pesquisa de texto completo e pesquisa semântica em arquivos e documentos.
Uma FileTable impõe determinadas restrições e gatilhos definidos pelo sistema para manter a semântica do namespace de arquivo.
Quando o banco de dados é configurado para acesso não transacional, a hierarquia de arquivo e diretório representada na FileTable é exposta no compartilhamento FILESTREAM configurado para a instância do SQL Server. Isso fornece acesso ao sistema de arquivos para aplicativos do Windows.
Algumas características adicionais de FileTables incluem o seguinte:
Os dados de arquivo e diretório armazenados em uma FileTable são expostos por meio de um compartilhamento do Windows para acesso a arquivos não transacionais para aplicativos baseados em API do Windows. Para um aplicativo do Windows, isso parece um compartilhamento normal com seus arquivos e diretórios. Os aplicativos podem usar um conjunto avançado de APIs do Windows para gerenciar os arquivos e diretórios nesse compartilhamento.
A hierarquia de diretório exibida por meio do compartilhamento é uma estrutura de diretório puramente lógica que é mantida dentro da FileTable.
As chamadas para criar ou alterar um arquivo ou diretório por meio do compartilhamento do Windows são interceptadas por um componente do SQL Server e refletidas nos dados relacionais correspondentes na FileTable.
As operações de API do Windows não são transacionais por natureza e não estão associadas a transações de usuário. No entanto, o acesso transacional aos dados FILESTREAM armazenados em uma FileTable é totalmente suportado, assim como acontece com qualquer coluna FILESTREAM em uma tabela regular.
FileTables também podem ser consultados e atualizados com acesso normal Transact-SQL. Eles também são integrados às ferramentas de gerenciamento do SQL Server e a recursos como backup.
Considerações adicionais sobre como usar FileTables
Considerações administrativas
Sobre FILESTREAM e FileTables
Você configura FileTables separadamente de FILESTREAM. Portanto, você pode continuar a usar o recurso FILESTREAM sem habilitar o acesso não transacional ou criar FileTables.
Não há acesso não transacional aos dados FILESTREAM, exceto por meio de FileTables. Portanto, quando você habilita o acesso não transacional, o comportamento das colunas e aplicativos FILESTREAM existentes não é afetado.
Sobre FileTables e acesso não transacional
Você pode habilitar ou desabilitar o acesso não transacional no nível do banco de dados.
Você pode configurar ou ajustar o acesso não transacional no nível do banco de dados desativando-o ou habilitando o acesso de leitura/gravação completo ou somente leitura.
FileTables não dão suporte a arquivos Memory-Mapped
FileTables não dão suporte a arquivos mapeados por memória. Bloco de notas e Paint são dois exemplos comuns de aplicativos que usam arquivos mapeados em memória. Você não pode usar esses aplicativos no mesmo computador que o SQL Server para abrir arquivos armazenados em uma FileTable. No entanto, você pode usar esses aplicativos de um computador remoto para abrir arquivos armazenados em uma FileTable, pois nessas circunstâncias o recurso de mapeamento de memória não é usado.
Tarefas Relacionadas
Habilitar os pré-requisitos para FileTable
Descreve como habilitar os pré-requisitos para criar e usar FileTables.
Criar, alterar e remover FileTables
Descreve como criar uma nova FileTable ou alterar ou remover uma FileTable existente.
Carregar arquivos em FileTables
Descreve como carregar ou migrar arquivos para FileTables.
Trabalhar com diretórios e caminhos em FileTables
Descreve a estrutura de diretórios na qual os arquivos são armazenados em FileTables.
Acessar FileTables com Transact-SQL
Descreve como os comandos DML (linguagem de manipulação de dados) Transact-SQL funcionam com FileTables.
Acessar FileTables com APIs de entrada e saída de arquivo
Descreve como a entrada/saída do sistema de arquivos funciona em uma FileTable.
Gerenciar FileTables
Descreve tarefas administrativas comuns para gerenciar FileTables.
Conteúdo relacionado
Esquema FileTable
Descreve o esquema predefinido e fixo de uma FileTable.
Compatibilidade do FileTable com outros recursos do SQL Server
Descreve como o FileTables funciona com outros recursos do SQL Server.
DDL fileTable, funções, procedimentos armazenados e exibições
Lista as instruções Transact-SQL e os objetos de banco de dados do SQL Server que foram adicionados ou alterados para dar suporte ao recurso FileTable.