執行個體存放區支援 Amazon RDS for SQL Server 上的 tempdb 資料庫 - Amazon Relational Database Service

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

執行個體存放區支援 Amazon RDS for SQL Server 上的 tempdb 資料庫

執行個體存放區為資料庫執行個體提供暫時的區塊層級儲存空間。這個儲存空間位於實際連接到主機電腦的磁碟上。這些磁碟具有以固態硬碟 (SSD) 為基礎的非揮發性記憶體儲存裝置 (NVMe) 執行個體儲存體。此儲存體已針對低延遲、非常高的隨機 I/O 效能,以及高循序讀取輸送量進行最佳化。

tempdb 資料檔案和 tempdb 日誌檔案放置在執行個體存放區上,與以 Amazon EBS 為基礎的標準儲存相比,您可以達成更低的讀取和寫入延遲。

注意

SQL Server 資料庫檔案和資料庫日誌檔案不會放置在執行個體存放區。

啟用執行個體存放區

當 RDS 佈建具有下列其中一種執行個體類別的資料庫執行個體時,tempdb 資料庫會自動放置到執行個體存放區中:

  • db.m5d

  • db.r5d

  • db.x2iedn

若要啟用執行個體存放區,請執行下列其中一項動作:

執行個體存放區適用於支援一或多個這些執行個體類型的所有 AWS 區域。如需 db.m5ddb.r5d 執行個體類別的詳細資訊,請參閱 數據庫實例類。如需 Amazon RDS for SQL Server 支援之執行個體類別的詳細資訊,請參閱Microsoft SQL Server 的資料庫執行個體類別支援

檔案位置和大小考量

在沒有執行個體存放區的執行個體上,RDS 會將 tempdb 資料和日誌檔案存放在 D:\rdsdbdata\DATA 目錄中。依預設,這兩個檔案都會從 8 MB 開始。

在具有執行個體存放區的執行個體上,RDS 會將 tempdb 資料和日誌檔案存放在 T:\rdsdbdata\DATA 目錄中。

tempdb 只有一個資料檔案 (tempdb.mdf) 和一個日誌檔案 (templog.ldf) 時,templog.ldf 預設從 8 MB 開始,且 tempdb.mdf 從執行個體儲存體容量的 80% 或以上開始。20% 的儲存容量或 200 GB (以較少者為準) 可隨時開始。多個 tempdb 資料檔案會平均分割 80% 的磁碟空間,而日誌檔案的初始大小一律為 8 MB。

例如,如果您將資料庫執行個體類別從 db.m5.2xlarge 修改為 db.m5d.2xlarge,大小為 tempdb 的資料檔案將從每個 8 MB 增加至 234 GB。

注意

除了執行個體存放區上的 tempdb 資料和日誌檔案 (T:\rdsdbdata\DATA),您仍然可以在資料磁碟區建立額外的 tempdb 資料和日誌檔案 (D:\rdsdbdata\DATA)。這些檔案的初始大小一律為 8 MB。

備份考量

您可能需要長時間保留備份,從而產生一段時間的成本。tempdb 資料和日誌區塊可能會經常變更,視工作負載而定。這可以大大增加資料庫快照大小。

tempdb 在執行個體存放區時,快照不包含暫存檔案。這表示相較於僅限 EBS 的儲存體,快照大小較小,而且耗用的免費備份配置較少。

磁碟已滿錯誤

如果您使用執行個體存放區中的所有可用空間,可能會收到下列錯誤:

  • 資料庫 'tempdb' 的交易日誌因 'ACTIVE_TRANSACTION' 已滿。

  • 無法在資料庫 'tempdb' 中為物件 'dbo.SORT temporary run storage: 140738941419520' 配置空間,因為 'PRIMARY' 檔案群組已滿。藉由刪除不需要的檔案、卸除檔案群組中的物件、將其他檔案新增至檔案群組,或為檔案群組中的現有檔案設定自動成長,以建立磁碟空間。

執行個體存放區已滿時,您可以執行下列一或多項動作:

  • 調整您的工作負載或使用 tempdb 的方式。

  • 擴大以使用具有更多 NVMe 儲存體的資料庫執行個體類別。

  • 停止使用執行個體存放區,並使用只有 EBS 存儲體的執行個體類別。

  • 在 EBS 磁碟區上新增 tempdb 次要資料或日誌檔案,以使用混合模式。

移除執行個體存放區

若要移除執行個體儲存體,請修改您的 SQL Server 資料庫執行個體,以使用不支援執行個體儲存體的執行個體類型,例如 db.m5、db.r5 或 db.x1e。

注意

當您移除執行個體存放區時,暫存檔案會移至 D:\rdsdbdata\DATA 目錄,並將大小減少為 8 MB。