2014年2月28日 星期五

[SQL Server 2008R2][SSRS] 報表安全性設定(系統層級安全角色)

在 SSRS 中,除了對報表目錄架構內的各項物件設定項目層級安全性角色外,有些安全性管理工作卻不在這些目錄架構中,此時,必須透過系統層級安全性角色來進行管理。
在 SSRS 中,伺服器管理物件包括了報表伺服器本體、執行、事件、作業、共用排程以及角色。系統層級角色主要是針對這些物件進行新增、刪除、修改與管理。

系統層級角色的工作
工  作
描   述
管理角色 建立、檢視、修改和刪除角色定義。
管理報表伺服器安全性 檢視和修改全系統的角色指派。
檢視報表伺服器屬性 檢視套用到報表伺服器的屬性。
管理報表伺服器屬性 檢視和修改套用到報表伺服器及由其所管理的項目的屬性。
檢視共用排程 檢視已提供一般用途的預先定義排程。
管理共用排程 建立、檢視、修改和刪除用來執行報表或重新整理報表的共用排程。
產生事件 提供能夠在報表伺服器命名空間內產生事件的應用程式。
管理作業 檢視和取消正在執行的作業。
執行報表定義 從報表定義開始執行,不將它發行至報表伺服器。

[SQL Server 2008R2][SSRS] 報表安全性設定(項目層級安全角色)

所謂角色基礎管理是將使用者的權限進行分類,針對每個分類賦預一系列安全性角色的組合,再將使用者及使用者群組指派適當的分類中,以進行安全性管理。
SSRS 提供的安全性工作內容如下表:

2014年2月27日 星期四

[SQL Server 2008R2][SSRS] 報表安全性設定(報表產生器安全性)

報表產生器是很便利的隨選報表查詢工具,可以讓使用者自行至預先定義好的報表模型拖拉產生報表,但方便的同時,更要注意到安全性的考量。
當使用者使用報表產生器,希望能夠同時新增、儲存、修改利用報表產生器所產生的報表時,必須設定系統層級以及項目層級的安全性角色指派。

2014年2月26日 星期三

[SQL Server 2008R2][SSRS] 報表安全性設定(身份認證模式)

在身份驗證方面,除了與 Windows 帳號驗證緊密結合之外,SSRS 2008 中也提供了彈性的自訂驗證設定;至於權限授權方面則是採取角色基礎的安全管理模式,可將安全性角色以及報表物件作彈性的結合。

目前 SSRS 內建兩種驗證模組,分別是 Windows 驗證延伸模組以及自訂延伸模組。其中 Windows 驗證延伸模組可支援多種驗證類型,包含:RSWindowsNegotiate、RSWindowsKerberos、RSWindowsNTLM 及 RSWindowsBasic,每一個驗證類型都可以個別開啟或關閉,因此,報表伺服器可以開啟複數種 Windows 驗證類型。

參考:
http://technet.microsoft.com/zh-tw/library/bb283249.aspx

2014年2月24日 星期一

[SQL Server 2008R2][SSRS] 報表訂閱與派送(前置作業)

將設計好的報表透過最便利的方式傳遞到報表使用者手上,從主管立場考量,最好是有人可以每天把他們要看的報表依照所要設定的參數條件事先處理完成,無須等待直接將內容寄到電子信箱中,最好已轉成 Excel 檔,以便開啟瀏覽。這些需求正是報表訂閱與派送的重點。
SSRS 2008 R2 提供兩種報表傳遞途徑:

  • 電子郵件遞送
  • 分享資料夾遞送

訂閱的方式也有兩種:

  • 標準訂閱:每次設定獨立的訂閱條件。
  • 資料導向訂閱:設計大批客製化訂閱,必須 SSRS 企業版以上方能提供此功能。
訂閱的精神在於利用排程的方式預先將報表處理完成,再透過傳遞途徑將報表送到報表使用者的手中。

[SQL Server 2008R2][SSRS] 連結報表

參數化報表的最重要功能在於利用動態的參數輸入將同類型的報表合併,以有效減少報表數量。對於同一個分析者而言,所需要輸入的參數是固定的,如果每次都需要輸入參數值還是會造成很多麻煩。因此「報表減量」及「方便使用者」這兩個需求下,連結報表 ( Linked Report ) 就是最好的解決方案。
連結報表是一種虛擬的報表對應,它可以繼承一張參數化報表的報表定義,再搭配參數的設定即可構成連結報表。連結報表格式完全與所連結的參數化報表相同,但是卻可以設定獨立的權限、訂閱、排程。例如,一張報表要提供給 10 位主管使用,那麼每位主管可以將這份報表輸入自己的參數值以構成屬於自己的連結報表,並將這個連結報表儲存在「我的報表」區域供自己使用。如此一來,每位主管只要點選自己的連結報表就可以省下輸入參數的麻煩,而且當報表改版時,只要重新部署原有的參數報表,那麼 10 張連結報表內容也會自動更新。

[SQL Server 2008R2][SSRS] 報表執行模式 - 報表記錄設定

報表管理員中的「報表記錄」可用來保存報表的「快照集」,如果不希望舊的快照集被刪除,就可以建立「報表記錄」,這樣就能把每個時間點所產生的快照集保留下來。「報表記錄」就是保留報表在某個時間點的快照集,所以,要建立「報表記錄」之前需要先產生快照集
設定報表記錄要切換至「屬性」頁籤的「快照集選項」分頁,其中產生報表記錄的方式有三種:
  • 使用者可用手動方式建立報表記錄。
  • 使用排程或指定的時間來建立快照集並儲存為報表記錄。
  • 將所有快照集報表儲存為報表記錄。


[SQL Server 2008R2][SSRS] 報表執行模式 - 快照集設定

報表的執行方式設定為「從報表執行快照集轉譯此報表」,在使用者執行這份報表前,報表伺服器便已經將這份報表處理完成,並將此份報表要顯示的資料「預先」儲存在資料庫中,這樣的報表稱為「快照集」。與快取報表最大的差異在於,快取報表儲存在暫存資料庫 ( ReportServerTempDB ) 中,而快照集儲存在報表資料庫 ( ReportServer ) 中。
這項功能對於需要保存「特定時間點」報表而言,例如:財務月報、銷售季報等,可說是非常實用的。報表內容不會隨著查詢時間點,以及來源資料的異動而有不一致,為了達到這樣的效果,可以利用排程在該時點產生快照集,日後使用者則直接利用快照集轉譯報表。