【T-SQL】查詢報表伺服器SSRS的訂閱者與報表路徑

【T-SQL】【SSRS】 查詢報表伺服器SSRS的訂閱者與報表路徑

環境:SQL 2008 R2 

話說,有位年資較久的同事退休了,他手上有訂閱不少過往曾經開發過的報表。

因此部分沒用的要移除,部分要移交給其他同事。

所以利用T-SQL 查詢出有關他接收的報表有哪些與報表路徑,來進行檢視

主要使用到的有兩張TABLE

  1. ReportServer.dbo.Catalog :紀錄報表伺服器上的資料內容
  2. ReportServer.dbo.Subscriptions:報表器伺服器訂閱的設定。

所以我們只要將兩個資料表用報表ID串在一起就可以得到某郵件帳號接收到那些報表。

SELECT S.[Report_OID] AS 報表代碼
      ,S.[ExtensionSettings] AS 收件者郵件參數
      ,S.[Description] AS  說明
      ,C.[Path] AS 存放路徑
      ,C.[Name] AS 報表名稱
	  ,C.[Type] AS 資料種類  
      ,[CreationDate]
  FROM [ReportServer].[dbo].[Subscriptions] AS S
  INNER JOIN [ReportServer].[dbo].[Catalog] AS C
  ON S.[Report_OID] = C.ItemID
  WHERE [ExtensionSettings] like '%alan@aa.com%' -- 收件者郵件內容
  AND C.[Type] = 2 --2是指報表
  

這樣就可以知道使用者是收到哪些報表了。

 

水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。