Share via


關於工作負載

若要針對資料庫的索引、索引檢視或資料分割,提出一組最合適的建議,Database Engine Tuning Advisor 必須使用工作負載。工作負載包含儲存至檔案或資料表的 Transact-SQL 指令碼或 SQL Server Profiler 追蹤。如果您使用 SQL Server Profiler 追蹤檔案或資料表,其必須包含 Transact-SQL 批次或遠端程序呼叫 (RPC) 事件類別、Event ClassText 資料行。如需詳細資訊,請參閱<TSQL 事件類別目錄>。

Database Engine Tuning Advisor 設計目的為處理下列工作負載類型:

  • 僅線上交易處理 (OLTP) 查詢

  • 僅線上分析處理 (OLAP) 查詢

  • 混合 OLTP 與 OLAP 查詢

  • 以查詢為主的工作負載 (查詢多於更新)

  • 以更新為主的工作負載 (更新多於查詢)

工作負載必須包含多個可微調的事件,代表針對您的資料庫執行的一般工作負載。

如果沒有現有的工作負載可供 Database Engine Tuning Advisor 分析,您可以使用 SQL Server Profiler 中的「微調範本」建立一個。「微調範本」設定為擷取必要的事件和資料行,以 Database Engine Tuning Advisor 進行微調。如需詳細資訊,請參閱<SQL Server Profiler 範本>。

在追蹤擷取一般資料庫活動的代表範例之後,Database Engine Tuning Advisor 會分析工作負載,然後再建議索引、索引檢視或資料分割的最佳設定,以提升資料庫效能。

您也可以使用下列項目作為工作負載:

  • 組織或產業的特定基準。

  • 執行時間過長的問題查詢。

使用工作負載

當您搭配使用工作負載和 Database Engine Tuning Advisor 時,請考慮下列狀況:

  • 使用追蹤資料表作為工作負載時,該資料表必須位於 Database Engine Tuning Advisor 所微調的同一部伺服器上。如果追蹤資料表是在不同的伺服器上建立的,請將其移動至 Database Engine Tuning Advisor 正在進行微調的伺服器。

  • 使用追蹤資料表作為 Database Engine Tuning Advisor 的工作負載之前,請確定追蹤已經停止。Database Engine Tuning Advisor 不支援使用仍在寫入追蹤事件的追蹤資料表作為工作負載。

  • 如果將追蹤檔案當作工作負載來使用,則 Database Engine Tuning Advisor 會將追蹤檔案假設為換用檔案。如需有關換用檔案的詳細資訊,請參閱<限制追蹤檔案和資料表的大小>。

  • 如果工作負載包含使用 USE PLAN 查詢提示的查詢,而這個查詢提示強制 SQL Server 使用特定的查詢計畫,則 Database Engine Tuning Advisor 會將所有索引都包含在強制執行的計畫中,且不會卸除所有那些索引,作為其微調建議的一部份。

  • Database Engine Tuning Advisor 會在微調處理過程中送出「執行程序表」要求。將包含 LoginName 資料行的追蹤資料表或檔案當作工作負載來使用時,Database Engine Tuning Advisor 會模擬 LoginName 中指定的使用者。如果此使用者的權限不足,無法為追蹤所包含的陳述式執行和產生「執行程序表」,Database Engine Tuning Advisor 就不會微調這些陳述式。若要解決此問題,請從那些未微調的事件中移除 LoginName 資料行。如需詳細資訊,請參閱<如何:建立工作負載>中的「包含 LoginName 資料行的追蹤檔案或追蹤資料表工作負載」。