設定和維護效能

已完成

了解 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 DATABASEALTER 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 的一些效能設定和維護選項,接下來請先完成下列知識檢定,再繼續進行下一個單元。

知識檢查

1.

可使用什麼方法為 Azure SQL Database 設定 tempdb 的檔案數目?

2.

可使用什麼方法設定 Azure SQL Database 的 I/O 效能?

3.

如何透過 Azure SQL 維護索引?