SQL的最佳化與監視(SQL Server Profiler)

來源:互聯網
上載者:User

 

0.簡介

        SQL Server 提供 SQL 追蹤和事件通知來監視資料庫引擎中發生的事件。

       通過記錄指定事件,SQL 追蹤可以協助您解決效能問題、審核心數據庫活動、收集用於測試環境的樣本資料、調試 Transact-SQL 陳述式和預存程序以及為效能分析工具收集資料。可以通過 SQL Server Profiler(一個圖形化使用者介面)或在命令列輸入的 Transact-SQL 系統預存程序訪問 SQL 追蹤。

        運行時,SQL 追蹤在資料庫引擎中的事件發生時捕獲事件。捕獲的事件是您選擇在某進程中進行監視的事件類別執行個體,此進程稱為一個 trace。每個事件類別都包括一個事件名稱和多個資料列(用於描述特定情況下發生的事件類別的屬性)。跟蹤中指定事件類別的某個事件發生時,SQL 追蹤將把事件名稱和關聯資料記錄到追蹤檔案中。

        通常,通過 SQL Server Profiler 訪問 SQL 追蹤。還可以使用 Transact-SQL 系統預存程序來訪問 SQL 追蹤。SQL Server Profiler 可以使用 SQL 追蹤的全部事件捕獲功能並添加跟蹤表資訊、將追蹤定義儲存為模板、提取查詢計劃和死結事件作為單獨的 XML 檔案以及重播跟蹤結果以進行診斷和最佳化的能力。

       事件通知將有關 SQL 追蹤捕獲的許多相同事件的資訊發送到 Service Broker 服務。但事件通知與跟蹤不同,它可用於在 SQL Server 內響應事件執行操作。由於事件通知非同步執行,因此這些操作不佔用即時事務定義的任何資源。

      下列主題說明如何使用 SQL Server Profiler、SQL 追蹤和事件通知來監視事件。

 

SQL Server Profiler介紹

SQL Server Profiler 是用於從伺服器捕獲 SQL Server 事件的工具。事件儲存在一個追蹤檔案中,可在以後對該檔案進行分析,也可以在試圖診斷某個問題時,用它來重播某一系列的步驟。SQL Server Profiler 用於下列活動中:

  • 逐步分析有問題的查詢以找到問題的原因。

  • 尋找並診斷運行慢的查詢。

  • 捕獲導致某個問題的一系列 Transact-SQL 陳述式。然後用所儲存的跟蹤在某台測試伺服器上複製此問題,接著在該測試伺服器上診斷問題。

  • 監視 SQL Server 的效能以最佳化工作負載。有關為資料庫工作負載而最佳化物理資料庫設計的資訊,請參閱Database Engine Tuning Advisor概述。

  • 使效能計數器與診斷問題關聯

SQL Server Profiler 還支援對 SQL Server 執行個體上執行的操作進行審核。審核將記錄與安全相關的操作,供安全性系統管理員以後複查。

 

如何建立跟蹤
  • 在[檔案] 功能表上,單擊“建立跟蹤”,並串連到 SQL Server 執行個體。 此時,將顯示“跟蹤屬性”對話方塊。
  • 在“跟蹤名稱”框中,鍵入跟蹤的名稱。
  • 在“使用模板”列表中,為此跟蹤選擇一個跟蹤模板;如果不想使用模板,請選擇“空白”。
  • 若要儲存跟蹤結果,請執行下列操作之一:
    • 單擊“儲存到檔案”將跟蹤捕獲到檔案中。指定“設定最大檔案大小”的值。預設值為 5 MB。或者,選擇“啟用檔案換用”,以便當檔案大小達到最大值時自動建立新檔案。也可以選擇“伺服器處理跟蹤資料”,由正在運行跟蹤的服務而不是用戶端應用程式來處理跟蹤資料。在伺服器處理跟蹤資料時,即使是在壓力較大的情況下也不會跳過事件,但是伺服器效能可能會受到影響。
    • 單擊“儲存到表”將跟蹤捕獲到資料庫表中。
  • 根據需要,可以單擊“設定最大行數”,並指定值。

  • 根據需要,可以選中“啟用跟蹤停止時間”複選框,再指定停止日期和時間。
  • 若要添加或刪除事件、資料列或篩選器,請單擊“事件選擇”選項卡。有關詳細資料,請參閱:如何指定追蹤檔案的事件和資料列 (SQL Server Profiler)
  • 單擊“運行”啟動跟蹤功能。
注意

       如果不將跟蹤結果儲存到檔案或表中,則當 SQL Server Profiler開啟時可以查看跟蹤。但是,在停止跟蹤並關閉 SQL Server Profiler之後會丟失跟蹤結果。為了避免這種丟失跟蹤結果的情況,可以在關閉 SQL Server Profiler之前單擊[檔案] 功能表上的“儲存”來儲存結果。

    1. 根據需要,可以選中“啟用跟蹤停止時間”複選框,再指定停止日期和時間。

    2. 若要添加或刪除事件、資料列或篩選器,請單擊“事件選擇”選項卡。有關詳細資料,請參閱:如何指定追蹤檔案的事件和資料列 (SQL Server Profiler)

    3. 單擊“運行”啟動跟蹤功能。

          在 SQL Server 2008 中,可以使用擴充事件來排除效能問題。擴充事件可更加深入地探查 SQL Server 的內部工作原理,可在複雜的故障排除情況中使用。有關詳細資料,請參閱 SQL Server 擴充事件。

     

    主題 說明
    SQL 追蹤簡介 說明 SQL 追蹤如何工作以及如何使用預存程序建立跟蹤。
    SQL Server Profiler 簡介 說明如何使用 SQL Server Profiler 進行跟蹤。
    最佳化工具 + 生產力和工具的效能 介紹可以經過最佳化來提高工具 + 生產力和工具效能的伺服器操作
    最佳化伺服器效能 說明如何最佳化 SQL Server 來提高伺服器效能。
    事件通知簡介 說明事件通知如何工作以及如何使用事件通知來監視和響應資料庫和伺服器事件
    使用 SQL Server Management Studio 監視 說明如何使用 SQL Server Management Studio 來監視 SQL Server 效能。
    監視錯誤記錄檔 說明如何使用 SQL Server 錯誤記錄檔和 Microsoft Windows 應用程式記錄檔來監視 SQL Server 活動。
    用 Transact-SQL 陳述式監視 說明如何使用 Transact-SQL 陳述式來監視 SQL Server 執行個體。

     

    參考

    SQL Server 事件類別參考

    其他資源

    事件通知(資料庫引擎)
    協助和資訊

    擷取 SQL Server 2008 協助

    相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.