程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server分析服務性能優化淺析

SQL Server分析服務性能優化淺析

編輯:關於SqlServer

在SQL Server數據庫管理中,針對分析服務Analysis Services 的性能優化必不可少,這裡我們將學習到使用DMV來進行Analysis Services 的優化。使用動態管理視圖 (DMV) 監視 Analysis Services 的連接和資源統計信息。 Analysis Services 統計信息的功能可幫助您解決與 Analysis Services 相關的問題並優化 Analysis Services 性能。

注意:您可以從 C:\SQLHOLS\Managing Analysis Services\Starter\Exercise3.txt 復制此練習中使用的腳本。每份腳本前面都帶有注釋,以標識和代碼相關的過程和步驟

1. 在 SQL Server Management Studio中的文件菜單中,指向新建,然後單擊Analysis Services MDX 查詢(也可以在工具欄中單擊新建查詢)。

2. 如果顯示連接到 Analysis Services 對話框,請單擊連接。

3. 在工具欄中的可用數據庫列表中,確保選中 Adventure Works OLAP 數據庫。

4. 鍵入下列命令並執行,然後滾動浏覽結果,查看所有包含以 DISCOVER_ 開頭的 TABLE_NAME 值的行。此查詢為您提供可用的 DMV。

  1. SELECT * FROM $SYSTEM.DBSCHEMA_TABLES  
  2. ORDER BY TABLE_NAME 

注意:利用這些 DMV,從服務器檢索性能統計信息的方式可以非常靈活。您可以編寫自定義應用程序或使用 SQL Server Reporting Services 生成報告,收集並查看解決 Analysis Services 環境問題和優化該環境所需的信息。

5. 在查詢頁中,使用以下命令替換現有查詢,然後單擊執行。

  1. SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS 

6. 查看查詢結果。調整左起第五列(CONNECTION_HOST_APPLICATION)的列寬,以查看每個連接的完整應用程序名稱。請注意 SQL Server Management Studio 查詢和 SQL Server Management Studio 的結果是有區分的。

注意:CONNECTION_LAST_COMMAND_START_TIME、CONNECTION_LAST_COMMAND_END_TIME 和 CONNECTION_LAST_COMMAND_ELAPSED_TIME_MS 等值可幫助您找出運行時間長或有問題的查詢。

7. 關閉上一練習結束時保留為打開狀態的 Adventure Works Cube[浏覽]窗口。

8. 在 MDXQuery1 選項卡中,重新執行步驟 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 功能區中,單擊數據選項卡。

12. 在數據選項卡中,在獲取外部數據部分,單擊自其他來源,然後單擊來自分析服務。

13. 在連接數據庫服務器頁中,在服務器名稱框中鍵入 (local),然後單擊下一步。

14. 在選擇數據庫和表中,在選擇數據庫框中,選擇 Adventure Works OLAP 數據庫,單擊 Adventure Works Cube,然後單擊下一步。

15. 在保存數據連接文件並完成頁中,單擊完成。

16. 在導入數據頁中,查看默認設置,然後單擊確定。

17. 在數據透視表字段列表中,在 Internet Sales下,展開Sales,然後選中 Internet Sales-Sales Amount復選框。

18. 在數據透視表字段列表中,在Product下,選中Product CategorIEs復選框。

19. 最小化 Microsoft Office Excel®,然後最大化 SQL Server Management Studio。

20. 在 MDXQuery1 選項卡中,重新執行步驟 5 的查詢 (SELECT * FROM $SYSTEM.DISCOVER_CONNECTIONS),然後記錄 Excel 創建的新連接的 CONNECTION_ID。

21. 在現有查詢下,鍵入以下查詢。

  1. SELECT 
  2.  
  3. session_connection_id  
  4.  
  5. , session_spid  
  6.  
  7. , session_user_name  
  8.  
  9. , session_last_command  
  10. , session_start_time  
  11. , session_cpu_time_ms  
  12. , session_reads  
  13. , session_writes  
  14. , session_status  
  15. , session_current_database  
  16. , session_used_memory  
  17. , session_start_time  
  18. , session_elapsed_time_ms  
  19. , session_last_command_start_time  
  20. , session_last_command_end_time  
  21. FROM $SYSTEM.DISCOVER_SESSIONS 

      22. 選擇剛剛輸入的查詢,然後單擊執行。

      23. 查看 session_connection_id 與步驟 20 中記錄的數字匹配的行的輸出。請注意這些結果中包含用戶名、上一命令和每個連接的 CPU 時間等有用診斷信息。

      注意:session_status 為 1 表示在報告運行時具有活動查詢的會話。

      24. 鍵入以下命令並執行,以查看數據庫中每個對象的內存使用量。

      1. SELECT * FROM $SYSTEM.DISCOVER_OBJECT_MEMORY_USAGE 

      25. 鍵入以下命令並執行,以查看數據庫中每個對象的活動。

      1. SELECT * FROM $SYSTEM.DISCOVER_OBJECT_ACTIVITY 

      26. 關閉 SQL Server Management Studio 和 Microsoft Office Excel 2007。請勿保存任何文件。

      27. 關閉 Hyper-V 窗口

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved