Precisa de ajuda para resolver o problema de fazer backup de um banco de dados usando o procedimento armazenado de Ola Hallengren em uma pasta compartilhada.
Eu tenho um procedimento que é executado na inicialização do SQL Server. Ele executa o procedimento de Ola HallengrenDatabaseBackup
. O serviço SQL Server é executado em NT Service
.
O compartilhamento tem permissões para a máquina em que o SQL é executado.
Agora, se executar DatabaseBackup
manualmente, vai bem. Quando ele é executado automaticamente na inicialização, ele falha com o seguinte erro:
Msg 50000, Level 16, State 1, Procedure DatabaseBackup, Line 786 [Batch Start Line 0] O diretório \\*** não existe
Se eu alterar o procedimento com uma Execute As DBO
cláusula, ele falha com o mesmo erro.
Eu também tentei Alter
o SP com Execute As Self
cláusula - o mesmo erro novamente.
Então a pergunta é:
O que devo fazer para que funcione?
- O caminho do arquivo é fornecido como um caminho UNC (por exemplo
\\machine2\backup\
) - Este é o SQL Express, então não tenho acesso aos trabalhos do SQL Agent.
- Portanto, este é um procedimento armazenado configurado para ser executado quando a instância do SQL Server for inicializada, não um trabalho SQL definido para ser executado quando o SQL Agent for iniciado.
Resposta do wiki da comunidade :
Use uma conta de domínio com direitos de acesso no compartilhamento, então isso deve funcionar.
NT_Service
não será capaz de alcançá-lo.Se o uso de uma conta de domínio não for possível por algum motivo, você pode tentar conceder permissão à conta do computador para o compartilhamento. A conta da máquina segue o seguinte formato:
DOMAIN\MachineName$
. O$
é necessário para denotar que é um computador e não um usuário.Como se viu, há um problema conhecido com o comando não documentado
xp_fileexist
que é usado dentro do procedimento armazenado de Ola HallengrenDatabaseBackup
quando executadosa
e verifica uma pasta compartilhada.Existem várias soluções para o problema. Mas preferi comentar o bloco onde o procedimento armazenado é usado. Agora funciona bem. Agradecimentos especiais ao fórum sql.ru.