来自SSIS包的Windows事件日志访问在SQL代理作业中运行

时间:2011-03-31 13:35:12

标签: sql-server sql-server-2008 ssis event-log sql-agent-job

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

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

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

道歉,如果这更适合ServerFault,但我无法确定这个线路的哪一侧,因为它是在开发过程中遇到的问题。如果是的话我会重新安置它。

非常感谢

史蒂夫

1 个答案:

答案 0 :(得分:1)

如果操作系统是2003,请检查有权访问者的SDDL语法:http://support.microsoft.com/kb/323076

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

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