none
Filestream - Consistência de dados RRS feed

  • Pergunta

  • Pessoal,

    estou fazendo alguns testes com o Filestream e na parte de segurança me deparei com um problema: se qualquer usuário for no diretório do Filestream e deletar um arquivo manualmente, a minha base fica inconsistente, tento fazer o select e ele retorna o seguinte erro:

    "Msg 233, Level 20, State 0, Line 0

    A transport-level error has occurred when receiving results from the server. (provider: Shared Memory Provider, error: 0 - No process is on the other end of the pipe.)"

    Se os dados fossem gravados no SQL, em uma coluna varbinary(max), esse delete seria feito apenas pela aplicação que tivesse a role datawriter, e o erro não aconteceria.

    Tem alguma forma de evitar esse tipo de problema? Utilizamos a versão 2012 Enterprise em nosso ambiente, o File Table pode ajudar nesse sentido? O problema é que se um administrador de rede mal intencionado deletar um arquivo do diretório, ele deixa minha base inconsistente. Pensei em criar até uma "trigger" para controlar essas exclusões, caso exista.

    quinta-feira, 26 de setembro de 2013 16:02

Respostas

  • Leonardo,

    Cara, sinceramente é um cenário, bem complexo e que requer uma certa análise.

    Eu particularmente usei muito pouco o File Stream, mas nos testes e ambientes que trabalhei, configurei a pasta utilizada por ele defini permissão somente para o próprio usuário que estava sendo utilizada no SQL Server.

    Por padrão o FileStream uso o tipo de dados Varbinary(Max) para permitir fazer uso do file system no armazenamento de dados. Além disso, ele trabalha com segurança integrada com o SQL Server.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    • Sugerido como Resposta Giovani Cr sexta-feira, 27 de setembro de 2013 17:14
    • Marcado como Resposta Giovani Cr terça-feira, 1 de outubro de 2013 18:02
    sexta-feira, 27 de setembro de 2013 16:54