How do I grant access to SQL Server Agent to be able to write/modify system files?

RJ. picture RJ. · Feb 7, 2013 · Viewed 26k times · Source

I have a job that has a stored procedure that runs BCP to QUERYOUT some data.

If I run the QUERYOUT command by itself, it works.

However, if I try to run it in a JOB, it creates the file but "hangs" and the data is never put in the file. This hangs forever so I usually terminate the BCP.exe.

My question is:

How do I get a SQL job to run BCP to do a QUERYOUT and have the permissions to do so?

The QUERYOUT is going to the C:\ drive (so nothing fancy or anything).

This problem is driving me nuts and from reading online, it looks like the user that runs the jobs needs permissions to the folder. The folder isn't protected or anything.

The owner of the SQL job is part of the SYS ADMIN group in SQL.

Any help would be greatly appreciated.

Answer

cha picture cha · Feb 7, 2013

check what user is assigned to SQL Server Agent service. Open services.msc, locate the SQL Server Agent and check Logon properties. There will be either a LocalSystem user (unlikely, based on what you have described) or another user.

Check that the user has "Write" access to the folder where you are trying to write the BCP dump.