Compartilhar via


Mensagem de erro "Falha ao criar arquivos temporários no Distribution Agent" ao executar o Distribution Agent no SQL Server

Este artigo ajuda você a contornar o problema ao executar o Distribution Agent no SQL Server.

Versão original do produto: SQL Server
Número original do KB: 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 Distribution Agent, você recebe uma mensagem de erro como a seguinte:

O agente de distribuição falhou ao criar arquivos temporários no diretório C:\Arquivos de Programas\Microsoft SQL Server\<nnn>\COM . O sistema retornou o código de erro 5.

Observação

<nnn> identifica a versão do SQL Server. Para obter mais informações, consulte Locais de Arquivos para Instâncias Padrão e Nomeadas do SQL Server.

Causa

Quando você usa o perfil para o Distribution Agent ou usa o Distribution Profile for OLEDB streaming streaming OLEDB em um perfil personalizado, antes do SQL Server 2019, o Distribution Agent cria arquivos temporários no diretório: C:\Program Files\Microsoft SQL Server\<nnn>\COM.

Observação

No SQL Server 2019 e versões superiores, esses arquivos temporários agora são criados na conta que está executando o Distribution Agent, portanto, em vez do diretório C:\Program Files\Microsoft SQL Server\<nnn>\COM, esses arquivos estariam no diretório C:\Users\DistributionAgentAccount\AppData\Temp. A DistributionAgentAccount é a conta sob a qual o Agente de Distribuição está sendo executado.

Se a conta que está executando o SQL Server Agent não tiver acesso de gravação à pasta COM, o Distribution Agent falhará quando estiver sendo executado como um trabalho. Se você executar o Distribution Agent de uma linha de comando usando uma conta que não tenha 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 da conta que está executando o serviço SQL Server Agent. Se você executar o Distribution Agent em uma linha de comando, conceda permissões de gravação à pasta COM da conta que você usa para executar o Distribution Agent.

Observação

Se você alterar a conta atribuída ao trabalho de replicação, a conta deverá ter permissões de gravação na pasta COM.

Se você ainda encontrar esse problema intermitentemente depois de seguir estas etapas, certifique-se de que a pasta COM seja 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".