受控執行個體連結最佳做法 - Azure SQL 受控執行個體
適用於:Azure SQL 受控執行個體
本文概述使用 受控執行個體 連結,在裝載於任何地方的 Azure SQL 受控執行個體 SQL Server 實例之間複寫數據時,提供連結複本之間的近乎實時數據複寫時的最佳做法。
定期進行記錄備份
如果 SQL Server 是初始主要複本,當 Azure SQL 受控執行個體上的資料庫不再處於正在還原...狀態時,在初始植入完成之後,請務必在 SQL Server 上進行第一個記錄備份。 然後定期進行 SQL Server 交易記錄備份,以在 SQL Server 處於主要角色時維護狀況良好的交易記錄檔案大小。
連結功能會使用基於 Always On 可用性群組的分散式可用性群組技術來複寫資料。 採用分散式可用性群組的資料複寫是以複寫交易記錄檔記錄為基礎。 在複寫到次要複本上的資料庫之前,無法從主要 SQL Server 執行個體上的資料庫截斷交易記錄檔記錄。 如果交易記錄檔記錄複寫因網路連線問題而變慢或遭到封鎖,記錄檔會持續在主要執行個體上增長。 增長速度取決於工作負載強度和網路速度。 如果主要執行個體上出現長時間網路連線中斷情形和繁重的工作負載,記錄檔會佔用所有可用的儲存空間。
定期進行交易記錄備份會截斷交易記錄,並最大限度地降低由於記錄檔案成長而導致主要 SQL Server 執行個體上空間用盡的風險。 當 SQL 受控執行個體是主要執行個體時,不需要採取額外的動作,因為記錄備份已經自動進行。 若定期在 SQL Server 主要執行個體上進行記錄備份,您的資料庫會更易於因應非計劃性的記錄增長事件。 可考慮使用 SQL Server Agent 作業來排程每日記錄備份工作。
您可以使用 Transact-SQL (T-SQL) 指令碼來備份記錄檔,例如本節中提供的範例。 請將範例指令碼中的預留位置取代為您資料庫的名稱、備份檔案的名稱和路徑,以及描述。
若要備份交易記錄,請在 SQL Server 上使用下列 Transact-SQL (T-SQL) 指令碼範例:
-- Execute on SQL Server
-- Take log backup
BACKUP LOG [<DatabaseName>]
TO DISK = N'<DiskPathandFileName>'
WITH NOFORMAT, NOINIT,
NAME = N'<Description>', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1
請使用下列 Transact-SQL (T-SQL) 命令來檢查資料庫在 SQL Server 上所使用的記錄空間:
-- Execute on SQL Server
DBCC SQLPERF(LOGSPACE);
範例資料庫 tpcc
的查詢輸出如下所示:
在此範例中,資料庫已使用 76% 的可用記錄,且絕對記錄檔大小約為 27 GB (27,971 MB)。 動作的閾值會根據您的工作負載而有所不同。 在上一個範例中,交易記錄大小和記錄使用的百分比通常表示,您應該建立交易記錄備份來截斷記錄檔並釋放一些空間,或者您應該更頻繁地進行記錄備份。 另外,其也可能表示未清交易會封鎖交易記錄截斷。 如需在 SQL Server 中對交易記錄進行疑難排解的詳細資訊,請參閱完整交易記錄 (SQL Server 錯誤 9002) 的疑難排解。 如需針對 Azure SQL 受控執行個體中的交易記錄進行疑難排解的詳細資訊,請參閱針對 Azure SQL 受控執行個體的交易記錄錯誤進行疑難排解。
注意
參與連結時,將從 SQL 受控執行個體中取得自動完整備份和交易記錄備份,無論它是否為主要複本。 不進行差異備份,這可能會導致還原時間更長。
比對複本之間的效能容量
使用連結功能時,比對 SQL Server 與 SQL 受控執行個體之間的效能容量非常重要,以避免在次要複本無法跟上主要複本的複寫速度或在容錯移轉後出現效能問題。 效能容量包括 CPU 核心 (或 Azure 中的虛擬核心)、記憶體和 I/O 輸送量。
您可以使用次要複本上的重做佇列大小來檢查複寫的效能。 重做佇列大小表示等待在次要複本上重做的記錄數目。 重做佇列大小始終較高表示次要複本無法跟上主要複本。 您可以透過下列方式檢查重做佇列大小:
- 主要複本上 sys.dm_hadr_database_replica_states 動態管理檢視中的
redo_queue_size
值。 - 主要複本上 Get-AzSqlInstanceLink 中的
InstanceRedoLagReplicationSeconds
值。
如果重做佇列大小始終較高,請考慮增加次要複本上的資源。
輪換憑證
您用來保護資料庫鏡像端點的憑證可能會過期,過期會導致連結降低。 若要避免此問題,請在憑證到期之前輪換憑證。
使用下列 Transact-SQL (T-SQL) 命令,檢查目前憑證的到期日期:
-- Run on SQL Server
USE MASTER
GO
SELECT * FROM sys.certificates WHERE pvt_key_encryption_type = 'MK'
如果您的憑證即將過期或已經過期,您可以建立新憑證,然後變更現有端點以取代目前憑證。
一旦設定端點使用新憑證,您就可以卸除過期憑證。
新增啟動追蹤旗標
在 SQL Server 中,有兩個追蹤旗標 (-T1800
和 -T9567
),若將之新增為啟動參數,即可透過連結將資料複寫效能最佳化。 若要深入了解,請參閱啟用啟動追蹤旗標 (英文)。
相關內容
若要使用連結:
- 讓環境為受控執行個體連結做好準備
- 使用 SSMS 設定 SQL Server 與 SQL 受控執行個體之間的連結
- 使用指令碼設定 SQL Server 與 SQL 受控執行個體之間的連結
- 容錯移轉連結
- 使用連結移轉
若要深入了解連結:
針對其他複寫和移轉案例,請考慮: