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

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

有帮助吗?

解决方案

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

其他提示

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

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

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

MS 提供了一些报告示例,其中包括您入门所需的一切。

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

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

根据记忆 SSRS 有 内置日志记录 对于这种具体情况

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top