0

我创建了一个 SSIS 包,它将部署到客户端 SQL 安装(2005、2008 或 2008 R2)以执行数据提取,为我们的产品提供支持工具。部署过程需要创建一个 Windows AD 帐户(普通用户,没有提升的权限),因为它用作服务帐户,通过凭据和代理帐户在 SQL 代理作业中执行 SSIS 包。这一切都完美无缺,意味着我可以限制执行这项工作所需的权限。

但是,我想将 SSIS 包中的错误日志记录到 Windows 事件日志中。当我在 BIDS 中运行包(当然使用我自己的凭据)并强制包失败时,它记录得很好。当我在由 SQL 代理作业运行时强制包失败(通过将 duff 连接字符串放入配置文件中)时,不会记录任何内容。正在使用服务帐户,它是我的 SQL Server 主机上的经过身份验证的用户,但它不会写入事件日志。如果我将服务帐户添加到本地管理员组,它会很好地写入日志,但我认为 Windows 事件日志的想法是您不需要提升权限来写入它?

我们的支持团队热衷于使用 Windows 事件日志,但如果不向服务帐户授予高权限,我将无法这样做,而我宁愿不这样做。我错过了什么吗?SSIS 作业步骤页面中的“日志记录”选项卡似乎并没有做很多事情,但也许这就是我所缺少的?

如果这更适合 ServerFault,我深表歉意,但我无法确定这属于哪一边,因为这是开发过程中遇到的问题。如果是的话,我会重新安置它。

非常感谢

史蒂夫

4

1 回答 1

1

如果操作系统是 2003,请检查 SDDL 语法,了解谁有权写入日志:http: //support.microsoft.com/kb/323076

如果是 2008,您可以使用 wevtutil 而不是手动输入 SDDL:http: //support.microsoft.com/kb/2028427

可以使用上述方法为服务帐户授予权限。

于 2011-03-31T13:55:38.980 回答