Sql Server - Erro ao anexar o arquivo mdf criptografado via Sistema de Arquivos Criptografados (EFS)

1

Estou recebendo um erro ao tentar anexar um banco de dados cujos arquivos foram criptografados anteriormente por meio do EFS. A mensagem de erro atual é

Msg 5120, Level 16, State 101, Line 9
Unable to open the physical file "C:\test.mdf". Operating system error 5: "5(Access is denied.)".

Se eu descriptografar os arquivos, posso anexar o banco de dados com êxito. Eu estou usando a mesma conta de usuário local que executa o serviço sqlserver. Alguma ideia? (Eu já tinha perguntado isso q em stackoverflow, mas eu tenho comentários que pertence aqui)

    
por Julius A 26.08.2009 / 12:52

4 respostas

2

Tem certeza de que a conta de serviço que você usa para o SQL Server corresponde à conta de usuário que você está usando para criptografar os arquivos? O EFS é tratado no sistema operacional e é transparente para o SQL Server.

Se esse for o caso, verifique as permissões gerais do NTFS, verifique se a conta de serviço tem controle total dos arquivos que você está tentando anexar. Pode estar afirmando o óbvio, mas você deve sempre verificar se há gás no tanque, não assuma!

Se você usa o SQL Server 2008 Enterprise, deve investigar o uso de Criptografia transparente de dados ( TDE) em vez de EFS, há melhor desempenho e é mais agradável de gerenciar.

    
por 26.08.2009 / 13:24
2

Verifique as permissões de NTFS (como disse Nick) e verifique se o SQL Server tem acesso aos arquivos usando a conta em que o serviço está sendo executado, bem como a conta que você está usando para se conectar ao SQL Server.

Quando você desanexar um banco de dados, o os direitos dos arquivos de todos, exceto da pessoa que desanexou o banco de dados.

    
por 26.08.2009 / 15:38
0

O EFS também não faz uma criptografia real do arquivo quando o arquivo está em uso. Ele só criptografará os dados físicos depois que o fluxo de arquivos for fechado, o que significa que você precisa encerrar o servidor SQL para criptografar o arquivo. O arquivo é descriptografado quando é acessado e é armazenado no cache do sistema e na memória não criptografada. Apenas algo para ter em mente.

Parece-me que é mais um problema de permissão e não está relacionado ao EFS. Você tentou mover o arquivo para a pasta do diretório de dados do SQL Server e ver se ele pode ser acessado no servidor? Usamos muito isso quando estamos testando problemas de permissão. Se o servidor puder anexá-lo, saberemos que os locais originais têm um problema de permissão.

    
por 30.12.2009 / 16:06