Delen via


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'.