Udostępnij za pośrednictwem


Komunikat o błędzie "Agent dystrybucji nie może utworzyć plików tymczasowych" podczas uruchamiania agenta dystrybucji w SQL Server

Ten artykuł ułatwia obejście problemu podczas uruchamiania agenta dystrybucji w SQL Server.

Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 956032

Symptomy

W wystąpieniu SQL Server firmy Microsoft zainstalowanym na komputerze z systemem Windows Server należy skonfigurować publikację transakcyjną. Distribution Profile for OLEDB streaming Używasz profilu agenta dystrybucji. Po uruchomieniu agenta dystrybucji zostanie wyświetlony komunikat o błędzie podobny do następującego:

Agent dystrybucji nie może utworzyć plików tymczasowych w katalogu C:\Program Files\Microsoft SQL Server\<nnn>\COM. System zwrócił kod błędu 5.

Uwaga

<nnn> identyfikuje wersję SQL Server. Aby uzyskać więcej informacji, zobacz Lokalizacje plików dla wystąpień domyślnych i nazwanych SQL Server.

Przyczyna

Jeśli używasz Distribution Profile for OLEDB streaming profilu agenta dystrybucji lub używasz przesyłania strumieniowego OLEDB w profilu niestandardowym, przed SQL Server 2019 r. agent dystrybucji tworzy pliki tymczasowe w katalogu: C:\Program Files\Microsoft SQL Server\<nnn>\COM.

Uwaga

W SQL Server 2019 r. i nowszych wersjach te pliki tymczasowe są teraz tworzone na koncie z uruchomionym agentem dystrybucji, więc zamiast katalogu C:\Program Files\Microsoft SQL Server\<nnn>\COM te pliki znajdują się w katalogu C:\Users\DistributionAgentAccount\AppData\Temp. Jest DistributionAgentAccount to konto, na którym działa agent dystrybucji.

Jeśli konto z systemem SQL Server Agent nie ma dostępu do zapisu do folderu COM, agent dystrybucji zakończy się niepowodzeniem, gdy zostanie uruchomione jako zadanie. Jeśli uruchomisz agenta dystrybucji z wiersza polecenia przy użyciu konta, które nie ma dostępu do zapisu do folderu COM, wystąpi ten sam błąd.

Obejście problemu

Aby obejść ten problem, przyznaj uprawnienia do zapisu do folderu COM dla konta, na którym działa usługa SQL Server Agent. Jeśli uruchomisz agenta dystrybucji z wiersza polecenia, przyznaj uprawnienia do zapisu do folderu COM dla konta używanego do uruchamiania agenta dystrybucji.

Uwaga

Jeśli zmienisz konto przypisane do zadania replikacji, konto powinno mieć uprawnienia do zapisu w folderze COM.

Jeśli ten problem nadal występuje sporadycznie po wykonaniu tych kroków, upewnij się, że folder COM jest wykluczony z skanowania antywirusowego, które ma miejsce w systemie.

Więcej informacji

Kod błędu 5 wskazuje, że błąd to "odmowa dostępu".