如何授予对SQL Server代理的访问权限以便能够编写/修改系统文件?

时间:2013-02-07 02:00:51

标签: sql sql-server tsql jobs bcp

我的作业有一个存储过程,可以运行BCP到QUERYOUT一些数据。

如果我自己运行QUERYOUT命令,它就可以工作。

但是,如果我尝试在JOB中运行它,它会创建文件但是"挂起"并且数据永远不会放在文件中。这会永远挂起,所以我通常会终止BCP.exe。

我的问题是:

如何让SQL作业运行BCP来执行QUERYOUT并拥有执行此操作的权限?

QUERYOUT将转到C:\驱动器(所以没什么特别的东西)。

这个问题让我疯狂,并且无法在线阅读,看起来运行作业的用户需要该文件夹的权限。该文件夹未受保护或任何其他内容。

SQL作业的所有者是SQL中SYS ADMIN组的一部分。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:12)

检查为SQL Server代理服务分配了哪些用户。打开services.msc,找到SQL Server代理并检查登录属性。将有一个LocalSystem用户(不太可能,基于你所描述的)或其他用户。

检查用户是否对您尝试编写BCP转储的文件夹具有“写入”权限。