<p>I have some reports in SQL Server Reporting Services 2005 that I need to keep audit logs for.  The audit log should include who ran what report with what parameters.  I can't use Windows authentication.</p>

<p>What is the best way to log this information?</p>

[{'answer_id': 8425, 'author': 'lomaxx', 'author_id': 493, 'author_profile': 'https://Stackoverflow.com/users/493', 'pm_score': 1, 'selected': False, 'text': '<p>From memory SSRS has <a href="http://msdn.microsoft.com/en-us/library/ms159110.aspx" rel="nofollow noreferrer">built in logging</a> for this exact situation</p>\n'}, {'answer_id': 8427, 'author': 'Ray', 'author_id': 233, 'author_profile': 'https://Stackoverflow.com/users/233', 'pm_score': 2, 'selected': False, 'text': "<p>Have a look at the ExecutionLog table in the ReportServer database. This contains information on who ran what report and with what parameters.</p>\n\n<p>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.</p>\n"}, {'answer_id': 11236, 'author': 'jason saldo', 'author_id': 1293, 'author_profile': 'https://Stackoverflow.com/users/1293', 'pm_score': 2, 'selected': False, 'text': '<p>Can you share some info on your authentication method?</p>\n\n<p>MS provides some report samples that include everything you need to get started.</p>\n\n<p>For SSRS 2005\n<a href="http://www.codeplex.com/MSFTRSProdSamples/Wiki/View.aspx?title=SS2005!Server%20Management%20Sample%20Reports&amp;referringTitle=Home" rel="nofollow noreferrer">http://www.codeplex.com/MSFTRSProdSamples/Wiki/View.aspx?title=SS2005!Server%20Management%20Sample%20Reports&amp;referringTitle=Home</a></p>\n\n<p>Many more report Samples.\n<a href="http://www.codeplex.com/MSFTRSProdSamples/" rel="nofollow noreferrer">http://www.codeplex.com/MSFTRSProdSamples/</a></p>\n'}, {'answer_id': 55892, 'author': 'Patman', 'author_id': 5729, 'author_profile': 'https://Stackoverflow.com/users/5729', 'pm_score': 0, 'selected': False, 'text': '<p>If you are using a custom security extention, you will still be able to get all the info you need from the ExecutionLog table. 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.</p>\n'}, {'answer_id': 402856, 'author': 'Registered User', 'author_id': 38332, 'author_profile': 'https://Stackoverflow.com/users/38332', 'pm_score': 3, 'selected': True, 'text': "<p>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.  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.</p>\n"}]
['https://Stackoverflow.com/questions/8422', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/571/']