Komunikat o błędzie "Agent dystrybucji nie może utworzyć plików tymczasowych" podczas uruchamiania agenta dystrybucji w programie SQL Server
Ten artykuł ułatwia obejście problemu podczas uruchamiania agenta dystrybucji w programie SQL Server.
Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 956032
Symptomy
W wystąpieniu programu Microsoft SQL Server zainstalowanego na komputerze z systemem Windows Server należy skonfigurować publikację transakcyjną. Profil agenta dystrybucji jest używany Distribution Profile for OLEDB streaming
. 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 16.
<nnn> identyfikuje wersję programu SQL Server. Aby uzyskać więcej informacji, zobacz Lokalizacje plików dla domyślnych i nazwanych wystąpień programu SQL Server.
Przyczyna
W przypadku korzystania z Distribution Profile for OLEDB streaming
profilu agenta dystrybucji lub przesyłania strumieniowego OLEDB w profilu niestandardowym przed programem SQL Server 2019 agent dystrybucji tworzy pliki tymczasowe w katalogu: C:\Program Files\Microsoft SQL Server\<nnn>\COM.
Uwaga 16.
W programie SQL Server 2019 i nowszych wersjach te pliki tymczasowe są teraz tworzone na koncie, na którym jest uruchomiony agent dystrybucji, więc zamiast katalogu C:\Program Files\Microsoft SQL Server\<nnn>\COM te pliki znajdują się w katalogu C:\Users\DistributionAgentAccount\AppData\Temp. To DistributionAgentAccount
konto, na którym działa agent dystrybucji.
Jeśli konto z uruchomionym agentem programu SQL Server nie ma dostępu do zapisu w folderze COM, agent dystrybucji zakończy się niepowodzeniem, gdy jest uruchomiony 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.
Rozwiązanie
Aby obejść ten problem, przyznaj uprawnienia zapisu do folderu COM dla konta, na którym jest uruchomiona usługa SQL Server Agent. Jeśli uruchomisz agenta dystrybucji z wiersza polecenia, przyznaj uprawnienia do zapisu w folderze COM dla konta, którego używasz do uruchamiania agenta dystrybucji.
Uwaga 16.
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 dowolnego skanowania antywirusowego, które występuje w systemie.
Więcej informacji
Kod błędu 5 wskazuje, że błąd "odmowa dostępu".