【问题标题】:Execute ssis package with dtexec - sql server logging not writing events to database使用 dtexec 执行 ssis 包 - sql server 日志记录未将事件写入数据库
【发布时间】:2014-09-08 16:31:59
【问题描述】:

我正在使用 sql server 数据工具创建 ssis 包,以将数据从 AS400 提取到 sql 2012 express 数据库。我正在运行 Windows 7、64 位。我在 Visual Studio Shell 中创建了包并将日志记录设置到文本文件和 sql server 数据库中。在 Visual Studio shell 中运行时,程序包会执行,并且会填充日志文本文件和 sysssislog 表。但是,当使用 Windows 调度程序和 dtexec 实用程序执行打包时,不会填充 sql server 日志表,但会填充文本文件。

有谁知道是否需要为数据库中的任何服务帐户授予特殊权限,以便在使用 dtexec 实用程序执行时更新日志表 sysssislog?是否可能 dtexec 使用的帐户无权写入日志表或执行存储过程?

我在 Windows 调度程序中使用的唯一参数是 /f "\server\filepath\package.dtsx"。我在visual studio中设置了日志记录。是否可能还需要将日志记录设置为参数?

如果需要更多信息,请告诉我。

【问题讨论】:

  • 在您的 dtexec 调用中,添加 /rep EWI(错误、警告、信息)。我打赌你会看到类似“数据库 X 中的 CREATE TABLE 权限被拒绝”之类的东西
  • 我对此一无所知。日志表已经存在,因为它是我在 Visual Studio 中运行包时创建的。使用 dtexec 运行时,它不会记录任何内容。
  • 启动 SQL Profiler 并观察您认为应该记录的位置。您应该会看到对sp_ssis_addlogentry 的连接和调用
  • 我正在运行 sql express,我刚刚阅读了另一篇关于类似错误的帖子。我检查了一下,我想我实际上没有安装集成服务 - 我有数据工具,但这可以解释为什么我在数据工具之外运行包时遇到问题,对吧?我什至不认为 express 带有 sql profiler。
  • 是的,没有安装集成服务服务(这实际上归结为许可)会阻止程序包执行。尽管填充了您的文本错误文件,但我觉得很好奇。

标签: windows ssis scheduler dtexec


【解决方案1】:

事实证明,问题是我的机器上没有安装 SSIS,只有设计器 (SSDT),这就是为什么在 Visual Studio 中执行包时日志记录工作正常,但在使用 DTExec 实用程序时不能正常工作的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    相关资源
    最近更新 更多