Reporting Services 數據警示是一種數據驅動警示解決方案,可協助您瞭解對您而言或對您而言很重要的報表數據,以及相關時間。 藉由使用數據警示,您就不必再尋找資訊,它就會帶您來找。
數據警示訊息會透過電子郵件傳送。 根據資訊的重要性,您可以選擇在結果變更時,或多或少地傳送訊息。 您可以指定多個電子郵件收件者,如此可讓其他人獲得通知,以提高效率和共同作業。
適用於: SharePoint 模式 |
數據警示架構和工作流程
下列摘要說明 Reporting Services 數據警示的主要領域:
定義和儲存數據警示定義-您執行報表、建立識別有趣數據值的規則、定義傳送數據警示訊息的週期模式,以及指定警示訊息的收件者。
執行數據警示定義-警示服務會依排程時間處理警示定義、擷取報表數據、根據警示定義中的規則建立數據警示實例。
將數據警示訊息傳遞給收件者-警示服務會建立警示實例,並透過電子郵件將警示訊息傳送給收件者。
此外,身為數據警示擁有者,您可以檢視數據警示的相關信息,以及刪除和編輯您的數據警示定義。 警示只有一個擁有者,也就是建立警示的人員。
警示系統管理員、具有 SharePoint 管理警示許可權的使用者,可以在網站層級管理數據警示。 他們可以檢視每個網站使用者警示的清單,並刪除警示。
Reporting Services 數據警示與 SharePoint 警示不同。 您可以在任何文件類型上定義 SharePoint 警示,包括報表。 SharePoint 警示會在文件變更時傳送。 例如,您可以將欄位加入至報表中的資料表。 相反地,當報表中顯示的數據符合警示定義中的規則時,就會傳送數據警示。 規則通常會參考報表中顯示的數據。
藉由在報表上建立數據警示,您可以監視報表數據中的變更,並在報表數據遵循規則來定義您和其他人感興趣的數據,以及符合業務需求的間隔時,以電子郵件傳送數據警示訊息。 您也可以視需要執行數據警示。 如果您有 SharePoint 建立警示許可權,您可以在有權檢視的任何報表上建立警示。 您可以在報表上建立多個警示,而多個用戶可以在報表上建立相同或不同的警示。 若要與其他人共同作業,您可以在您所建立的數據警示定義中,將其指定為警示訊息的收件者。
下圖顯示建立和儲存數據警示定義的工作流程、建立 SQL Agent 作業以開始處理數據警示的實例,以及傳送包含透過電子郵件觸發警示之報表數據的數據警示訊息。
數據警示支持的報告
您可以在以報表定義語言 (RDL) 撰寫的所有專業報表類型上建立數據警示,並在報表設計師或報表產生器中建立。 包含數據表和圖表等數據區的報表、具有子報表的報表,以及具有多個平行數據行群組和巢狀數據區的複雜報表。 唯一的需求是報表包含至少一個任何類型的數據區域,而且報表數據源已設定為使用預存認證或沒有認證。 如果報表沒有數據區域,則您無法在報表上建立警示。
您無法在使用 Power View 建立的報表上建立數據警示。
當您以原生模式或 SharePoint 模式安裝 Reporting Services,或使用獨立版本的報表產生器時,您可以將報表儲存到報表伺服器、您的電腦或 SharePoint 文檔庫。 若要在報表上建立數據警示,報表必須儲存或上傳至 SharePoint 文檔庫。 這表示您無法在以原生模式或您的電腦儲存至報表伺服器的報表上建立警示。 此外,您無法建立內嵌在自定義應用程式中的警示。
Reporting Services 支援報表中的各種認證類型。 您可以在報表上建立數據警示,其數據源已設定為使用預存認證,或沒有認證。 您無法在設定為使用整合式安全性認證或提示認證的報告上建立警示。 報表作為處理警示定義的一部分執行,且若沒有憑證,處理將失敗。 如需詳細資訊,請參閱下列:
產生報表
建立數據警示定義的第一個步驟是在 SharePoint 文件庫中找出您想要的報表,然後執行報表。 如果報表在執行報表時未包含任何數據,則此時無法針對報表建立警示。
如果報表已參數化,您可以指定執行報表時要使用的參數值。 參數值會儲存在您在報表上建立的數據警示定義中。 當報表重新執行為處理數據警示定義的步驟時,會使用這些值。 如果您想要變更參數值,您必須使用這些參數值重新執行報表,並在該版本的報表上建立警示定義。
建立數據警示定義
Reporting Services 數據警示功能包含數據警示設計工具,可用來建立數據警示定義。
若要建立數據警示定義,您可以執行報表,然後從 [SharePoint 報表查看器 動作 ] 功能表開啟 [數據警示設計工具]。 會產生報表的報表數據摘要,而數據摘要中的前100個數據列會顯示在數據警示設計工具的數據預覽數據表中。 只要您在數據警示設計工具中處理警示定義,報表中的所有數據源都會被快取。 快取可讓您在不同的資料來源之間快速切換。 當您在數據警示設計工具中重新開啟警示定義時,會重新整理數據摘要。
數據警示定義包含報告數據必須滿足的規則和子句來觸發數據警示訊息、定義傳送警示訊息頻率的排程,以及選擇性地開始和停止傳送警示訊息的日期、主旨行等資訊,以及要包含在警示訊息中的描述。 和郵件的收件者。 建立警示定義之後,您會將其儲存至 SQL Server 警示資料庫。
儲存數據警示定義和警示元數據
當您在 SharePoint 模式中安裝 Reporting Services 時,會自動建立 SQL Server 警示資料庫。
數據警示定義和警示元數據會儲存在警示資料庫中。 根據預設,此資料庫名為 ReportingServices<GUID>_Alerting。
當您儲存資料警示定義時,系統會為該警示定義建立一個 SQL Server Agent 作業。 作業包含作業排程。 排程是以您在警示定義上定義的週期模式為基礎。 執行作業會起始數據警示定義的處理。
處理數據警示定義
當 SQL Server Agent 作業的排程開始處理警示定義時,會執行報表來重新整理報表數據摘要。 警示服務會讀取數據摘要,並套用數據警示定義指定給數據值的規則。 如果一或多個數據值滿足規則,則會建立數據警示實例,並透過電子郵件傳送具有警示結果的數據警示訊息給所有收件者。 結果是報表數據列,這些數據列符合警示實例建立時的所有規則。 若要防止具有相同結果的多個警示訊息,您可以指定只有在結果變更時才會傳送訊息。 在此情況下,警示實例會建立並儲存至警示資料庫,但不會產生警示訊息。 如果發生錯誤,警示實例也會儲存至警示資料庫,並將包含錯誤詳細數據的警示訊息傳送給收件者。 本主題稍後的診斷和記錄一節包含記錄和疑難解答的詳細資訊。
傳送數據警示訊息
數據警示訊息會透過電子郵件傳送。
From 行包含 Reporting Services 電子郵件傳遞組態所提供的值。 收件者行會列出您在資料警示設計工具中建立警示時所指定的收件者。
除了您在數據警示設計工具中指定的電子郵件主旨行之外,數據警示訊息也包含下列資訊:
建立數據警示定義的人員名稱。
如果您在警示定義中提供描述,則會顯示在電子郵件文字頂端。
警示結果包含報表數據源中的數據列,這些數據列符合警示定義中指定的規則。
警報定義所依據的報表連結。
警示定義中的規則。
您用來執行報表的參數和值。
來自報表數據區外部之報表項目的內容值。
如果無法建立數據警示實例或數據警示訊息,則會將錯誤訊息傳送給所有收件者。 訊息會包含錯誤描述,而不是警示結果。
如需詳細資訊,請參閱 數據警示訊息。
安裝資料警報
只有在 Reporting Services 安裝在 SharePoint 模式時,才能使用數據警示功能。 當您在 SharePoint 模式中安裝 Reporting Services 時,安裝程式會自動建立警示資料庫來儲存數據警示定義和警示元數據,以及兩個 SharePoint 頁面來管理警示,並將數據警示設計工具新增至 SharePoint 網站。 沒有特殊步驟可執行或設定選項,以在安裝期間發出警示。
如果您想要深入瞭解如何在 SharePoint 模式中安裝 Reporting Services,包括 SQL Server 2012 中新增的 Reporting Services 共用服務和您必須建立及設定的 Reporting Services 服務應用程式,才能使用 Reporting Services 功能,請參閱在 MSDN 文檔庫中 安裝 Reporting Services SharePoint 模式 for SharePoint 2010 。
如本主題稍早的圖表所示,數據警示會使用 SQL Server Agent 作業。 若要建立作業,SQL Server Agent 必須執行。 您可能已將 SQL Server Agent 設定為在安裝 Reporting Services 時自動啟動。 如果沒有,您可以手動啟動 SQL Server Agent。 如需詳細資訊,請參閱 設定 SQL Server Agent 和 啟動、停止、暫停、恢復、重新啟動資料庫引擎、SQL Server Agent 或 SQL Server 瀏覽器服務。
您可以使用 SharePoint 管理中心的 [ 布建訂閱和警示 ] 頁面,瞭解 SQL Server Agent 是否正在執行並建立和下載自定義的 Transact-SQL 腳本,然後執行 以授與 SQL Server Agent 的許可權。 如果也可以使用PowerShell產生 Transact-SQL 腳本。 如需詳細資訊,請參閱 SSRS 服務應用程式的訂閱和警示設定。
設定數據警示
從 SQL Server 2012 開始,每當您在 SharePoint 模式中安裝 Reporting Services 時,Reporting Services 功能的設定,包括數據警示,都會分散在報表伺服器組態檔 (rsreportserver.config) 和 SharePoint 組態資料庫之間。 當您在安裝和設定 Reporting Services 時建立服務應用程式時,會自動建立 SharePoint 組態資料庫。 如需詳細資訊,請參閱 RSReportServer 組態檔 和 Reporting Services 組態檔。
Reporting Services 數據警示的設定包括清除警示數據和元數據的間隔,以及透過電子郵件傳送數據警示訊息時的重試次數。 您可以更新組態檔和組態資料庫,以針對數據警示設定使用不同的值。
您可以直接更新報表伺服器組態檔。 您可以使用 Windows PowerShell Cmdlet 來更新 SharePoint 組態資料庫。
下表列出數據警示的組態專案、其預設值、描述和位置。
設定 | 預設值 | 說明 | 地點 |
---|---|---|---|
AlertingCleanupCycleMinutes | 20 | 清除周期開始之間的分鐘數。 | 報表伺服器組態檔 |
警報執行日誌清理分鐘數 | 10080 | 執行日誌保留的時間(以分鐘為單位)。 | 報表伺服器組態檔 |
警示數據清理分鐘 | 360 | 保留暫存數據的分鐘數。 | 報表伺服器組態檔 |
警報最大數據保留天數 | 180 | 刪除警示執行元數據、警示實例和執行結果之前的天數。 | 報表伺服器組態檔 |
MaxRetries | 3 | 重試處理數據警示的次數。 | 服務組態資料庫 |
重試前的秒數 | 900 | 每次重試前要等候的秒數。 | 服務組態資料庫 |
根據預設,MaxRetries 和 SecondsBeforeRetry 設定會套用至數據警示引發的所有事件。 如果您想要更細微地控制重試和重試延遲,您可以為指定不同 MaxRetries 和 SecondsBeforeRetry 值的任何和所有事件處理程式新增元素。
事件處理程式和重試
事件處理程式為:
事件處理程式 | 說明 |
---|---|
FireAlert | 您在數據警示管理員中點擊 執行 以立即處理警示定義。 |
消防排程 | SQL Server Agent 會啟動警示定義的作業排程。 |
創建行程表 | 您可以建立數據警示定義,並根據警示定義中指定的頻率間隔來建立 SQL Server Agent 作業排程。 |
更新排程 | 您可以更新數據警示定義的頻率間隔,並更新 SQL Server Agent 作業排程。 |
刪除時間表 | 當您刪除數據警示定義時,其 SQL Server Agent 作業也會被刪除。 |
生成警報 | 警示運行時間會處理報表數據摘要、套用數據警示定義中指定的規則、決定是否要建立數據警示的實例,並視需要建立數據警示的實例。 |
DeliverAlert | 運行時間會建立數據警示訊息,並透過電子郵件傳送給所有收件者。 |
下表摘要說明事件處理常式,以及重試機制會何時觸發:
錯誤類別 | < | < | 事件類型 | > | > | > | |
---|---|---|---|---|---|---|---|
FireAlert | 火災排程 | CreateSchedule | UpdateSchedule | 刪除行程 | GenerateAlert | DeliverAlert | |
記憶體不足 | X | X | X | X | X | X | X |
線程中止 | X | X | X | X | X | X | X |
SQL Agent 未執行 | X | X | X | X | |||
暫時性。 主要是因為連線問題、逾時和鎖定所致。 | X | X | X | X | X | X | X |
IOException | X | ||||||
WebException(網頁異常) | X | ||||||
SocketException | X | ||||||
SMTPException (*) | X |
* 將觸發重試的 SMTP 錯誤:
SmtpStatusCode.服務不可用
SmtpStatusCode.MailboxBusy
SmtpStatusCode.MailboxUnavailable
停用數據警示
如果您想要停用數據警示功能,請更新組態檔的 [服務] 區段。 下列程式代碼顯示組態檔的服務區段。
<Service>
<IsSchedulingService>True</IsSchedulingService>
<IsNotificationService>True</IsNotificationService>
<IsEventService>True</IsEventService>
<IsAlertingService>True</IsAlertingService>
...
</Service>
若要停用警示,請將 中的 <IsAlertingService>True</IsAlertingService>
True 變更為 False。
數據警示的許可權
您必須先有許可權在 SharePoint 網站上建立報表並建立警示,才能在報表上建立數據警示。 若要深入瞭解報表許可權,請參閱下列內容。
在 SharePoint 網站上設定報告伺服器項目權限(SharePoint 整合模式的報告服務)
Reporting Services 數據警示支援兩個許可權等級:資訊工作者和警示系統管理員。 下表列出相關的 SharePoint 許可權和使用者工作。
用戶類型 | SharePoint 許可權 | 工作描述 |
---|---|---|
資訊工作者 | 檢視項目 建立警示 |
檢視報表等項目,並在報表上建立數據警示。 編輯和刪除警示。 |
正在通知管理員 | 管理警示 | 檢視儲存在 SharePoint 網站上的所有資料警示清單,並刪除警示。 |
診斷和記錄
數據警示提供數種方式來協助資訊工作者和系統管理員追蹤警示,並瞭解警示失敗的原因,並協助系統管理員使用記錄來瞭解哪些警示訊息已傳送給誰、傳送的警示實例數目等等。
數據警示管理員
數據警示管理員會列出警示定義和錯誤資訊,協助資訊工作者和警示系統管理員了解失敗發生的原因。 失敗的一些常見原因包括:
報表數據摘要已變更,且數據警示定義規則中使用的數據行不再包含在數據摘要中。
已撤銷檢視報表的許可權。
基礎數據源中的數據類型已變更,而且警示定義已不再有效。
日誌
Reporting Services 提供數個記錄,可協助您深入瞭解處理數據警示定義、所建立的數據警示實例等等時所執行的報表。 三個記錄特別有用:警示執行記錄、報表伺服器執行記錄和報表伺服器追蹤記錄。
如需其他 Reporting Services 記錄的相關信息,請參閱 Reporting Services 記錄檔和來源。
警示操作日誌
警示執行時服務會在警示資料庫的 ExecutionLogView 資料表中寫入記錄。 您可以查詢數據表或執行下列預存程式,以取得儲存至警示資料庫之數據警示的更豐富診斷資訊。
ReadAlertData
閱讀警報歷史
讀取警報實例
讀取事件歷史
ReadFeedPollHistory
ReadFeedPools
ReadPollData
ReadSentAlerts
您可以使用 SQL Agent 依排程執行預存程式。 如需詳細資訊,請參閱 SQL Server Agent。
報表伺服器執行日誌
執行報表來生成建立數據警示定義所依據的數據來源。 報表伺服器資料庫中的報表伺服器執行記錄檔會在每次執行報表時擷取資訊。 您可以在資料庫中查詢 ExecutionLog2 檢視以取得詳細資訊。 如需詳細資訊,請參閱 報表伺服器執行記錄和 ExecutionLog3 檢視。
報表伺服器追蹤記錄檔
報表伺服器追蹤記錄包含報表伺服器服務作業的高度詳細資訊,包括報表伺服器 Web 服務和背景處理所執行的作業。 如果您要偵錯包含報表伺服器的應用程式,或調查寫入事件記錄檔或執行記錄檔的特定問題,追蹤記錄資訊可能會很有用。 如需詳細資訊,請參閱 Report Server Service Trace Log。
效能計數器
數據警示會提供自己的性能計數器。 除了其中一個性能計數器之外,其餘都與屬於警示運行時間服務一部分的事件有關。 與事件佇列相關的性能計數器會告知所有作用中事件的佇列長度。
事件或事件佇列 | 效能計數器 |
---|---|
警告佇列大小 | 警示:事件佇列過長 |
火警警報 | 警示:事件已處理 - FireAlert |
消防排程 | 警示:已處理的事件 - FireSchedule |
創建行程表 | 警示:已處理事件 - 建立排程 |
更新排程 | 警報:事件已處理 - UpdateSchedule |
刪除時間表 | 警報:已處理的事件 - 刪除排程 |
生成警報 | 警示:已處理的事件 - 產生警報 |
DeliverAlert | 警示:事件已處理 - DeliverAlert |
Reporting Services 為其他 Reporting Services 功能提供性能計數器。 如需詳細資訊,請參閱 ReportServer:Service 和 ReportServerSharePoint:Service 性能計數器、MSRS 2014 Web 服務和 MSRS 2014 Windows 服務性能計數器(原生模式),以及MSRS 2014 Web 服務 SharePoint 模式和 MSRS 2014 Windows 服務 SharePoint 模式性能計數器(SharePoint 模式)。
支援 SSL
Reporting Services 可以使用 HTTP SSL(安全套接字層)服務來建立報表伺服器或 SharePoint 網站的加密連線。
警示運行時間服務和數據警示使用者介面支援 SSL,而且不論您使用 SSL 或 HTTP,都同樣有效;不過,有一些微妙的差異。 使用 和 SSL 連線建立數據警示定義時,從數據警示訊息連結回 SharePoint 文檔庫的 URL 也會使用 SSL。 您可以識別 SSL 連線,因為它在其 URL 中使用 HTTPS 而不是 HTTP。 同樣地,如果使用 HTTP 連線建立數據警示定義,則回到 SharePoint 網站的連結會使用 HTTP。 無論警示定義是使用 SSL 或 HTTP 建立,使用數據警示設計工具或數據警示管理員時,使用者和警示系統管理員的體驗都相同。 如果通訊協定 (HTTP 或 SSL) 應該在建立警示定義的時間之間變更,然後更新並重新儲存,則會保留原始通訊協定,並用於連結 URL 中。
如果您在設定為使用 SSL 的 SharePoint 網站上建立數據警示,然後移除 SSL 需求,警示會繼續在網站上運作。 如果刪除網站,則會改用預設區域網站。
數據警示使用者介面
數據警示提供 SharePoint 頁面來管理警示,以及建立和編輯數據警示定義的設計工具。
您用來建立或編輯資料警示定義的資料警示設計器。 如需詳細資訊,請參閱 數據警示設計工具、 在數據警示設計工具中建立數據警示 和 在警示設計工具中編輯數據警示。
數據警示管理員 ,您可以在其中檢視數據警示清單、刪除警示,以及開啟要編輯的警示。 數據警示管理員有兩個版本:一個供使用者管理其建立的警示,另一個供系統管理員管理屬於網站使用者的警示。
如需管理您所建立之數據警示的詳細資訊,請參閱 SharePoint 使用者的數據警示管理員 和 在數據警示管理員中管理我的數據警示。
如需管理網站上所有數據警示的詳細資訊,請參閱警示 系統管理員的數據警示管理員 和 在數據警示管理員中管理 SharePoint 網站上的所有數據警示。
設定訂用帳戶和資料警示,以確定 Reporting Services 是否可以使用 SQL Server Agent 來執行資料警示,並下載允許存取 SQL Server Agent 的腳本。 如需詳細資訊,請參閱 SSRS 服務應用程式的訂閱和警示設定。
數據警示的全球化
某些腳本,例如阿拉伯文和希伯來文,由右至左撰寫。 數據警示支援由右至左的腳本,以及由左至右的腳本。 數據警示會偵測文化特性,並據此改變使用者介面的外觀和行為,以及數據警示訊息的配置。 文化特性衍生自用戶電腦上的作系統區域設定。 每次更新並重新儲存數據警示定義時,都會儲存文化特性。
數據是否符合警示定義中的規則可能會受到警示定義中設定特性的影響。 字串比較最常受到文化特性特定規則的影響。
判斷報表數據是否符合警示定義中的規則,可能會受到警示定義中文化特性的影響。 這最常發生在字串中。 例如,在以德語文化設定的警示定義中,英文字母 “o” 與德文字母 “ö” 的比較規則將不被滿足。 在使用英文語言環境的相同警示定義中,規則會被滿足。
數據格式也會以警示定義的文化特性為基礎。 例如,如果文化特性使用句號做為十進位符號,則值會顯示為 45.67;而文化特性使用逗號做為十進位符號,則顯示45,67。
根據您使用的數據警示使用者介面而定,由右至左的支援會有所不同。 數據警示設計工具支援文本框的由右至左腳本,但設計工具的配置不是由右至左。 其版面配置會像其他工具一樣由左至右。 如果警示定義是以由右至左文字方向建立,然後在從左至右的環境中編輯,當您儲存警示定義時,會保留從右至左的文字方向。 數據警示管理員的行為與 SharePoint 頁面相同。 其版面配置由右至左,就像其他 SharePoint 頁面一樣。 以從右至左數據警示定義為基礎的數據警示訊息,由右至左顯示消息正文,而訊息配置則是由左至右。