5

我有一个工作,它有一个运行 BCP 来查询一些数据的存储过程。

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

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

我的问题是:

我如何获得 SQL 作业来运行 BCP 来执行 QUERYOUT 并拥有这样做的权限?

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

这个问题让我发疯了,从在线阅读来看,运行作业的用户似乎需要对该文件夹的权限。该文件夹不受保护或任何东西。

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

任何帮助将不胜感激。

4

1 回答 1

13

检查分配给 SQL Server 代理服务的用户。打开 services.msc,找到 SQL Server 代理并检查登录属性。将有一个 LocalSystem 用户(不太可能,根据您的描述)或另一个用户。

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

于 2013-02-07T02:33:26.777 回答