在SQL Server數(shù)據(jù)庫管理中,針對分析服務Analysis Services 的性能優(yōu)化必不可少,這里我們將學習到使用DMV來進行Analysis Services 的優(yōu)化。使用動態(tài)管理視圖 (DMV) 監(jiān)視 Analysis Services 的連接和資源統(tǒng)計信息。 Analysis Services 統(tǒng)計信息的功能可幫助您解決與 Analysis Services 相關的問題并優(yōu)化 Analysis Services 性能。
注意:您可以從 C:\SQLHOLS\Managing Analysis Services\Starter\Exercise3.txt 復制此練習中使用的腳本。每份腳本前面都帶有注釋,以標識和代碼相關的過程和步驟
1. 在 SQL Server Management Studio中的文件菜單中,指向新建,然后單擊Analysis Services MDX 查詢(也可以在工具欄中單擊新建查詢)。
2. 如果顯示連接到 Analysis Services 對話框,請單擊連接。
3. 在工具欄中的可用數(shù)據(jù)庫列表中,確保選中 Adventure Works OLAP 數(shù)據(jù)庫。
4. 鍵入下列命令并執(zhí)行,然后滾動瀏覽結果,查看所有包含以 DISCOVER_ 開頭的 TABLE_NAME 值的行。此查詢?yōu)槟峁┛捎玫?DMV。
SELECT * FROM $SYSTEM.DBSCHEMA_TABLES ORDER BY TABLE_NAME
注意:利用這些 DMV,從服務器檢索性能統(tǒng)計信息的方式可以非常靈活。您可以編寫自定義應用程序或使用 SQL Server Reporting Services 生成報告,收集并查看解決 Analysis Services 環(huán)境問題和優(yōu)化該環(huán)境所需的信息。
5. 在查詢頁中,使用以下命令替換現(xiàn)有查詢,然后單擊執(zhí)行。
SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS
6. 查看查詢結果。調整左起第五列(CONNECTION_HOST_APPLICATION)的列寬,以查看每個連接的完整應用程序名稱。請注意 SQL Server Management Studio 查詢和 SQL Server Management Studio 的結果是有區(qū)分的。
注意:CONNECTION_LAST_COMMAND_START_TIME、CONNECTION_LAST_COMMAND_END_TIME 和 CONNECTION_LAST_COMMAND_ELAPSED_TIME_MS 等值可幫助您找出運行時間長或有問題的查詢。
7. 關閉上一練習結束時保留為打開狀態(tài)的 Adventure Works Cube[瀏覽]窗口。
8. 在 MDXQuery1 選項卡中,重新執(zhí)行步驟 5 的查詢 (SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS),并注意 SQL Server Management Studio 連接不再呈示。記下當前 CONNECTION_ID 值。
9. 最小化 SQL Server Management Studio。
10. 單擊開始|所有程序| Microsoft Office,然后單擊 Microsoft Office Excel 2007。
11. 在 Excel 功能區(qū)中,單擊數(shù)據(jù)選項卡。
12. 在數(shù)據(jù)選項卡中,在獲取外部數(shù)據(jù)部分,單擊自其他來源,然后單擊來自分析服務。
13. 在連接數(shù)據(jù)庫服務器頁中,在服務器名稱框中鍵入 (local),然后單擊下一步。
14. 在選擇數(shù)據(jù)庫和表中,在選擇數(shù)據(jù)庫框中,選擇 Adventure Works OLAP 數(shù)據(jù)庫,單擊 Adventure Works Cube,然后單擊下一步。
15. 在保存數(shù)據(jù)連接文件并完成頁中,單擊完成。
16. 在導入數(shù)據(jù)頁中,查看默認設置,然后單擊確定。
17. 在數(shù)據(jù)透視表字段列表中,在 Internet Sales下,展開Sales,然后選中 Internet Sales-Sales Amount復選框。
18. 在數(shù)據(jù)透視表字段列表中,在Product下,選中Product Categories復選框。
19. 最小化 Microsoft Office Excel®,然后最大化 SQL Server Management Studio。
20. 在 MDXQuery1 選項卡中,重新執(zhí)行步驟 5 的查詢 (SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS),然后記錄 Excel 創(chuàng)建的新連接的 CONNECTION_ID。
21. 在現(xiàn)有查詢下,鍵入以下查詢。
SELECT
session_connection_id
, session_spid
, session_user_name
, session_last_command
, session_start_time
, session_cpu_time_ms
, session_reads
, session_writes
, session_status
, session_current_database
, session_used_memory
, session_start_time
, session_elapsed_time_ms
, session_last_command_start_time
, session_last_command_end_time
FROM $SYSTEM.DISCOVER_SESSIONS
22. 選擇剛剛輸入的查詢,然后單擊執(zhí)行。
23. 查看 session_connection_id 與步驟 20 中記錄的數(shù)字匹配的行的輸出。請注意這些結果中包含用戶名、上一命令和每個連接的 CPU 時間等有用診斷信息。
注意:session_status 為 1 表示在報告運行時具有活動查詢的會話。
24. 鍵入以下命令并執(zhí)行,以查看數(shù)據(jù)庫中每個對象的內(nèi)存使用量。
SELECT * FROM $SYSTEM.DISCOVER_OBJECT_MEMORY_USAGE
25. 鍵入以下命令并執(zhí)行,以查看數(shù)據(jù)庫中每個對象的活動。
SELECT * FROM $SYSTEM.DISCOVER_OBJECT_ACTIVITY
26. 關閉 SQL Server Management Studio 和 Microsoft Office Excel 2007。請勿保存任何文件。
27. 關閉 Hyper-V 窗口
更多信息請查看IT技術專欄