【问题标题】:Running batch with BCP commands via SQL Server Agent通过 SQL Server 代理使用 BCP 命令运行批处理
【发布时间】:2018-06-04 00:53:25
【问题描述】:

当我运行批处理文件时:

BCP "SELECT * FROM [KW_GRECOS].[dbo].[V_G076a]" queryout "G:\Bulk\V_G076a_new.bcp" -N -S localhost -T -E
BCP "[KW_GRECOS].[dbo].[hist_V_G076a]" IN "G:\Bulk\V_G076a_new.bcp" -N -S localhost -T -E -b 1000000 -h "CHECK_CONSTRAINTS"

它工作得很好,但是当我从 SQL Server 代理中的作业执行相同的批处理时:

cmd.exe /c "E:\batch\Bulk_copy.bat"

它不工作:

日期、来源、严重性、步骤 ID、服务器、作业名称、步骤 名称、通知、消息、持续时间、Sql 严重性、Sql 消息 ID,操作员已发送电子邮件,操作员网络已发送,操作员已寻呼,已尝试重试 12/21/2017 00:40:37,NightBulk,Error,,DBSERVER,NightBulk,,,工作 失败的。作业由用户 eTour\ITcom 调用。最后一步 运行是第 1 步(1 批量插入)。该作业被要求开始于 步骤 1(1 批量插入)。,00:00:00,0,0,,,,0 2017 年 12 月 21 日 00:40:37,NightBulk,Error,1,DBSERVER,NightBulk,1 批量插入,,执行 作为用户:DBSERVER\ITcom。 C:\Windows\system32>BCP "SELECT * FROM [KW_eTour].[dbo].[V_G075a]" queryout "G:\Bulk\V_G075a_new.bcp" -N -S localhost -T -E SQLState = S1000 NativeError = 0 错误 = [Microsoft][ODBC Driver 11 for SQL Server]无法打开 BCP 主机 数据文件。进程退出代码 1. 步骤失败。,00:00:00,0,0,,,,0

【问题讨论】:

    标签: sql-server batch-file bcp sql-server-agent


    【解决方案1】:

    这是由于权限不足。
    SQL Server 代理服务用户无法访问文件G:\Bulk\V_G075a_new.bcp

    您有以下选择:

    • 将文件移动到服务用户可以访问的位置。
    • 修改文件/文件夹的 NTFS 权限以允许 SQL Server 代理服务用户访问文件

    【讨论】:

    • 文件夹“G:\Bulk\”对所有人都有完全的控制权,这还不够吗?
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-24
    • 2019-01-22
    相关资源
    最近更新 更多