

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

# 執行個體存放區支援 Amazon RDS for SQL Server 上的 tempdb 資料庫
<a name="SQLServer.InstanceStore"></a>

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

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

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

## 啟用執行個體存放區
<a name="SQLServer.InstanceStore.Enable"></a>

當 RDS 佈建具有下列其中一種執行個體類別的資料庫執行個體時，`tempdb` 資料庫會自動放置到執行個體存放區中：
+ db.m5d
+ db.r5d
+ db.x2iedn

若要啟用執行個體存放區，請執行下列其中一項動作：
+ 使用這些執行個體類型之一建立 SQL Server 資料庫執行個體。如需更多詳細資訊，請參閱 [建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。
+ 修改現有的 SQL Server 資料庫執行個體，以使用其中一個執行個體。如需更多詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

執行個體存放區適用於支援一或多個這些執行個體類型的所有 AWS 區域。如需 `db.m5d` 和 `db.r5d` 執行個體類別的詳細資訊，請參閱[ 資料庫執行個體類別](Concepts.DBInstanceClass.md)。如需 Amazon RDS for SQL Server 支援之執行個體類別的詳細資訊，請參閱[Microsoft SQL Server 的資料庫執行個體類別支援](SQLServer.Concepts.General.InstanceClasses.md)。

## 檔案位置和大小考量
<a name="SQLServer.InstanceStore.Files"></a>

在沒有執行個體存放區的執行個體上，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。

## 備份考量
<a name="SQLServer.InstanceStore.Backups"></a>

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

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

## 磁碟已滿錯誤
<a name="SQLServer.InstanceStore.DiskFull"></a>

如果您使用執行個體存放區中的所有可用空間，可能會收到下列錯誤：
+ 資料庫 'tempdb' 的交易日誌因 'ACTIVE\$1TRANSACTION' 已滿。
+ 無法在資料庫 'tempdb' 中為物件 'dbo.SORT temporary run storage: 140738941419520' 配置空間，因為 'PRIMARY' 檔案群組已滿。藉由刪除不需要的檔案、卸除檔案群組中的物件、將其他檔案新增至檔案群組，或為檔案群組中的現有檔案設定自動成長，以建立磁碟空間。

執行個體存放區已滿時，您可以執行下列一或多項動作：
+ 調整您的工作負載或使用 `tempdb` 的方式。
+ 擴大以使用具有更多 NVMe 儲存體的資料庫執行個體類別。
+ 停止使用執行個體存放區，並使用只有 EBS 存儲體的執行個體類別。
+ 在 EBS 磁碟區上新增 `tempdb` 次要資料或日誌檔案，以使用混合模式。

## 移除執行個體存放區
<a name="SQLServer.InstanceStore.Disable"></a>

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

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