多可用區域部署的 TempDB 組態 - Amazon Relational Database Service

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

多可用區域部署的 TempDB 組態

如果您的 RDS for SQL Server 資料庫執行個體使用資料庫鏡像 (DBM) 或 Always On 可用群組 () 進行多可用區域部署AGs,請記住使用tempdb資料庫的下列考量事項。

您無法將tempdb資料從主要資料庫執行個體複寫至次要資料庫執行個體。當您容錯移轉至次要資料庫執行個體時,該次要資料庫執行個體tempdb上的 將為空。

您可以將tempdb資料庫選項的組態,包括其檔案大小調整和自動成長設定,從主要資料庫執行個體同步到次要資料庫執行個體。所有RDSSQL伺服器版本都支援同步tempDB組態。您可以使用下列預存程序來開啟tempdb組態的自動同步:

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
重要

在使用rds_set_system_database_sync_objects預存程序之前,請確定您已在主要資料庫執行個體上設定偏好的tempdb組態,而不是在次要資料庫執行個體上設定偏好組態。如果您在次要資料庫執行個體上變更組態,則當您開啟自動同步時,可能會刪除您偏好的tempdb組態。

您可以使用下列函數來確認tempdb組態的自動同步是否已開啟:

SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();

tempdb組態的自動同步開啟時, 欄位會有傳回值object_class。關閉時,不會傳回任何值。

您可以使用下列函數來UTC及時尋找物件上次同步的時間:

SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();

例如,如果您在 01:00 修改tempdb組態,然後執行rds_fn_server_object_last_sync_time函數,則 傳回的值last_sync_time應該在 01:00 之後,表示已發生自動同步。

如果您也使用 SQL Server Agent 任務複寫,則可以在 @object_type 參數中提供SQL代理程式任務和tempdb組態的複寫:

EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';

如需 SQL Server Agent 任務複寫的詳細資訊,請參閱 開啟 SQL Server Agent 任務複寫

除了使用rds_set_system_database_sync_objects預存程序來確保tempdb組態變更自動同步之外,您也可以使用下列其中一種手動方法:

注意

我們建議您使用rds_set_system_database_sync_objects預存程序開啟tempdb組態的自動同步。使用自動同步功能可避免您每次變更tempdb組態時執行這些手動任務的需求。

  • 首先修改您的資料庫執行個體並關閉異地同步備份,然後修改 tempdb,最後再次開啟異地同步備份。此方法不涉及任何停機時間。

    如需更多詳細資訊,請參閱 修改 Amazon RDS 資料庫執行個體

  • 首先修改原始主要執行個體中的 tempdb,然後手動容錯移轉,最後修改新主要執行個體中的 tempdb。此方法涉及停機時間。

    如需詳細資訊,請參閱重新啟動中的資料庫執行個體