2013-06-04 17 views
5

SSRSレポートを使用するか、SQLコードを使用してクエリを実行する方法はありますか。UsernameまたはGroupセキュリティはルートフォルダ、サブフォルダまたは報告?SQL Server Reporting Services 2008 R2 - フォルダとレポートセキュリティ

私は、ADグループがそのルートフォルダ内のすべてのルートフォルダとサブフォルダにアクセスでき、さらにはアクセス権を持つ個々のレポートレベルまでアクセスできることを監査として特定するよう求められました。

このリクエストはどのように達成できますか?

答えて

11

ReportServerデータベースにこの情報を問い合わせることができます。

SELECT 
    CASE [Catalog].[Type] 
     WHEN 1 THEN 'Folder' 
     WHEN 2 THEN 'Report' 
     WHEN 3 THEN 'Resource' 
     WHEN 4 THEN 'Linked Report' 
     WHEN 5 THEN 'Data Source' 
     WHEN 6 THEN 'Report Model' 
     WHEN 8 THEN 'Shared Dataset' 
     WHEN 9 THEN 'Report Part'  
    END AS CatalogType, 
    [Catalog].[Type] 
    --, [Catalog].ItemID 
    ,[Catalog].Name 
    , Roles.RoleName 
    , Users.UserName 
FROM PolicyUserRole 
INNER JOIN Roles ON PolicyUserRole.RoleID = Roles.RoleID 
INNER JOIN Policies ON PolicyUserRole.PolicyID = Policies.PolicyID 
INNER JOIN Users ON PolicyUserRole.UserID = Users.UserID 
INNER JOIN [Catalog] ON PolicyUserRole.PolicyID = [Catalog].PolicyID 
ORDER BY 
    1 
    , [Catalog].ItemID 
    , [Catalog].Name 
    , Roles.RoleName 
    , Users.UserName 
+0

うわー、ありがとう! :Dとても便利! – Learner74

+1

カタログタイプ3が表すものを100%確信しているわけではありません。リストにない他のリソースにも使用できると思います。アップロードされたファイル。これに関するほとんどのドキュメントはありません。また、ReportServerデータベースを直接照会することはMicrosoftによってサポートされておらず、スキーマやこれらの値の意味は、それ以降のバージョンでは変更される可能性があります。 – Nathan

+0

素晴らしい - ありがとう@ネイサン! – hurleystylee