我们如何使用SSRS处理审核日志记录?
我在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或者其他值作为参数。如果是这种情况,则内置表已经捕获了参数。如果我们没有将唯一的用户标识符作为参数传递,那么我们可能需要依赖于在应用程序本身中记录报告执行情况。