Fehlermeldung "Der Verteilungs-Agent konnte temporäre Dateien nicht erstellen", wenn Sie die Verteilungs-Agent in SQL Server ausführen
In diesem Artikel können Sie das Problem umgehen, wenn Sie die Verteilungs-Agent in SQL Server ausführen.
Ursprüngliche Produktversion: SQL Server
Ursprüngliche KB-Nummer: 956032
Problembeschreibung
Auf einer Instanz von Microsoft SQL Server, die auf einem Windows Server-basierten Computer installiert ist, konfigurieren Sie eine Transaktionsveröffentlichung. Sie verwenden das Distribution Profile for OLEDB streaming
Profil für die Verteilungs-Agent. Wenn Sie die Verteilungs-Agent ausführen, erhalten Sie eine Fehlermeldung wie die folgende:
Fehler beim Erstellen temporärer Dateien im Verzeichnis "C:\Programme\Microsoft SQL Server\<nnn>\COM ". Der Vom System zurückgegebene Fehlercode 5.
Notiz
<nnn> identifiziert die Version von SQL Server. Weitere Informationen finden Sie unter Dateispeicherorte für Standard- und benannte Instanzen von SQL Server.
Ursache
Wenn Sie das Distribution Profile for OLEDB streaming
Profil für das Verteilungs-Agent verwenden oder OLEDB-Streaming in einem benutzerdefinierten Profil verwenden, erstellt die Verteilungs-Agent vor SQL Server 2019 temporäre Dateien im Verzeichnis: C:\Program Files\Microsoft SQL Server\<nnn>\COM.
Notiz
In SQL Server 2019 und höheren Versionen werden diese temporären Dateien jetzt unter dem Konto erstellt, das die Verteilungs-Agent ausführt. Anstelle des Verzeichnisses "C:\Programme\Microsoft SQL Server\nnn>\COM" befinden sich diese Dateien also im Verzeichnis "C:\Users\DistributionAgentAccount\AppData\Temp".< Dies DistributionAgentAccount
ist das Konto, unter dem die Verteilungs-Agent ausgeführt wird.
Wenn das Konto, das ausgeführt wird, SQL Server-Agent keinen Schreibzugriff auf den COM-Ordner hat, schlägt die Verteilungs-Agent fehl, wenn es als Auftrag ausgeführt wird. Wenn Sie die Verteilungs-Agent über eine Befehlszeile ausführen, indem Sie ein Konto verwenden, das keinen Schreibzugriff auf den COM-Ordner hat, tritt derselbe Fehler auf.
Problemumgehung
Um dieses Problem zu umgehen, erteilen Sie dem COM-Ordner Schreibberechtigungen für das Konto, das den SQL Server-Agent Dienst ausführt. Wenn Sie die Verteilungs-Agent über eine Befehlszeile ausführen, erteilen Sie dem COM-Ordner Schreibberechtigungen für das Konto, das Sie zum Ausführen der Verteilungs-Agent verwenden.
Notiz
Wenn Sie das Konto ändern, das dem Replikationsauftrag zugewiesen ist, sollte das Konto über Schreibberechtigungen für den COM-Ordner verfügen.
Wenn nach dem Ausführen dieser Schritte immer noch dieses Problem auftritt, sollten Sie sicherstellen, dass der COM-Ordner von einer Antivirenüberprüfung ausgeschlossen wird, die auf dem System auftritt.
Weitere Informationen
Fehlercode 5 gibt an, dass der Fehler "Zugriff verweigert" lautet.