Fehlermeldung "Fehler beim Erstellen temporärer Dateien durch den Verteilungs-Agent" beim Ausführen des Verteilungs-Agent in SQL Server

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

Symptome

Auf einer instance 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:

Der Verteilungs-Agent konnte keine temporären Dateien im Verzeichnis C:\Programme\Microsoft SQL Server\<nnn>\COM erstellen. Vom System wurde fehlercode 5 zurückgegeben.

Hinweis

<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 die Verteilungs-Agent oder OLEDB-Streaming in einem benutzerdefinierten Profil verwenden, erstellt der Verteilungs-Agent vor SQL Server 2019 temporäre Dateien im Verzeichnis C:\Programme\Microsoft SQL Server\<nnn>\COM.

Hinweis

In SQL Server 2019 und höheren Versionen werden diese temporären Dateien jetzt unter dem Konto erstellt, auf dem die Verteilungs-Agent ausgeführt wird. Anstelle des Verzeichnisses C:\Programme\Microsoft SQL Server\<nnn>\COM befinden sich diese Dateien also im Verzeichnis C:\Users\DistributionAgentAccount\AppData\Temp. ist DistributionAgentAccount das Konto, unter dem die Verteilungs-Agent ausgeführt wird.

Wenn das Konto, das SQL Server-Agent ausgeführt wird, keinen Schreibzugriff auf den COM-Ordner hat, schlägt der Verteilungs-Agent fehl, wenn er 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 der gleiche Fehler auf.

Problemumgehung

Um dieses Problem zu umgehen, erteilen Sie schreibberechtigungen für den COM-Ordner für das Konto, auf dem der SQL Server-Agent-Dienst ausgeführt wird. 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.

Hinweis

Wenn Sie das Konto ändern, das dem Replikationsauftrag zugewiesen ist, sollte das Konto über Schreibberechtigungen für den COM-Ordner verfügen.

Wenn dieses Problem nach dem Ausführen dieser Schritte immer noch zeitweilig auftritt, sollten Sie sicherstellen, dass der COM-Ordner von jeder Antivirenüberprüfung auf dem System ausgeschlossen ist.

Weitere Informationen

Fehlercode 5 gibt an, dass der Fehler "Zugriff verweigert" lautet.