SQL Server 2008中報表服務功能淺介
對于大多數(shù)應用者來說報表服務是依賴于廣泛的服務和軟件組件,所以當其在辨別某個問題的根本原因(并提供一個解決方案)時將主要依賴于環(huán)境、交互的錯誤信息、日志或追蹤文件的內容所提供的線索。通常情況下都是通過以下的方法來實現(xiàn)故障排除:
?評估主機操作系統(tǒng)的整個健壯性;
?檢查Internet Information Services、ASP.NET以及Reporting Services Web Services的配置和性能;
?檢查SQL Server 實例和報表服務數(shù)據(jù)庫的可操作性(這可能包括報表所依賴的數(shù)據(jù)源的優(yōu)化);
?改正報表服務器和報表管理器特定的配置錯誤或失敗之處;
?Windows Event Logs
雖然你可以在系統(tǒng)日志中找到一些報表服務相關的項目(因為SQL Server報表服務功能是作為一個操作系統(tǒng)服務來使用的),我們感興趣的內容還是主要在應用程序日志中。可以根據(jù)它們顯示為Report Server Windows Service或Report Manager的Source參數(shù)來分辨。一些更相關的事件包括報表服務器和報表管理器開啟和關閉錯誤、配置變更(例如那些反映對RSReportServer.config文件所做的修改)、安全事件(潛在的對服務攻擊的拒絕)和活動(與加密密鑰相關的問題)事件、以及性能或日志記錄問題(例如創(chuàng)建性能計算器或寫到跟蹤日志失敗)。
?Reporting Services Trace Logs
如果從應用程序事件日志中得不到任何結論,那么參照這些文件考慮更詳細。它們位于Program Files\Microsoft SQL Server\InstanceName\LogFiles文件夾下(InstanceName是存放報表服務數(shù)據(jù)庫的SQL Server Express Edition實例),它們的名稱是以合并它們的創(chuàng)建日期和時間的規(guī)范來命名的,它們包含關于Report Sever Windows服務工作器(ReportServerService_timestamp.log)和管理(ReportServerService_main_timestamp.log)線程的數(shù)據(jù),以及跟蹤由它的Web service(ReportServer_timestamp.log)和報表管理器(ReportServerWebApp_timestamp.log)所觸發(fā)的單個事件。
盡管有一個內置機制促進對它們的增長進行控制(強制一天至少創(chuàng)建一次新日志,限制它們小于32MB,并自動刪除14天以前的舊日志),但是對于報表服務相對較為活躍的情況你可能會遇到磁盤空間問題。為了避免這些,考慮調整日志的最大規(guī)模和它們的保留時間,或者降低日志記錄的級別,通過修改被各個報表服務組件所使用的下面的配置文件中指定給DefaultTraceSwitch參數(shù)的值(0完全關閉跟蹤,1記錄異常和重啟,2跟蹤異常、重啟和警告,3包括其它的狀態(tài)信息,4代表詳細模式,這只限于在排除故障期間臨時使用):
Report Server Windows service ? 在Microsoft SQL server\MSSQL.x\Reporting Services\Report Server\bin文件夾下的ReportingServicesService.exe。
Report Server Web service ? 在Microsoft SQL server\MSSQL.x\Reporting Services\Report Server\ReportServer文件夾下的Web.config。
Report Manager ? 在Microsoft SQL server\MSSQL.x\Reporting Services\Report Server\ReportManager 文件夾下的Web.config。
MSSQL.x代表本地SQL Server Express Edition Reporting Services實例。你也可以調整RSTrace參數(shù)的Components的值的設置,它決定了要跟蹤的各個組件,以及它們相應的跟蹤級別。
?Report Server Execution Log
每次報表執(zhí)行都被記錄在Report Server 數(shù)據(jù)庫中的dbo.ExecutionLog表中。在那里所存儲的數(shù)據(jù)包括報表標識符、啟動它的用戶名、渲染格式(例如HTML、PDF或Excel)、參數(shù)、啟動和結束時間、狀態(tài)(成功或失敗,帶有相應的錯誤代碼)、以及性能相關的統(tǒng)計(例如數(shù)據(jù)獲取的時間、處理和渲染或總字節(jié)數(shù)和記錄數(shù))。雖然微軟提供了示例Execution Log報表,但是它們的功能依賴于一個Integration Services包,而SQL Server 2005 Express Edition不支持它,所以如果你想查看它們的內容,你需要開發(fā)你自己定制的機制來以友好的格式展示它。
記住,日志默認情況下每60天清理一次,雖然這個值可以通過使用SQL Server Reporting Services Site Settings頁面上的Remove log entries older than this number of days文本框來修改。如果需要的話,還可以關閉報表執(zhí)行日志記錄,通過取消同一位置的Enable report execution logging復選框的勾選。
?IIS Server Logs和 Failed Request Tracing
雖然不是專用于報表服務的,但是由存放報表服務虛擬目錄的Internet Information Services站點所生成的日志記錄的項可以指出連接性或應用程序池相關的錯誤。配置過程根據(jù)IIS的版本而有所不同。對于IIS5和6(運行于Windows XP或Windows Server 2003操作系統(tǒng)),這是通過報表服務站點的Properties 對話框中Web Site標簽頁上的Enable Logging復選框來完成的,在這里你可以指定Active log format以及General Properties(例如New Log Time Period 或 Log file directory)和Extended Properties(具體確定你想記錄哪些數(shù)據(jù))。使用Vista和 IIS 7的話,你首先需要通過Turn Windows features on or off控制面板applet(從這里導向World Wide Web Services節(jié)點的Health Diagnostics子節(jié)點)使想要的日志記錄和跟蹤選項可用。當這個步驟完成時,在Internet Information Services (IIS) Manager中在Web site級別添加Failed Request Tracing Rules。
?Setup Logs
在SQL Server安裝程序的每次調用過程中創(chuàng)建的,存儲在Program Files\Microsoft SQL Server\90\Setup Bootstrap\LOG目錄下。Summary.txt存在于它的根目錄下,提供關于每一個SQL Server 2005 Express Edition本地安裝的產(chǎn)品(例如支持文件、SQL Server Native Client、SQL Server Management Studio Express或Reporting Services)的基本概況(名稱和版本、安裝結果、以及一個相應的、產(chǎn)品特定的日志文件名稱)。如果失敗了,你可以檢查參考文件(它的名稱是以SQLSetupxxxx_hostname_productname.log的形式,xxxx是一個連續(xù)的整數(shù),它是被自動分配給每個新安裝的,hostname表示本地計算機的名稱,productname是被安裝的產(chǎn)品名稱,例如對于Reporting Services它的productname就是RS)。
?Windows Performance Logs
當在數(shù)據(jù)獲取以及報表生成或渲染過程中遇到拋出的錯誤時,你應該檢查Reporting Services所依賴的各個組件的執(zhí)行。這些一般包括操作系統(tǒng)資源(例如內存或處理器使用級別、磁盤分頁、讀和寫隊列的長度)、IIS和 ASP.NET、以及SQL Server和Reporting Services特定的計數(shù)器。(但是注意,這個延遲也可能是由于查詢的組織形式不好,或是數(shù)據(jù)庫級別的錯誤配置,例如非最優(yōu)的索引)。辨別這種問題的發(fā)生需要使用(取決于操作系統(tǒng))系統(tǒng)和性能監(jiān)控器(或更多情況下是Task Manager)、計數(shù)器和跟蹤日志或數(shù)據(jù)收集器,以及SQL Server特定的執(zhí)行故障排除工具。
關鍵字:內存 數(shù)據(jù)庫 處理器
新文章:
- CentOS7下圖形配置網(wǎng)絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統(tǒng)后丟失windows啟動項
- CentOS單網(wǎng)卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網(wǎng)打印機IP講解
- CentOS7使用hostapd實現(xiàn)無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網(wǎng)絡重啟出錯
- 解決Centos7雙系統(tǒng)后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統(tǒng)有什么不同呢
- Centos 6.6默認iptable規(guī)則詳解