共用方式為


使用 SQL Server Profiler 的實例

使用 SQL Server Profiler 的第一步,就是先找出您監視 SQL Server 執行個體的原因。此主題討論您可以使用 SQL Server Profiler 蒐集追蹤資訊的典型案例。

使用 SQL Server Profiler 的典型案例包括:

  • 找出執行效果不佳的查詢。

    例如,您可以建立追蹤來擷取與 TSQLStored Procedure 事件類別 (RPC:CompletedSQL:BatchCompleted) 相關的事件。將所有的資料行包含於追蹤上,依照 Duration 來分組並指定事件條件。例如,若指定事件的 Duration 必須至少是 10000 個百萬分之一秒時,您可以把持續時間較短的事件從追蹤刪除。Duration 的最小值可以視需要而增加。如果您想要一次只監視一個資料庫,請指定 資料庫識別碼事件條件的值。

  • 識別死結的原因。

    例如,您可以建立追蹤來擷取與 TSQLStored Procedure 事件類別 (RPC:StartingSQL:BatchStarting) 以及 Locks 事件類別 (Deadlock graphLock:DeadlockLock:DeadlockChain) 相關的事件。將所有的資料行包含於追蹤上並依照 EventClass 來分組。如果您想要一次只監視一個資料庫,請指定 資料庫識別碼事件條件的值。如果您指定 Deadlock graph 事件類別,SQL Server Profiler 會產生死結的圖形表示。如需詳細資訊,請參閱<使用 SQL Server Profiler 分析死結>。

    若要檢視陷入死結的連線,請進行下列其中一項:

    • 開啟包含所擷取資料的追蹤,依照 ClientProcessID 將資料分組,並將陷入死結的兩個連接展開。

    • 將擷取的資料儲存至追蹤檔案,並開啟追蹤檔案兩次,讓檔案出現在兩個不同的 SQL Server Profiler 視窗中。依照 ClientProcessID 將擷取的資料分組,並將陷入死結的用戶端處理序識別碼展開;每一個死結的連線位於個別的視窗中。將視窗並排以檢視導致死結的事件。如果您要將特定的死結圖形資料儲存至檔案,請以滑鼠右鍵按一下死結事件,然後選取 [Extract Event Data]

  • 監視預存程序的效能。

    例如,您可以建立追蹤,用來擷取與 Stored Procedure 事件類別 (SP:CompletedSP:StartingSP:StmtCompletedSP:StmtStarting) 以及 TSQL 事件類別 (SQL:BatchStartingSQL:BatchCompleted) 相關的事件。將所有必要資料行納入追蹤內,並依照 ClientProcessID 分組。如果您一次只要監視一個資料庫,請使用「資料庫識別碼」篩選來指定 DatabaseID 事件條件的值。同樣的,如果您一次只要監視一個預存程序,請使用「物件識別碼」篩選來指定 Object ID 事件條件的值。

  • 稽核 SQL Server 活動。

    例如,假設安全管理員一定需要知道誰登入伺服器,您可以建立 SQL Server Profiler 追蹤,提供使用者登入或登出伺服器的完整記錄。這項資訊接著可用於法律用途或技術用途。

    建立追蹤,選取 Audit Login 事件。若要傳回適當的資訊,請指定下列資料行:EventClass (預設會選取)、EventSubClassLoginSIDLoginName

  • 監視每個使用者的 Transact-SQL 活動。

    您可以建立追蹤來擷取 SessionsExistingConnectionTSQL 事件類別的相關事件。將所有的資料行包含於追蹤上,但不要指定任何的事件條件,並依照 DBUserName 將擷取的事件分組。

  • 收集代表性事件範例來進行壓力測試。

    SQL Server Profiler 提供預先定義的 TSQL_Replay 範本,可以用來執行反覆微調,例如基準測試。

  • 收集事件範例,以使用 Database Engine Tuning Advisor 微調實體資料庫設計。

    SQL Server Profiler 提供預先定義的微調範本,可在追蹤輸出中蒐集適當的 Transact-SQL 事件,如此可以做為 Database Engine Tuning Advisor 的工作負載。