如何使用SSRS处理审计日志记录?

时间:2008-08-12 02:39:06

标签: sql-server sql-server-2005 reporting-services reportingservices-2005

我在SQL Server Reporting Services 2005中有一些报告需要保留审计日志。审计日志应包括谁用什么参数运行什么报告。我无法使用Windows身份验证。

记录此信息的最佳方式是什么?

5 个答案:

答案 0 :(得分:2)

以前的评论准确无误,您可以从SQL Server 2000/2005中的ReportServer ExecutionLog表或SQL Server 2008中的ExecutionLogStorage表中挖掘数据。如果您使用基于表单的身份验证来访问报告而不是Windows身份验证,然后您可能会在报告中传递一些唯一的UserID,CompanyID,CustomerID或其他值作为参数。如果是这种情况,则内置表已捕获参数。如果您没有将唯一用户标识符作为参数传递,那么您可能需要依赖于在应用程序本身中记录报告执行。

答案 1 :(得分:2)

您可以分享一些有关身份验证方法的信息吗?

MS提供了一些报告示例,其中包含您开始使用所需的一切。

对于SSRS 2005 http://www.codeplex.com/MSFTRSProdSamples/Wiki/View.aspx?title=SS2005!Server%20Management%20Sample%20Reports&referringTitle=Home

更多报告样本。 http://www.codeplex.com/MSFTRSProdSamples/

答案 2 :(得分:2)

查看ReportServer数据库中的ExecutionLog表。其中包含有关谁运行报告以及使用哪些参数的信息。

我不知道如果没有Windows身份验证,这将如何工作,因为它无法知道谁在运行什么报告。

答案 3 :(得分:1)

来自内存SSRS对于这种确切的情况有built in logging

答案 4 :(得分:0)

如果您使用自定义安全扩展,您仍然可以从ExecutionLog表中获取所需的所有信息。如果所有用户都使用共享登录,则除非偏离正轨,否则您可能需要重新考虑您的体系结构,具体取决于审核日志的重要性。