2011-03-31 41 views
0

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

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

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

道歉,如果这更适合ServerFault,但我不能完全决定哪一方面,因为这是一个在开发过程中遇到的问题。如果是的话我会重新定位它。

非常感谢

史蒂夫

+0

服务器操作系统是2003年还是2008年? – 2011-03-31 13:52:04

回答

1

如果操作系统是2003,检查谁有权访问的SDDL语法来写日志本:http://support.microsoft.com/kb/323076

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

可以使用上述服务帐户给予权限。

+0

就是这样,谢谢!这些链接使我朝着正确的方向发展,并且我发现了一个使用wevtutil完全按照我的意愿更改ACL的好例子:http://jpadda.wordpress.com/2010/08/08/event-log-write-permissions/ 关键是要添加(A ;; 0x3 ;;; AU)以允许所有通过身份验证的用户对有问题的事件日志(应用程序)进行读/写访问,或者将AU替换为特定用户的SID进一步限制。 – 2011-03-31 15:06:34

+0

@Steve Pettifer - 欢迎。乐意效劳 :) – 2011-03-31 15:13:07

相关问题