简体   繁体   English

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

[英]How do you handle audit logging with SSRS?

I have some reports in SQL Server Reporting Services 2005 that I need to keep audit logs for. 我在SQL Server Reporting Services 2005中有一些报告需要保留审计日志。 The audit log should include who ran what report with what parameters. 审计日志应包括谁用什么参数运行什么报告。 I can't use Windows authentication. 我无法使用Windows身份验证。

What is the best way to log this information? 记录此信息的最佳方法是什么?

The previous comments were dead on accurate that you can mine the data from the ReportServer ExecutionLog table in SQL Server 2000/2005 or the ExecutionLogStorage table in SQL Server 2008. If you are using form-based authentication to access the reports instead of windows authentication, then you are probably passing some unique UserID, CompanyID, CustomerID, or other value as a parameter in your reports. 以前的注释准确无误,您可以从SQL Server 2000/2005中的ReportServer ExecutionLog表或SQL Server 2008中的ExecutionLogStorage表中挖掘数据。如果您使用基于表单的身份验证来访问报告而不是Windows身份验证,那么您可能会在报告中传递一些唯一的UserID,CompanyID,CustomerID或其他值作为参数。 If this is the case, then the built-in table captures the parameters already. 如果是这种情况,则内置表已捕获参数。 If you aren't passing the unique user identifier as a parameter, then you will probably need to rely on logging report executions in your application itself. 如果您没有将唯一用户标识符作为参数传递,那么您可能需要依赖于在应用程序本身中记录报告执行。

Can you share some info on your authentication method? 您可以分享一些有关身份验证方法的信息吗?

MS provides some report samples that include everything you need to get started. MS提供了一些报告示例,其中包含您入门所需的一切。

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

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

Have a look at the ExecutionLog table in the ReportServer database. 查看ReportServer数据库中的ExecutionLog表。 This contains information on who ran what report and with what parameters. 其中包含有关谁运行报告以及使用哪些参数的信息。

I'm not sure how this is going to work without Windows authentication though, as it'll have no way of knowing who's running what report. 我不知道如果没有Windows身份验证,这将如何工作,因为它无法知道谁在运行什么报告。

从内存SSRS已针对此确切情况内置日志记录

If you are using a custom security extention, you will still be able to get all the info you need from the ExecutionLog table. 如果您使用自定义安全扩展,您仍然可以从ExecutionLog表中获取所需的所有信息。 Unless off-course if all your users uses a shared login, in which case you probably need to reconsider your architecture, depending on the importance of the audit log. 如果所有用户都使用共享登录,则除非偏离正轨,否则您可能需要重新考虑您的体系结构,具体取决于审核日志的重要性。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM