Как вы ведете ведение журнала аудита с помощью SSRS?
Вопрос
У меня есть несколько отчетов в службах SQL Server Reporting Services 2005, для которых мне нужно вести журналы аудита.В журнале аудита должно быть указано, кто, какой отчет и с какими параметрами выполнил.Я не могу использовать аутентификацию Windows.
Как лучше всего записать эту информацию?
Решение
Предыдущие комментарии были совершенно неточны в том, что вы можете извлечь данные из таблицы ReportServer ExecutionLog в SQL Server 2000/2005 или таблицы ExecutionLogStorage в SQL Server 2008.Если вы используете аутентификацию на основе форм для доступа к отчетам вместо аутентификации Windows, то вы, вероятно, передаете какой-то уникальный UserID, CompanyID, CustomerID или другое значение в качестве параметра в своих отчетах.Если это так, то встроенная таблица уже фиксирует параметры.Если вы не передаете уникальный идентификатор пользователя в качестве параметра, вам, вероятно, придется полагаться на регистрацию выполнения отчетов в самом вашем приложении.
Другие советы
Посмотрите таблицу ExecutionLog в базе данных ReportServer.Содержит информацию о том, кто какой отчет запустил и с какими параметрами.
Однако я не уверен, как это будет работать без аутентификации Windows, поскольку у нее не будет возможности узнать, кто какой отчет запускает.
Можете ли вы поделиться информацией о вашем методе аутентификации?
MS предоставляет несколько образцов отчетов, которые включают в себя все необходимое для начала работы.
Еще много примеров отчетов.http://www.codeplex.com/MSFTRSProdSamples/
По памяти у SSRS есть встроенное журналирование именно для этой ситуации
Если вы используете собственное расширение безопасности, вы все равно сможете получить всю необходимую информацию из таблицы ExecutionLog.Если только не сбиться с курса, если все ваши пользователи используют общий логин, и в этом случае вам, вероятно, придется пересмотреть свою архитектуру, в зависимости от важности журнала аудита.