Temos um processo executado no SQL Server que executa um comando DIR na rede local usando um caminho UNC para verificar se os arquivos gerados por outro sistema estão todos lá, como parte de um relatório de auditoria.
Até esta manhã tudo estava bem e elegante, não tivemos problemas.
Ontem à noite, a equipe de TI reforçou algumas permissões nos diretórios de destino para segurança.
Agora, um dir \server\shared\dir_name
falha com um erro Acesso negado .
Podemos executar este comando contra a unidade local ou caminhos UNC de rede alternativos sem problemas.
Temos o mesmo problema, independentemente de sermos executados no SQL Server usando xp_cmdShell
ou no prompt de comando (depois de fazer login no servidor com a conta do SQL Server).
Quando conectado ao servidor com a conta em questão, é possível navegar na rede, então as permissões do Explorer são ok
Portanto, não está relacionado ao SQL Server nem está relacionado à conta do SQL Server Agent.
É específico para os direitos de um diretório de rede.
Também não podemos mais usar o Dir nesse compartilhamento de rede de nossas próprias contas, mesmo que estejamos em um grupo de domínio que tenha permissões completas no diretório!
Então, o que está acontecendo aqui - é possível que, de alguma forma, o comando Dir
tenha sido bloqueado nesse compartilhamento de diretório apenas para o usuário do agente do SQL Server?