我有一个具有存储过程的作业,该存储过程运行BCP以查询一些数据。
如果我自己运行QUERYOUT命令,它将起作用。
但是,如果尝试在JOB中运行它,它将创建文件,但会“挂起”,并且永远不会将数据放入文件中。这将永远挂起,因此我通常会终止BCP.exe。
我的问题是:
如何获得SQL作业以运行BCP来执行QUERYOUT并具有执行该权限的权限?
QUERYOUT将转到C:\驱动器(因此没有任何花哨的内容或其他内容)。
这个问题使我发疯,从联机阅读开始,运行作业的用户似乎需要该文件夹的权限。该文件夹不受保护或其他任何保护。
SQL作业的所有者是SQL的SYS ADMIN组的一部分。
任何帮助将不胜感激。
检查分配给SQL Server代理服务的用户。打开services.msc,找到SQL Server代理并检查“登录”属性。将有一个LocalSystem用户(不太可能根据您的描述)或另一个用户。
检查用户是否对您试图写入BCP转储的文件夹具有“写入”访问权限。