設定和維護效能
了解 Azure SQL 功能是提供一致效能的重要前提。 此外,請務必了解設定 Azure SQL 受控執行個體和 Azure SQL Database 時,有哪些可能會影響效能的選項和限制。 這包括下列項目:
tempdb
資料庫的主題- 設定資料庫
- 設定檔案和檔案群組
- 設定平行處理原則的最大程度
- 使用 Resource Governor
- 維護索引和統計資料
Tempdb
tempdb
系統資料庫是應用程式所使用的重要共享資源。 確保 tempdb
有正確的設定,可能會影響您提供一致效能的能力。 您在 SQL Server 和 Azure SQL 中使用 tempdb
的方式皆相同。 但請注意,設定 tempdb
的方式不同,包括檔案的放置、檔案的數目和大小,以及 tempdb
設定選項。
tempdb
的資料庫檔案一律會自動儲存在本機的 SSD 磁碟機上,因此 I/O 效能不會有問題。
SQL Server 專業人員通常會使用一個以上的資料庫檔案來分割 tempdb
資料表的配置。 針對 Azure SQL Database,檔案數目會隨著虛擬核心數目進行縮放 (例如:兩個虛擬核心 = 四個檔案),最大值為 16。 您無法透過 T-SQL 來針對 tempdb
設定檔案數目,而是藉由變更部署選項來進行設定。 tempdb
的大小上限會根據虛擬核心數目進行調整。 您可獨立於虛擬核心來使用 SQL 受控執行個體以取得 12 個檔案,。
資料庫選項 MIXED_PAGE_ALLOCATION
設定為 OFF,且 AUTOGROW_ALL_FILES
設定為 ON。 您無法進行此設定,但因為與 SQL Server 相同,這些都是建議的預設。
目前,SQL Server 2019 中可減少大量閂鎖競爭的 tempdb
中繼資料最佳化功能無法在 Azure SQL 資料庫或 Azure SQL 受控執行個體中使用。
資料庫設定
通常,您會使用 T-SQL ALTER DATABASE 和 ALTER DATABASE SCOPED CONFIGURATION 陳述式來設定資料庫。 Azure SQL 提供許多效能設定選項。 若要了解 SQL Server、Azure SQL Database 和 Azure SQL 受控執行個體之間的差異,請參閱 ALTER DATABASE 和 ALTER DATABASE SCOPED CONFIGURATION T-SQL 參考。
為了提高效能,其中一個無法變更的選項就是資料庫復原模式。 預設為完整復原。 這可確保資料庫符合 Azure 服務等級協定 (SLA)。 因此,不支援大量作業的最低限度記錄。 tempdb
可支援大量作業的最低限度記錄。
檔案與檔案群組
SQL Server 專業人員通常會透過實體檔案放置的方式,使用檔案和檔案群組來改善 I/O 效能。 Azure SQL 不允許使用者將檔案放在特定的磁碟系統上。 但是,Azure SQL 針對速率、IOPS 和延遲都包含了 I/O 效能的資源承諾。 透過這種方式,抽象化使用者的實體檔案放置可能會帶來優勢。
Azure SQL Database 只有一個資料庫檔案 (超大規模資料庫通常會有很多個),而大小上限會透過 Azure 介面來設定。 沒有可用來建立其他檔案的功能。
Azure SQL 受控執行個體支援新增資料庫檔案和設定大小,但不支援實際放置檔案。 您可以使用 SQL 受控執行個體的檔案數目和檔案大小來改善 I/O 效能。 此外,基於管理目的,SQL 受控執行個體可支援使用者定義的檔案群組。
MAXDOP 設定
平行處理原則的最大程度 (MAXDOP) 可能會影響個別查詢的效能。 SQL Server 和 Azure SQL 處理 MAXDOP 的方式相同。 如同 SQL Server,您可透過下列技術設定 Azure SQL 中的 MAXDOP:
- Azure SQL 支援使用 ALTER DATABASE SCOPED CONFIGURATION 來設定 MAXDOP。
- SQL 受控執行個體支援「平行處理原則最大程度」的預存程序 sp_configure。
- 完全支援 MAXDOP 查詢提示。
- SQL 受控執行個體支援使用 Resource Governor 來設定 MAXDOP。
資源管理員
Resource Governor 是 SQL Server 中的一項功能,可透過 I/O、CPU 和記憶體來控制工作負載的資源使用量。 請注意,針對使用者定義的工作負載群組和集區,SQL 受控執行個體支援 Resource Governor,但 Azure SQL Database 則不支援。
索引維護
Azure SQL 的索引建立和維護與 SQL Server 完全相同。 例如,如同 SQL Server,其完全支援建立、重建和重新組織索引。 這包括線上和可繼續的索引。
統計資料維護
SQL Server 和 Azure SQL 處理統計資料的方式相同。 兩者都有適用於資料庫的自動統計資料選項。
現在您已了解 Azure SQL 的一些效能設定和維護選項,接下來請先完成下列知識檢定,再繼續進行下一個單元。