如何:建立工作負載
工作負載是對您要微調的資料庫所執行的一組 Transact-SQL 陳述式。微調資料庫時,Database Engine Tuning Advisor 圖形化使用者介面 (GUI) 及 dta 命令列公用程式會使用追蹤檔案、追蹤資料表或 Transact-SQL 指令碼來做為工作負載輸入。工作負載亦可內嵌在 XML 輸入檔中,您也可以在該檔中指定各事件的加權。如需指定內嵌工作負載的詳細資訊,請參閱<使用 XML 輸入檔進行微調>。
您可以使用 Microsoft SQL Server Management Studio 中的 [查詢編輯器] 或您喜好的文字編輯器,來建立 Transact-SQL 指令碼工作負載。若要建立追蹤檔案或追蹤資料表工作負載,請使用 SQL Server Profiler。Database Engine Tuning Advisor 會分析這些工作負載,以建議可增進伺服器查詢效能的索引或分割策略。
[!附註]
使用追蹤資料表作為工作負載時,該資料表必須位於 Database Engine Tuning Advisor 所微調的同一部伺服器上。若您在不同的伺服器上建立追蹤資料表,請將它移到 Database Engine Tuning Advisor 正在微調的伺服器。
若要使用 SQL Server Management Studio 查詢編輯器來建立 Transact-SQL 指令碼工作負載
在 SQL Server Management Studio 中啟動 [查詢編輯器]。如需如何執行此步驟的詳細資訊,請參閱<在 SQL Server Management Studio 中編輯指令碼和檔案>。
在 [查詢編輯器] 中鍵入您的 Transact-SQL 指令碼。此指令碼應包含一組 Transact-SQL 陳述式,可針對您要微調的資料庫來執行。請用 .sql 副檔名儲存檔案。Database Engine Tuning Advisor GUI 及命令列公用程式都可使用這個 Transact-SQL 指令碼來做為工作負載。
若要使用 SQL Server Profiler 來建立追蹤檔案及追蹤資料表工作負載
使用下列其中一種方法來啟動 SQL Server Profiler:
在 [開始] 功能表中,依序指向 [所有程式]、[Microsoft SQL Server] 和 [效能工具],然後按一下 [SQL Server Profiler]。
在 SQL Server Management Studio 中,按一下 [工具] 功能表,然後按一下 [SQL Server Profiler]。
按照下列程序,使用 SQL Server Profiler**[微調]** 範本來建立追蹤檔案或資料表:
如何:將追蹤結果儲存至檔案 (SQL Server Profiler)
Database Engine Tuning Advisor 會假設工作負載追蹤檔案為換用檔案。如需有關換用檔案的詳細資訊,請參閱<限制追蹤檔案和資料表的大小>。
如何:將追蹤結果儲存到資料表 (SQL Server Profiler)
將追蹤資料表作為工作負載使用之前,請確定已停止追蹤。
我們建議您使用 SQL Server Profiler [微調] 範本來擷取 Database Engine Tuning Advisor 的工作負載。
若您想要使用自己的範本,請確定已針對您所使用的 SQL Server 版本擷取下列追蹤事件。
SQL Server 2005 及更新的版本:
RPC:Completed
SQL:BatchCompleted
SP:StmtCompleted
SQL Server 2000:
RPC:Completed
SQL:BatchCompleted
您也可以使用這些追蹤事件的 Starting 版本,例如 SQL:BatchStarting。不過,這些追蹤事件的 Completed 版本包含 Duration 資料行,能讓 Database Engine Tuning Advisor 更有效率地微調工作負載。Database Engine Tuning Advisor 不會微調其他類型的追蹤事件。如需這些追蹤事件的詳細資訊,請參閱<Stored Procedures 事件類別目錄>和<TSQL 事件類別目錄>。如需使用「SQL 追蹤」預存程序來建立追蹤檔案工作負載的詳細資訊,請參閱<如何:建立追蹤 (Transact-SQL)>。
包含 LoginName 資料行的追蹤檔案或追蹤資料表工作負載
Database Engine Tuning Advisor 會在微調處理過程中送出「執行程序表」要求。將包含 LoginName 資料行的追蹤資料表或檔案當作工作負載來使用時,Database Engine Tuning Advisor 會模擬 LoginName 中指定的使用者。如果此使用者沒有 SHOWPLAN 權限,無法為追蹤所包含的陳述式執行和產生「執行程序表」,Database Engine Tuning Advisor 就不會微調這些陳述式。如需有關 LoginName 資料行的詳細資訊,請參閱 <使用資料行描述事件>。如需有關 SHOWPLAN 權限的詳細資訊,請參閱<執行程序表安全性>。
若要避免將 SHOWPLAN 權限授與追蹤之 LoginName 資料行所指定的每個使用者
微調追蹤檔案或資料表工作負載。如需詳細資訊,請參閱<如何:微調資料庫>。
從未微調的事件刪除 LoginName 資料行來建立新工作負載,然後在新的追蹤檔案或資料表中僅儲存未微調的事件。如需有關從追蹤刪除資料行的詳細資訊,請參閱 如何:指定追蹤檔案的事件 (SQL Server Profiler) 或 如何:修改現有的追蹤 (Transact-SQL)。
將不含 LoginName 資料行的工作負載重新提交給 Database Engine Tuning Advisor。
由於追蹤中沒有指定登入資訊,所以 Database Engine Tuning Advisor 將會微調新的工作負載。如果陳述式中沒有 LoginName,Database Engine Tuning Advisor 便會藉由模擬起始微調工作階段的使用者 (sysadmin 固定伺服器角色或 db_owner 固定資料庫角色),來微調該陳述式。