Foutbericht 'De distributieagent kan geen tijdelijke bestanden maken' wordt weergegeven wanneer u de distributieagent uitvoert in SQL Server
Dit artikel helpt u bij het omzeilen van het probleem wanneer u de distributieagent uitvoert in SQL Server.
Oorspronkelijke productversie: SQL Server
Oorspronkelijk KB-nummer: 956032
Symptomen
Op een exemplaar van Microsoft SQL Server dat is geïnstalleerd op een Windows Server-computer, configureert u een transactionele publicatie. U gebruikt het Distribution Profile for OLEDB streaming
profiel voor de distributieagent. Wanneer u de distributieagent uitvoert, krijgt u een foutbericht zoals de volgende:
De distributieagent kan geen tijdelijke bestanden maken in de map C:\Program Files\Microsoft SQL Server\<nnn>\COM . Systeem heeft foutcode 5 geretourneerd.
Notitie
<nnn> identificeert de versie van SQL Server. Zie Bestandslocaties voor standaard- en benoemde exemplaren van SQL Server voor meer informatie.
Oorzaak
Wanneer u het Distribution Profile for OLEDB streaming
profiel voor de distributieagent gebruikt of oleDB-streaming gebruikt in een aangepast profiel, maakt de distributieagent vóór SQL Server 2019 tijdelijke bestanden in de map: C:\Program Files\Microsoft SQL Server\<nnn>\COM.
Notitie
In SQL Server 2019 en hogere versies worden deze tijdelijke bestanden nu gemaakt onder het account waarop de distributieagent wordt uitgevoerd, dus in plaats van de map C:\Program Files\Microsoft SQL Server\<nnn>\COM, bevinden deze bestanden zich in de map C:\Users\DistributionAgentAccount\AppData\Temp. Dit DistributionAgentAccount
is het account waaronder de distributieagent wordt uitgevoerd.
Als het account waarop SQL Server Agent wordt uitgevoerd, geen schrijftoegang heeft tot de COM-map, mislukt de distributieagent wanneer deze als taak wordt uitgevoerd. Als u de distributieagent vanaf een opdrachtregel uitvoert met behulp van een account dat geen schrijftoegang heeft tot de COM-map, treedt dezelfde fout op.
Tijdelijke oplossing
U kunt dit probleem omzeilen door schrijfmachtigingen te verlenen aan de COM-map voor het account waarop de SQL Server Agent-service wordt uitgevoerd. Als u de distributieagent vanaf een opdrachtregel uitvoert, verleent u schrijfmachtigingen aan de COM-map voor het account dat u gebruikt om de distributieagent uit te voeren.
Notitie
Als u het account wijzigt dat is toegewezen aan de replicatietaak, moet het account schrijfmachtigingen hebben voor de COM-map.
Als u dit probleem nog steeds af en toe ondervindt nadat u deze stappen hebt uitgevoerd, moet u ervoor zorgen dat de COM-map wordt uitgesloten van een antivirusscan die op het systeem optreedt.
Meer informatie
Foutcode 5 geeft aan dat de fout 'toegang is geweigerd'.