Message d’erreur « L’agent de distribution n’a pas pu créer de fichiers temporaires » lorsque vous exécutez le Agent de distribution dans SQL Server
Cet article vous aide à contourner le problème lorsque vous exécutez le Agent de distribution dans SQL Server.
Version du produit d’origine : SQL Server
Numéro de la base de connaissances d’origine : 956032
Symptômes
Sur un instance de Microsoft SQL Server installé sur un ordinateur Windows Server, vous configurez une publication transactionnelle. Vous utilisez le Distribution Profile for OLEDB streaming
profil pour le Agent de distribution. Lorsque vous exécutez le Agent de distribution, vous recevez un message d’erreur semblable au suivant :
L’agent de distribution n’a pas pu créer de fichiers temporaires dans le répertoire C :\Program Files\Microsoft SQL Server\<nnn>\COM. Le système a retourné le code d’erreur 5.
Remarque
<nnn> identifie la version de SQL Server. Pour plus d’informations, consultez Emplacements des fichiers pour les instances par défaut et nommées de SQL Server.
Cause
Lorsque vous utilisez le Distribution Profile for OLEDB streaming
profil pour le Agent de distribution ou que vous utilisez le streaming OLEDB dans un profil personnalisé, avant SQL Server 2019, le Agent de distribution crée des fichiers temporaires dans le répertoire : C :\Program Files\Microsoft SQL Server\<nnn>\COM.
Remarque
Dans SQL Server 2019 et versions ultérieures, ces fichiers temporaires sont désormais créés sous le compte qui exécute le Agent de distribution. Par conséquent, au lieu du répertoire C :\Program Files\Microsoft SQL Server\<nnn>\COM, ces fichiers se trouvent dans le répertoire C :\Users\DistributionAgentAccount\AppData\Temp. est DistributionAgentAccount
le compte sous lequel le Agent de distribution s’exécute.
Si le compte qui exécute SQL Server Agent n’a pas accès en écriture au dossier COM, l’Agent de distribution échoue lorsqu’il s’exécute en tant que travail. Si vous exécutez le Agent de distribution à partir d’une ligne de commande à l’aide d’un compte qui n’a pas accès en écriture au dossier COM, le même échec se produit.
Solution de contournement
Pour contourner ce problème, accordez des autorisations d’écriture au dossier COM pour le compte qui exécute le service SQL Server Agent. Si vous exécutez le Agent de distribution à partir d’une ligne de commande, accordez des autorisations d’écriture au dossier COM pour le compte que vous utilisez pour exécuter le Agent de distribution.
Remarque
Si vous modifiez le compte affecté au travail de réplication, le compte doit disposer d’autorisations d’écriture sur le dossier COM.
Si vous rencontrez toujours ce problème par intermittence après avoir suivi ces étapes, vous devez vous assurer que le dossier COM est exclu de toute analyse antivirus qui se produit sur le système.
Plus d’informations
Le code d’erreur 5 indique que l’erreur est « l’accès est refusé ».
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour