Mensaje de error "El agente de distribución no pudo crear archivos temporales" al ejecutar el Agente de distribución en SQL Server

Este artículo le ayuda a solucionar el problema al ejecutar el Agente de distribución en SQL Server.

Versión del producto original: SQL Server
Número de KB original: 956032

Síntomas

En una instancia de Microsoft SQL Server instalada en un equipo basado en Windows Server, configure una publicación transaccional. Use el Distribution Profile for OLEDB streaming perfil para el Agente de distribución. Al ejecutar el Agente de distribución, recibirá un mensaje de error como el siguiente:

El agente de distribución no pudo crear archivos temporales en el directorio C:\Archivos de programa\Microsoft SQL Server\<nnn>\COM. El sistema devolvió el código de error 5.

Nota:

<nnn> identifica la versión de SQL Server. Para obtener más información, vea Ubicaciones de archivos para instancias predeterminadas y con nombre de SQL Server.

Causa

Cuando se usa el Distribution Profile for OLEDB streaming perfil para el Agente de distribución o se usa el streaming OLEDB en un perfil personalizado, antes de SQL Server 2019, el Agente de distribución crea archivos temporales en el directorio: C:\Archivos de programa\Microsoft SQL Server\<nnn>\COM.

Nota:

En SQL Server 2019 y versiones posteriores, estos archivos temporales se crean ahora en la cuenta que ejecuta el Agente de distribución, por lo que, en lugar del directorio C:\Archivos de programa\Microsoft SQL Server\<nnn\COM, estos archivos estarían> en el directorio C:\Users\DistributionAgentAccount\AppData\Temp. DistributionAgentAccount es la cuenta con la que se ejecuta el Agente de distribución.

Si la cuenta que se ejecuta Agente SQL Server no tiene acceso de escritura a la carpeta COM, se producirá un error en la Agente de distribución cuando se ejecute como trabajo. Si ejecuta el Agente de distribución desde una línea de comandos mediante una cuenta que no tiene acceso de escritura a la carpeta COM, se producirá el mismo error.

Solución alternativa

Para solucionar este problema, conceda permisos de escritura a la carpeta COM para la cuenta que ejecuta el servicio Agente SQL Server. Si ejecuta el Agente de distribución desde una línea de comandos, conceda permisos de escritura a la carpeta COM para la cuenta que use para ejecutar el Agente de distribución.

Nota:

Si cambia la cuenta asignada al trabajo de replicación, la cuenta debe tener permisos de escritura en la carpeta COM.

Si sigue teniendo este problema de forma intermitente después de seguir estos pasos, debe asegurarse de que la carpeta COM está excluida de cualquier examen antivirus que se produzca en el sistema.

Más información

El código de error 5 indica que el error es "acceso denegado".