SSRS 2008 R2 提供兩種報表傳遞途徑:
- 電子郵件遞送
- 分享資料夾遞送
訂閱的方式也有兩種:
- 標準訂閱:每次設定獨立的訂閱條件。
- 資料導向訂閱:設計大批客製化訂閱,必須 SSRS 企業版以上方能提供此功能。
訂閱的精神在於利用排程的方式預先將報表處理完成,再透過傳遞途徑將報表送到報表使用者的手中。
SSRS 分為兩種排程模式,分別為報表特定排程以及共用排程。共用排程可以一次處理多張報表以及多個訂閱,如果排程有所變更,只需修改一處即可,對報表伺服器管理員來說,管理的工作較輕鬆。報表特定排程只有在共用排程顯示所需的週期都不敷使用時,或是只需針對單一報表設定週期,才會另行設定報表特定排程。
在使用排程執行報表之前,SQL Server Agent 必須先啟動 ( 預設是停用的 ),因 SSRS 是利用 SQL Server Agent 來作為排程引擎,以及利用 SQL Server Agent 作業觸發報表執行。此外,也必須將新的執行報表身份認證資訊事先儲存於報表伺服器中,因 SSRS 無法根據 Windows 整合認證以執行排程報表。基本上,會設計一組獨立的登入帳號以用來執行報表,同時僅賦予該帳號以下權限:
- ReportServer 資料庫的讀取權限。
- msdb 資料庫的讀取權限。
- 包含在報表內的所有資料庫物件的讀取權限。
共用排程
在報表管理員或是 SSMS 中都可以建立共用排程,在報表管理員之中,只要點選右上方的「站台設定」連結,並切換至「排程」分頁。
也可以在 SSMS 中設定,必須先連入「報表伺服器」,在「共用排程」資料夾按右鍵,並選取「新增排程」選項。
不論是使用報表管理員或是 SSMS 建立共用排程,設定者必須先隸屬於「系統安全性角色」且具備「管理共用排程」權限,「系統管理員」是預設具備此權限的。
報表特定排程
沒有適當的共用排程或只想對單張報表設定特定排程時,再嘗試使用報表特定排程。過度開放權限讓使用者可以自行設定報表特定排程,將造成報表伺服器管理上的困擾。
報表特定排程是依附在特定報表之上,因此,為了要定義報表特定排程,可直接在設定報表快取重新整理計劃、快照集或是訂閱的介面中再另行設定。
標準訂閱
利用訂閱將表主動遞送以滿足取得報表的需求,讓報表在指定時間、指定條件、指定轉譯格式,以及傳送方法遞送給報表使用者的技術,而訂閱本身必須與排程相互結合。
SSRS 可以利用分享資料夾或是使用簡易郵件傳輸協定 ( Simple Mail Transport Protocol;SMTP ) 以電子郵件方式傳遞。
在舊版 SSRS 所提供的空值傳遞 ( Null Delivery ) 模式,是表示報表並不傳送至任何地方,而是根據排程儲存於快取中,這種模式已經在 SSRS 2008 R2 中被快取重新整理整理計劃所取代 ( 在資料導向訂閱中仍保留 ),建立報表快取可以協助提升前端使用者存取報表效能。
前置作業
進入此報表的「訂閱」頁籤,點選「新增訂閱」後即可進入訂閱畫面。要注意的是,所選取的報表必須使用預存認證,否則「新增訂閱」按鈕便無法使用。錯誤訊息「無法建立訂閱,因為並未儲存用來執行報表的認證,或者是使用連結報表,而連結不再有效」
若此報表在 BIDS 設計時,資料來源若是使用「內嵌連接」,而在認證的分頁沒有特別設定,使用預設值「使用 Windows 驗證 ( 整合式安全性 )」。
則在報表管理員中,在此報表中切換至「資料來源」頁籤,點選「安全地儲存在報表伺服器中的認證」,並勾選「連接到資料來源時作為 Windows 認證」。
若此報表在 BIDS 設計時,資料來源若是「使用共用資料來源參考」。
為了避免在報表管理員介面中還要設定「執行報表的認證」,可以在 BIDS 設計階段即設定好相關認證資料。
若在 BIDS 中使用「共用資料來源屬性」,則在「認證」的分頁中設定「連接資料來源的認證」,則在報表管理員中不需要修改任可值。資料來源若是使用「內嵌連接」也是一樣。
若在 BIDS 設計中,將資料來源屬性「認證」分頁中,使用 DB 的帳號也可以。
在報表管理員此報表的「資料來源」分頁中,不用勾選「連接到資料來源時作為 Windows 認證」。
※ 注意不要勾選「連接到資料來源後,模擬已驗證的使用者」。因為如此一來,SSRS 會真的以為這是透過 Windows 整合驗證,即使按下「測試連接」的按鈕後,顯示「成功建立連接」,會造成仍舊無法訂閱的狀況。
設定完資料來源認證後,雖然點選訂閱可以進入畫面,但卻找不到電子郵件的選項,因還沒設定發送訂閱信件的代表電子郵件的資訊。
必須在 SSRS 組態管理員中設定系統的電子郵件功能,否則在「指定報表傳遞的選項」中「傳遞者」下拉選單裡沒有利用電子郵件派送的選項。
先開啟「Reporting Services 組態管理員」,切換至「電子郵件設定」畫面,輸入「寄件者地址」與「SMTP伺服器」。
也可以利用 SQL Server 內建的 Database Mail 功能來協助進行發信。
輸入設定名稱後,並點選「加入」按鈕,以加入新的電子郵件帳戶。
可以設定此設定檔要給所有使用者共用或是特定使用者使用。
可設定發信的相關參數
完成 Database Mail 的設定。
沒有留言:
張貼留言