使用 Database Engine Tuning Advisor 在 Amazon RDS for SQL Server 資料庫執行個體上分析資料庫工作負載 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Database Engine Tuning Advisor 在 Amazon RDS for SQL Server 資料庫執行個體上分析資料庫工作負載

Database Engine Tuning Advisor 是由 Microsoft 提供的用戶端應用程式,可分析資料庫工作負載,並根據您執行的查詢類型建議 Microsoft SQL Server 資料庫的最佳索引集。與 SQL Server Management Studio 一樣,您可以從用戶端電腦執行 Tuning Advisor,該電腦會連線至正在執行 SQL Server RDS 的 Amazon 資料庫執行個體。用戶端電腦可以是您在自己的網路內部部署上執行的本機電腦,也可以是與 Amazon 資料庫執行個體在相同區域中執行的 Amazon EC2 Windows RDS 執行個體。

此小節顯示如何擷取工作負載供 Tuning Advisor 分析。這是擷取工作負載的偏好程序,因為 Amazon RDS會限制主機對SQL伺服器執行個體的存取。如需詳細資訊,請參閱 Microsoft 文件中的 Database Engine Tuning Advisor

若要使用 Tuning Advisor,您必須向建議程式提供名為工作負載的內容。工作負載是一組 Transact-SQL 陳述式,可針對您要調整的資料庫或資料庫執行。資料庫引擎調校顧問在調校資料庫時,會使用追蹤檔案、追蹤資料表、Transact-SQL 指令碼或XML檔案作為工作負載輸入。使用 Amazon 時RDS,工作負載可以是用戶端電腦上的檔案,也可以是用戶端電腦可存取的 Amazon RDS for SQL Server 資料庫上的資料庫資料表。檔案或資料表必須包含對您要調校之資料庫的查詢 (採用適合重播的格式)。

若要讓 Tuning Advisor 更有效,工作負載應該盡可能實際。您可以透過對資料庫執行個體執行追蹤來產生工作負載檔案或資料表。執行追蹤時,您可以在資料庫執行個體上模擬負載或使用一般負載執行應用程式。

有兩個類型的追蹤:用戶端和伺服器端。用戶端追蹤更容易設定,您可以在 SQL Server Profiler 中即時觀看擷取的追蹤事件。伺服器端追蹤設定較為複雜,需要一些 Transact SQL指令碼。此外,由於追蹤會寫入 Amazon RDS 資料庫執行個體上的檔案,因此追蹤會耗用儲存空間。務必追蹤執行伺服器端追蹤所使用的儲存空間,因為資料庫執行個體可能進入儲存空間滿載的狀態,因此如果儲存空間用完將不再可用。

對於用戶端追蹤,當在SQL伺服器分析工具中擷取足夠的追蹤資料量時,您可以將追蹤儲存至本機電腦上的檔案,或用戶端電腦可用的資料庫執行個體上的資料庫資料表,以產生工作負載檔案。使用用戶端追蹤的主要缺點是該追蹤在繁重負載的情況下,可能不會擷取所有查詢。這可能會削弱 Database Engine Tuning Advisor 所執行分析的有效性。如果需要在繁重負載下執行追蹤,並想要確保它可擷取追蹤工作階段期間的每個查詢,您應該使用伺服器端追蹤。

針對伺服器端追蹤,您必須將資料庫執行個體上的追蹤檔案放入合適的工作負載檔案中,或您可以在追蹤完成之後將追蹤儲存至資料庫執行個體上的資料表。您可以使用 SQL Server Profiler 將追蹤儲存到本機電腦上的檔案,或讓 Tuning Advisor 從資料庫執行個體上的追蹤資料表讀取。