Foutbericht 'De distributieagent kan geen tijdelijke bestanden maken' wanneer u de distributieagent uitvoert in SQL Server
Dit artikel helpt u het probleem te omzeilen wanneer u de distributieagent uitvoert in SQL Server.
Originele productversie: SQL Server
Origineel 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, ontvangt u een foutbericht zoals het volgende:
De distributieagent kan geen tijdelijke bestanden maken in de map C:\Program Files\Microsoft SQL Server\<nnn>\COM. Door het systeem geretourneerde foutcode 5.
Opmerking
<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.
Opmerking
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. De 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 wordt uitgevoerd als een taak. Als u de distributieagent uitvoert vanaf een opdrachtregel met een account dat geen schrijftoegang heeft tot de COM-map, treedt dezelfde fout op.
Tijdelijke oplossing
U kunt dit probleem omzeilen door schrijfmachtigingen toe te kennen aan de COM-map voor het account waarop de SQL Server Agent-service wordt uitgevoerd. Als u de distributieagent uitvoert vanaf een opdrachtregel, verleent u schrijfmachtigingen aan de COM-map voor het account dat u gebruikt om de distributieagent uit te voeren.
Opmerking
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 plaatsvindt.
Meer informatie
Foutcode 5 geeft aan dat de fout 'toegang is geweigerd'.