本文將介紹如何在 Windows Azure 管理入口網站建立 SQL Reporting。
【情境描述】
在過去 SQL Reporting 只能在舊版由 Silverlight 所開發的 Windows Azure 管理入口網站中使用,現在 SQL Reporting 也已經搬到新版入口管理網站了。
除此之外還有一些更新像是管理入口網站開始支援繁體中文,以及 Mobile Services 支援 Android 平台等,還有新的 Service Bus Notification Hub (Preview)服務,詳細說明可以參考小朱大的這篇文章,本文就針對 SQL Reporting 在 Windows Azure 新管理入口網站的部分,請見下一節。
【詳細內容】
當您登入 Windows Azure 管理入口網站後,您可以從頁面左側看到一個新的 SQL REPORTING 功能節點,請點選 CREATE REPORTING SERVICE。
您也可以點選上圖網頁左下角的 NEW,管理入口網站都會引導您輸入 Reporting Service 的名稱(SERVICE NAME)、區域(REGION)、所使用的訂閱項目(SUBSCRIPTION)以及管理者的帳號密碼等資訊,輸入完畢之後按下 CREATE SQL REPORTING SERVICE。
建立完畢之後您就可以在 SQL Reporting 管理頁面上看到您剛剛建立的 Reporting Service,點選 reporting service 項目旁邊的向右箭頭。
跟其他 Windows Azure 服務一樣會出現歡迎畫面,告訴您使用這個雲端服務所所需要使用的工具,以及相關的學習資源。而要開發報表並部署至 SQL Reporting 可以使用 SSDT(SQL Server Data Tools)或 Reporting Builder,前者的 SSDT 是包含在 SQL Server 2012 的安裝程式當中,您必須下載 SQL Server 2012 Express with Advanced Services,於安裝過程中勾選安裝 SSDT;後者的 Report Builder 是設計給 Power User 可以依照需求自行設計報表的一套報表開發工具,筆者就以 SQL Server 2012 Report Builder(以下簡稱 Reporting Builder 3.0)做示範。此外,您也可以利用 SSDT 的前身(BIDS)來開發 SQL Reporting 報表,詳見筆者之前的這篇文章。
在安裝 Reporting Builder 3.0 過程當中安裝程式會要求您輸入 Default target server url,指的是 SQL Reporting 的 Web Service URL。
要查詢您所建立的 Reporting Service 的 Web Service URL 可以點選 Reporting Service 內容頁面上的 DASHBOARD。
在 Dashboard 頁面中您可以用來查看您 SQL Reporting 的使用情形,或是下載報表的執行紀錄等,當然還有最重要的 Web Service URL,將下圖紅色框框處的網址複製下來貼到安裝 Report Builder 3.0 的 Default Target Server 步驟。
若您在安裝 Report Builder 3.0 時有輸入 Target Server URL,在當您開啟程式後會立刻連線至 SQL Reporting,並要求您輸入您建立 Reporting Service 的管理員帳號密碼。
順利連上 SQL Reporting 後您可以利用 Getting Started 視窗所提供的功能來快速建立報表(New Report)、建立資料集(New Dataset)或開啟現有報表,在此筆者選擇 Blank Report(空白報表)。
接下來筆者建立一個 Data Source,用來連接 SQL Database 上的 Northwind 資料庫。
接著建立 Dataset 來取得 region 資料表的資料。
有了資料來源和資料集之後,再來就是如何呈現資料的問題,您可以點選 Report Builder 3.0 功能區塊【Insert > Table > Insert Table】來加入表格控制項到報表主體。
在表格的 Data 區域中選擇 Dataset 的 RegionID和 RegionDescription 屬性,最後按下 Run 按鈕來檢視報表的執行結果。
若沒問題的話您將看到如下圖的執行結果:
當您按下儲存時您會發現您儲存報表的路徑就是在安裝 Report Builder 3.0 的過程當中您所輸入的 Reporting Service Web Service URL,跟以 SSDT 或 BIDS 不同的是,使用 Report Builder 3.0 開發的報表不需要部署,他會在儲存的時候直接存放至 SQL Reporting,因此您使用這種方式開發報表或是提供給 Power User 設計自己的報表時,資料來源以及資料集的權限,還有報表存取權限都應該事先規劃清楚,有關安全性的部分本文暫時不進行討論。
儲存報表之後回到 Windows Azure 管理入口網站的 SQL Reporting 頁面中點選 ITEMS 之後您就可以看到剛剛利用 Report Builder 3.0 開發並自動上傳的報表。
您可以選擇報表之後點選下方的 MANAGE PERMISSION 來設定這張報表的存取權限,權限設定的部分可以由上一層(parent)繼承下來,也可以自己進行單張報表的權限指派。和 SSRS 一樣的是 SQL Reporting 的權限設定依然是遵循 Role based,預設提供 BROWSER、CONTENT MANAER、MY REPORTS、PUBLISHER、REPORT BUILDER 等角色,考量到安全性及管理便利性,請盡量依照此安全性架構來指派報表的存取權限。筆者嘗試建立一個 USER,其 USER NAME 為 User1。
接著再回到 ITEMS 查看 Untitled 這張報表的權限,除了原本建立 Reporting Service 所輸入的管理員帳號外,User1 也自動套用權限可以瀏覽這張報表,您可以嘗試將 User1 刪除藉以實驗 User1 禁止存取 Untitled 報表的情境。
要如何瀏覽您存放在 SQL Reporting 上的報表?您可以點選 Reporting Services 項目的 WEB SERVICE URL。
您會被導到報表管理員網站這就跟使用地端的 SSRS 是一樣的,輸入完帳號密碼之後按下 Sign in。
由於目前整個 Reporting Service 只有一張 Untitled 報表,而且您使用 User1 又不具瀏覽報表的權限,因此進去之後空無一物。
此時回到報表的權限設定畫面,將 User 1 瀏覽報表的權限加回去。
再回頭來重新整理剛剛以 User1 登入報表管理員的網頁,您就可以看到 Untitled 報表已經出現。
點選報表名稱的超連結之後您就可以看到執行結果。
透過以上的說明,相信您應該對新版 Windows Azure 管理入口網站建立 SQL Reporting 以及利用 Report Builder 3.0 開發報表有基本的認識,本文就先介紹到此,至於 SQL Reporting 的其他應用再另文介紹。
【參考資料】
[Windows Azure] 關於 Windows Azure 的部份更新
Create and use a reporting service in Windows Azure SQL Reporting
初探 Windows Azure SQL Reporting
Install SQL Server Data Tools to create reports on Windows Azure
Manage SQL Reporting in the Windows Azure Management Portal
Windows Azure Updates: Android Support, SQL Reporting Services, Active Directory, More…