我们如何使用SSRS处理审核日志记录?

时间:2020-03-05 18:39:04  来源:igfitidea点击:

我在SQL Server Reporting Services 2005中有一些报告,需要保留它们的审核日志。审核日志应包括谁运行带有哪些参数的报告。我不能使用Windows身份验证。

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

解决方案

回答

SSRS从内存中为这种确切情况内置了日志记录

回答

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

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

回答

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

MS提供了一些报告样本,其中包括我们入门所需的一切。

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

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

回答

如果我们正在使用自定义安全扩展,则仍然可以从ExecutionLog表中获取所需的所有信息。除非在所有用户都使用共享登录的情况下,否则,根据审核日志的重要性,在这种情况下,我们可能需要重新考虑体系结构。

回答

先前的评论完全不正确,因为我们可以从SQL Server 2000/2005的ReportServer ExecutionLog表或者SQL Server 2008的ExecutionLogStorage表中挖掘数据。那么我们可能会在报表中传递一些唯一的UserID,CompanyID,CustomerID或者其他值作为参数。如果是这种情况,则内置表已经捕获了参数。如果我们没有将唯一的用户标识符作为参数传递,那么我们可能需要依赖于在应用程序本身中记录报告执行情况。