A mensagem de erro "O agente de distribuição falhou ao criar arquivos temporários" ao executar o Agente de Distribuição no SQL Server
Este artigo ajuda você a contornar o problema ao executar o Agente de Distribuição em SQL Server.
Versão original do produto: SQL Server
Número de KB original: 956032
Sintomas
Em uma instância do Microsoft SQL Server instalada em um computador baseado no Windows Server, você configura uma publicação transacional. Você usa o Distribution Profile for OLEDB streaming
perfil para o Agente de Distribuição. Ao executar o Agente de Distribuição, você recebe uma mensagem de erro como a seguinte:
O agente de distribuição falhou ao criar arquivos temporários no diretório C:\Program Files\Microsoft SQL Server\<nnn>\COM. Código de erro retornado pelo sistema 5.
Observação
<nnn> identifica a versão do SQL Server. Para obter mais informações, consulte Locais de arquivo para instâncias padrão e nomeadas de SQL Server.
Motivo
Quando você usa o Distribution Profile for OLEDB streaming
perfil para o Agente de Distribuição ou usa o streaming OLEDB em um perfil personalizado, antes de SQL Server 2019, o Agente de Distribuição cria arquivos temporários no diretório: C:\Arquivos do Programa\Microsoft SQL Server\<nnn>\COM.
Observação
Em versões SQL Server 2019 e superiores, esses arquivos temporários agora são criados sob a conta que está executando o Agente de Distribuição, portanto, em vez do diretório C:\Arquivos de Programas\Microsoft SQL Server\<nnn>\COM, esses arquivos estariam no diretório C:\Users\DistributionAgentAccount\AppData\Temp. A DistributionAgentAccount
é a conta na qual o Agente de Distribuição está em execução.
Se a conta que está em execução SQL Server Agent não tiver acesso de gravação à pasta COM, o Agente de Distribuição falhará quando estiver em execução como um trabalho. Se você executar o Agente de Distribuição de uma linha de comando usando uma conta que não tem acesso de gravação à pasta COM, a mesma falha ocorrerá.
Solução alternativa
Para contornar esse problema, conceda permissões de gravação à pasta COM para a conta que está executando o serviço SQL Server Agent. Se você executar o Agente de Distribuição de uma linha de comando, conceda permissões de gravação à pasta COM para a conta que você usa para executar o Agente de Distribuição.
Observação
Se você alterar a conta atribuída ao trabalho de replicação, a conta deverá ter permissões de gravação para a pasta COM.
Se você ainda encontrar esse problema intermitentemente depois de seguir estas etapas, verifique se a pasta COM será excluída de qualquer verificação antivírus que ocorra no sistema.
Mais informações
O código de erro 5 indica que o erro é "acesso negado".
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de