

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

# 使用 RDS Custom for SQL Server
<a name="working-with-custom-sqlserver"></a>

在下列內容，您可以找到建立、管理和維護 RDS Custom for SQL Server 資料庫執行個體的指示。

**Topics**
+ [RDS Custom for SQL Server 工作流程](custom-sqlserver.workflow.md)
+ [Amazon RDS Custom for SQL Server 的需求和限制](custom-reqs-limits-MS.md)
+ [設定您的 Amazon RDS Custom for SQL Server 的環境](custom-setup-sqlserver.md)
+ [透過 RDS Custom for SQL Server 使用自有媒體](custom-sqlserver.byom.md)
+ [使用 RDS Custom for SQL Server 的自訂引擎版本](custom-cev-sqlserver.md)
+ [建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體](custom-creating-sqlserver.md)
+ [管理 Amazon RDS Custom for SQL Server 資料庫執行個體](custom-managing-sqlserver.md)
+ [使用 Microsoft Active Directory 搭配 RDS Custom for SQL Server](custom-sqlserver-WinAuth.md)
+ [管理 RDS Custom for SQL Server 的多可用區部署](custom-sqlserver-multiaz.md)
+ [備份與還原 Amazon RDS Custom for SQL Server 資料庫執行個體](custom-backup-sqlserver.md)
+ [複製 Amazon RDS Custom for SQL Server 資料庫快照](custom-copying-snapshot-sqlserver.md)
+ [將內部部署資料庫遷移到 Amazon RDS Custom for SQL Server](custom-migrating.md)
+ [RDS Custom for SQL Server 作業系統更新](custom-os-upgrade.md)
+ [升級 Amazon RDS Custom for SQL Server 資料庫執行個體](custom-upgrading-sqlserver.md)
+ [針對 Amazon RDS Custom for SQL Server 的資料庫問題進行故障診斷](custom-troubleshooting-sqlserver.md)

# RDS Custom for SQL Server 工作流程
<a name="custom-sqlserver.workflow"></a>

下圖顯示 RDS Custom for SQL Server 的典型工作流程。

![\[RDS Custom for SQL Server 架構\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/custom_sqlserver_architecture_v2.png)


步驟如下：

1. 從 RDS Custom 提供的引擎版本建立 RDS Custom for SQL Server 資料庫執行個體。

   如需詳細資訊，請參閱[建立 RDS Custom for SQL Server 資料庫執行個體](custom-creating-sqlserver.md#custom-creating-sqlserver.create)。

1. 將應用程式連線到 RDS Custom 資料庫執行個體端點。

   如需詳細資訊，請參閱[使用 AWS Systems Manager 連線到您的 RDS Custom 資料庫執行個體](custom-creating-sqlserver.ssm.md)及[使用 RDS 連線到您的 RDS Custom 資料庫執行個體](custom-creating-sqlserver.rdp.md)。

1. (選用) 存取主機以自訂您的軟體。

1. 監控 RDS Custom 自動化產生的通知和訊息。

## 建立 RDS Custom 資料庫執行個體
<a name="custom-sqlserver.workflow.instance"></a>

您可以使用 `create-db-instance` 命令建立 RDS Custom 資料庫執行個體。該程序類似於建立 Amazon RDS 執行個體的程序。但是，某些參數不同。如需詳細資訊，請參閱[建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體](custom-creating-sqlserver.md)。

## 資料庫連線
<a name="custom-sqlserver.workflow.db-connection"></a>

如同 Amazon RDS 資料庫執行個體，您的 RDS Custom for SQL Server 資料庫執行個體位於 VPC 中。您的應用程式會使用用戶端 (例如 SQL Server Management Studio (SSMS)) 連線至 RDS Custom 執行個體，就像在 RDS for SQL Server 一樣。

## RDS Custom 自訂
<a name="custom-sqlserver.workflow.customization"></a>

您可以存取 RDS Custom 主機以安裝或自訂軟體。若要避免變更與 RDS Custom 自動化之間發生衝突，您可以在指定期間暫停自動化。在此期間，RDS Custom 不會執行監控或執行個體復原。在期間結束時，RDS Custom 會繼續全自動化。如需詳細資訊，請參閱[暫停和繼續 RDS Custom 自動化](custom-managing-sqlserver.pausing.md)。

# Amazon RDS Custom for SQL Server 的需求和限制
<a name="custom-reqs-limits-MS"></a>

您可在下方找到 Amazon RDS Custom for SQL Server 需求和限制的摘要，以進行快速參考。需求和限制也會出現在相關章節中。

**Topics**
+ [區域和版本可用性](#custom-reqs-limits-MS.RegionVersionAvailability)
+ [RDS Custom for SQL Server 的一般需求](#custom-reqs-limits.reqsMS)
+ [RDS Custom for SQL Server 的資料庫執行個體類別支援](custom-reqs-limits.instancesMS.md)
+ [RDS Custom for SQL Server 的限制](#custom-reqs-limits.limitsMS)
+ [設定 RDS Custom for SQL Server 資料庫執行個體的字元集和定序](custom-reqs-limits-MS.collation.md)
+ [RDS Custom for SQL Server 資料庫執行個體的本機時區](custom-reqs-limits-MS.TimeZone.md)
+ [使用服務主金鑰搭配 RDS Custom for SQL Server](custom-sqlserver-features.smk.md)
+ [使用 RDS Custom for SQL Server 變更資料擷取 (CDC) 支援](custom-sqlserver-features.cdc.md)

## 區域和版本可用性
<a name="custom-reqs-limits-MS.RegionVersionAvailability"></a>

功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域而有所不同。如需 Amazon RDS 搭配 Amazon RDS Custom for SQL Server 版本和區域可用性的詳細資訊，請參閱 [支援的 RDS Custom for SQL Server 區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.md#Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.sq)。

## RDS Custom for SQL Server 的一般需求
<a name="custom-reqs-limits.reqsMS"></a>

請確保遵循 Amazon RDS Custom for SQL Server 的以下需求：
+ 使用 [RDS Custom for SQL Server 的資料庫執行個體類別支援](custom-reqs-limits.instancesMS.md) 中顯示的執行個體類別。唯一支援的儲存體類型為 gp2、gp3、io1 和 io2 Block Express 類型的固態硬碟 (SSD)。io1、gp2 和 gp3 的儲存體上限為 16 TiB，而 io2 支援 64 TiB。
+ 請確定您擁有對稱加密 AWS KMS 金鑰來建立 RDS Custom 資料庫執行個體。如需詳細資訊，請參閱[請確定您擁有對稱加密 AWS KMS 金鑰](custom-setup-sqlserver.md#custom-setup-sqlserver.cmk)。
+ 請務必建立 AWS Identity and Access Management (IAM) 角色和執行個體描述檔。如需詳細資訊，請參閱[手動建立 IAM 角色和執行個體設定檔](custom-setup-sqlserver.md#custom-setup-sqlserver.iam)及[使用 自動建立執行個體描述檔 AWS 管理主控台](custom-setup-sqlserver.md#custom-setup-sqlserver.instanceProfileCreation)。
+ 請務必提供 RDS Custom 可用來存取其他 的聯網組態 AWS 服務。如需特定需求，請參閱 [步驟 2：設定網路、執行個體設定檔及加密](custom-setup-sqlserver.md#custom-setup-sqlserver.iam-vpc)。
+ RDS Custom 和 Amazon RDS 資料庫執行個體的合併數量不能超過您的配額限制。例如，如果您的配額為 40 個資料庫執行個體，則可以擁有 20 個 RDS Custom for SQL Server 資料庫執行個體和 20 個 Amazon RDS 資料庫執行個體。
+ RDS Custom 會自動建立名稱開頭為 的 AWS CloudTrail 線索`do-not-delete-rds-custom-`。RDS Custom 支援依賴來自 CloudTrail 之事件的周邊，來決定您的動作是否會影響 RDS Custom 自動化。RDS Custom 在您建立第一個資料庫執行個體時建立追蹤。若要使用現有的 CloudTrail，請聯絡 AWS Support。如需詳細資訊，請參閱[AWS CloudTrail](custom-concept.md#custom-concept.components.CloudTrail)。

# RDS Custom for SQL Server 的資料庫執行個體類別支援
<a name="custom-reqs-limits.instancesMS"></a>

使用 [ describe-orderable-db-instance-options](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/rds/describe-orderable-db-instance-options.html) 命令，檢查您的區域是否支援資料庫執行個體類別。

RDS Custom for SQL Server 支援下表中顯示的資料庫執行個體類別：


| SQL Server 版本 | RDS Custom 支援 | 
| --- | --- | 
|  企業版本  |  db.r5.xlarge–db.r5.24xlarge db.r5b.xlarge–db.r5b.24xlarge db.m5.xlarge–db.m5.24xlarge db.r6i.xlarge–db.r6i.32xlarge db.m6i.xlarge–db.m6i.32xlarge db.x2iedn.xlarge–db.x2iedn.32xlarge  | 
|  標準版本  |  db.r5.large–db.r5.24xlarge db.r5b.large–db.r5b.8xlarge db.m5.large–db.m5.24xlarge db.r6i.large–db.r6i.8xlarge db.m6i.large–db.m6i.8xlarge db.x2iedn.xlarge–db.x2iedn.8xlarge  | 
|  開發人員版本  |  db.r5.xlarge–db.r5.24xlarge db.r5b.xlarge–db.r5b.24xlarge db.m5.xlarge–db.m5.24xlarge db.r6i.xlarge–db.r6i.32xlarge db.m6i.xlarge–db.m6i.32xlarge db.x2iedn.xlarge–db.x2iedn.32xlarge  | 
|  Web 版本  |  db.r5.large–db.r5.4xlarge db.m5.large–db.m5.4xlarge db.r6i.large–db.r6i.4xlarge db.m6i.large–db.m6i.4xlarge db.r5b.large–db.r5b.4xlarge  | 

下列建議適用於 db.x2iedn 類別類型：
+ 在建立時，本機儲存體是原始且未配置的裝置。在搭配此執行個體類別使用資料庫執行個體之前，您必須掛載並格式化本機儲存體。之後，請在其 `tempdb` 上設定以確保最佳效能。如需詳細資訊，請參閱[使用本機執行個體儲存體最佳化 Amazon RDS Custom for SQL Server 中的 tempdb 效能](https://aws.amazon.com/blogs/database/optimize-tempdb-performance-in-amazon-rds-custom-for-sql-server-using-local-instance-storage/)。
+ 當您執行擴展運算、執行個體替換、快照還原或時間點復原 (PITR) 等資料庫執行個體作業時，本機儲存體會還原至其原始和未配置狀態。在這些情況下，您必須重新掛載、重新格式化及重新設定磁碟機 `tempdb` 以還原功能。
+ 對於多可用區域執行個體，建議您在待命資料庫執行個體上執行組態。如此一來，如果發生容錯移轉，系統會繼續運作而不會發生問題，因為組態已在待命執行個體上。

## RDS Custom for SQL Server 的限制
<a name="custom-reqs-limits.limitsMS"></a>

下列限制適用於 RDS Custom for SQL Server：
+ 您無法在 Amazon RDS for RDS Custom for SQL Server 資料庫執行個體中建立僅供讀取複本。不過，您可以搭配多可用區部署自動設定高可用性。如需詳細資訊，請參閱[管理 RDS Custom for SQL Server 的多可用區部署](custom-sqlserver-multiaz.md)。
+ 您無法修改適用於 SQL Server 資料庫執行個體的現有 RDS Custom 資料庫執行個體識別符。
+ 對於未使用自訂引擎版本 (CEV) 建立的 RDS Custom for SQL Server 資料庫執行個體，不保證會保存對 Microsoft Windows 作業系統所做的變更。例如，當您起始快照或時間點還原操作時，您將遺失這些變更。如果 RDS Custom for SQL Server 資料庫執行個體是使用 CEV 建立的，則系統會保存這些變更。
+ 並非所有選項都支援。例如，當您建立 RDS Custom for SQL Server 資料庫執行個體時，您無法執行下列操作：
  + 變更資料庫執行個體類別中每個核心的 CPU 核心數量和每個核心的執行緒數量。
  + 開啟儲存體自動擴展。
  + 指定您自己的資料庫參數群組、選項群組或字元集。
  + 開啟績效詳情或資料庫詳情。
  + 開啟自動次要版本升級。
+ 資料庫執行個體儲存體上限為 64 TiB。
+ 您無法將 RDS Proxy 與 RDS Custom for SQL Server 搭配使用。
+ 您無法使用適用於 SQL Server 資料庫執行個體的 RDS Custom 的 `describe-reserved-db-instances` API。

# 設定 RDS Custom for SQL Server 資料庫執行個體的字元集和定序
<a name="custom-reqs-limits-MS.collation"></a>

## 概觀
<a name="custom-reqs-limits-MS.collation.overview"></a>

使用 RDS Custom for SQL Server 資料庫執行個體，您可以設定字元集和定序設定，以決定資料的存放和排序方式。字元集會定義允許的字元，而定序會指定用於排序和比較資料的規則。為使用多語言資料或具有特定排序需求的應用程式設定適當的字元集和定序並不重要。例如，您可能需要處理重音字元並定義特定語言的排序規則，或維護不同區域的資料完整性。下列各節提供有關 RDS Custom for SQL Server 資料庫執行個體的字元集和定序支援的資訊。

RDS Custom for SQL Server 可針對 SQL\$1Latin、Japanese、German 和 Arabic 地區設定，支援使用傳統和 UTF-8 編碼的各種不同伺服器定序。預設的伺服器定序為 `SQL_Latin1_General_CP1_CI_AS`，不過，您可以選取其他支援的定序來使用。您可以選取與 RDS for SQL Server 使用相同程序的定序。如需詳細資訊，請參閱[管理 Amazon RDS for Microsoft SQL Server 的定序和字元集](Appendix.SQLServer.CommonDBATasks.Collation.md)。

## 考量事項
<a name="custom-reqs-limits-MS.collation.considerations"></a>

在 RDS Custom for SQL Server 上使用伺服器定序時，須遵循下列需求和限制：
+ 您可以在建立 RDS Custom for SQL Server 資料庫執行個體時設定伺服器定序。資料庫執行個體建立之後，您就無法修改伺服器層級定序。
+ 從資料庫快照還原時或在時間點復原 (PITR) 期間，您無法修改伺服器層級定序。
+ 當您從 RDS Custom for SQL Server CEV 建立資料庫執行個體時，該資料庫執行個體不會從 CEV 繼承伺服器定序，而是會使用預設伺服器定序 `SQL_Latin1_General_CP1_CI_AS`。如果您已在 RDS Custom for SQL Server CEV 上設定非預設伺服器定序，並且想要在新的資料庫執行個體上使用相同的伺服器定序，則從 CEV 建立資料庫執行個體時，請務必選取相同的定序。
**注意**  
如果您在建立資料庫執行個體時選取的定序與 CEV 的定序不同，則會在新的 RDS Custom for SQL Server 資料庫執行個體上重建 Microsoft SQL Server 系統資料庫，以使用更新的定序。重建程序只會在新的 RDS Custom for SQL Server 資料庫執行個體上執行，而且不會對 CEV 本身造成任何影響。一旦重建系統資料庫，您先前對 CEV 上的系統資料庫所做的任何修改都不會保留在新的 RDS Custom for SQL Server 資料庫執行個體上。一些修改的範例包括：`master` 資料庫中的使用者定義物件、`msdb` 資料庫中的已排程工作，或是對 CEV 上 `model` 資料庫中的預設資料庫設定所做的變更。您可以在新的 RDS Custom for SQL Server 資料庫執行個體建立之後，手動重新建立修改。
+ 當您從 RDS Custom for SQL Server 自訂引擎版本 (CEV) 建立資料庫執行個體，並選取與 CEV 不同的定序時，請確定用於建立 CEV 的黃金映像 (AMI) 符合下列需求，如此才能在新的資料庫執行個體上重建 Microsoft SQL Server 系統資料庫：
  + 針對 SQL Server 2022，請確定`setup.exe`檔案位於下列路徑中： `C:\Program Files\Microsoft SQL Server\160\Setup Bootstrap\SQL2022\setup.exe`
  + 若是 SQL Server 2019，請確定 `setup.exe` 檔案位於下列路徑中：`C:\Program Files\Microsoft SQL Server\150\Setup Bootstrap\SQL2019\setup.exe`
  + `master`、`model` 和 `msdb` 資料庫的資料和日誌範本副本必須存在各自的預設位置。如需詳細資訊，請參閱 Microsoft 公開文件中的[重建系統資料庫](https://learn.microsoft.com/en-us/sql/relational-databases/databases/rebuild-system-databases?view=sql-server-ver16#Restrictions         )。
  + 請確定您的 SQL Server Database Engine 使用 `NT Service\MSSQLSERVER ` 或 `NT AUTHORITY\NETWORK SERVICE` 作為服務帳戶。為資料庫執行個體設定非預設伺服器定序時，任何其他帳戶都不會擁有 `C:\` 磁碟機上的必要許可。
+ 如果為新資料庫執行個體選取的伺服器定序與 CEV 上的設定相同，則新的 RDS Custom for SQL Server 資料庫執行個體上的 Microsoft SQL Server 系統資料庫將不會進行重建程序。您先前對 CEV 上系統資料庫所做的任何修改，都會自動保留在新的 RDS Custom for SQL Server 資料庫執行個體中。

## 支援的定序
<a name="custom-reqs-limits-MS.collation.supportedCollations"></a>

您可以將定序設為下表中列出的其中一個值。


| 定序 | Description | 
| --- |--- |
| 阿拉伯文\$1100\$1BIN | Arabic-100，二進位排序 | 
| 阿拉伯文\$1100\$1BIN2 | Arabic-100，二進位程式碼點比較排序 | 
| 阿拉伯文\$1100\$1CI\$1AI | Arabic-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1KS | Arabic-100、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1KS\$1SC | Arabic-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1KS\$1SC\$1UTF8 | Arabic-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1KS\$1WS | Arabic-100、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1KS\$1WS\$1SC | Arabic-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Arabic-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1SC | Arabic-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1SC\$1UTF8 | Arabic-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1WS | Arabic-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1WS\$1SC | Arabic-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AI\$1WS\$1SC\$1UTF8 | Arabic-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CI\$1AS | Arabic-100、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1KS | Arabic-100、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1KS\$1SC | Arabic-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1KS\$1SC\$1UTF8 | Arabic-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1KS\$1WS | Arabic-100、不區分大小寫、區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1KS\$1WS\$1SC | Arabic-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Arabic-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1SC | Arabic-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1SC\$1UTF8 | Arabic-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1WS | Arabic-100、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1WS\$1SC | Arabic-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CI\$1AS\$1WS\$1SC\$1UTF8 | Arabic-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AI | Arabic-100、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1KS | Arabic-100、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1KS\$1SC | Arabic-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1KS\$1SC\$1UTF8 | Arabic-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1KS\$1WS | Arabic-100、區分大小寫、不區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1KS\$1WS\$1SC | Arabic-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Arabic-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1SC | Arabic-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1SC\$1UTF8 | Arabic-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1WS | Arabic-100、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1WS\$1SC | Arabic-100、區分大小寫、不區分重音、不區分 kanatype、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AI\$1WS\$1SC\$1UTF8 | Arabic-100、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AS | Arabic-100、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1KS | Arabic-100、區分大小寫、區分重音、區分假名、不區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1KS\$1SC | Arabic-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1KS\$1SC\$1UTF8 | Arabic-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1KS\$1WS | Arabic-100、區分大小寫、區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1KS\$1WS\$1SC | Arabic-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Arabic-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1SC | Arabic-100、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1SC\$1UTF8 | Arabic-100、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1WS | Arabic-100、區分大小寫、區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1WS\$1SC | Arabic-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| 阿拉伯文\$1100\$1CS\$1AS\$1WS\$1SC\$1UTF8 | Arabic-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 阿拉伯文\$1BIN | 阿拉伯文、二進位排序 | 
| 阿拉伯文\$1BIN2 | 阿拉伯文、二進位程式碼點比較排序 | 
| Arabic\$1CI\$1AI | 阿拉伯文、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1CI\$1AI\$1KS | 阿拉伯文、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| Arabic\$1CI\$1AI\$1KS\$1WS | 阿拉伯文、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1CI\$1AI\$1WS | 阿拉伯文、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| Arabic\$1CI\$1AS | 阿拉伯文、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1CI\$1AS\$1KS | 阿拉伯文、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| 阿拉伯文\$1CI\$1AS\$1KS\$1WS | 阿拉伯文、不區分大小寫、區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1CI\$1AS\$1WS | 阿拉伯文、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| 阿拉伯文\$1CS\$1AI | 阿拉伯文、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1CS\$1AI\$1KS | 阿拉伯文、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 阿拉伯文\$1CS\$1AI\$1KS\$1WS | 阿拉伯文、區分大小寫、不區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1CS\$1AI\$1WS | 阿拉伯文、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| Arabic\$1CS\$1AS | 阿拉伯文、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 阿拉伯文\$1CS\$1AS\$1KS | 阿拉伯文、區分大小寫、區分重音、區分假名、不區分寬度 | 
| 阿拉伯文\$1CS\$1AS\$1KS\$1WS | 阿拉伯文、區分大小寫、區分重音、區分假名、區分寬度 | 
| 阿拉伯文\$1CS\$1AS\$1WS | 阿拉伯文、區分大小寫、區分重音、不區分假名、區分寬度 | 
| Chinese\$1PRC\$1BIN2 | Chinese-PRC，二進位程式碼點比較排序 | 
| Chinese\$1PRC\$1CI\$1AS | Chinese-PRC、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| Chinese\$1Taiwan\$1Stroke\$1CI\$1AS | Chinese-Taiwan-Stroke、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| Danish\$1Norwegian\$1CI\$1AS | Danish-Norwegian、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| Finnish\$1Swedish\$1CI\$1AS | 芬蘭文-瑞典文、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| French\$1CI\$1AS | 法文、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1BIN | German-PhoneBook-100，二進位排序 | 
| German\$1PhoneBook\$1100\$1BIN2 | German-PhoneBook-100，二進位程式碼點比較排序 | 
| German\$1PhoneBook\$1100\$1CI\$1AI | German-PhoneBook-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1KS | German-PhoneBook-100、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1KS\$1SC | German-PhoneBook-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1KS\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1KS\$1WS | German-PhoneBook-100、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1KS\$1WS\$1SC | German-PhoneBook-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1KS\$1WS\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1SC | German-PhoneBook-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1WS | German-PhoneBook-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1WS\$1SC | German-PhoneBook-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AI\$1WS\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CI\$1AS | German-PhoneBook-100、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1KS | German-PhoneBook-100、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1KS\$1SC | German-PhoneBook-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1KS\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1KS\$1WS | German-PhoneBook-100、不區分大小寫、區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1KS\$1WS\$1SC | German-PhoneBook-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1KS\$1WS\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1SC | German-PhoneBook-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1WS | German-PhoneBook-100、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1WS\$1SC | German-PhoneBook-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CI\$1AS\$1WS\$1SC\$1UTF8 | German-PhoneBook-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CS\$1AI | German-PhoneBook-100、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1KS | German-PhoneBook-100、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1KS\$1SC | German-PhoneBook-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1KS\$1SC\$1UTF8 | German-PhoneBook-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1KS\$1WS | German-PhoneBook-100、區分大小寫、不區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1KS\$1WS\$1SC | German-PhoneBook-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1KS\$1WS\$1SC\$1UTF8 | German-PhoneBook-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1SC | German-PhoneBook-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1SC\$1UTF8 | German-PhoneBook-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1WS | German-PhoneBook-100、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1WS\$1SC | German-PhoneBook-100、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CS\$1AI\$1WS\$1SC\$1UTF8 | German-PhoneBook-100、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CS\$1AS | German-PhoneBook-100、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CS\$1AS\$1KS | German-PhoneBook-100、區分大小寫、區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1100\$1CS\$1AS\$1KS\$1SC | German-PhoneBook-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CS\$1AS\$1KS\$1SC\$1UTF8 | German-PhoneBook-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1100\$1CS\$1AS\$1KS\$1WS | German-PhoneBook-100、區分大小寫、區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1100\$1CS\$1AS\$1KS\$1WS\$1SC | German-PhoneBook-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| German\$1PhoneBook\$1100\$1CS\$1AS\$1KS\$1WS\$1SC\$1UTF8 | German-PhoneBook-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| German\$1PhoneBook\$1BIN | German-PhoneBook，二進位排序 | 
| German\$1PhoneBook\$1BIN2 | German-PhoneBook，二進位程式碼點比較排序 | 
| German\$1PhoneBook\$1CI\$1AI | German-PhoneBook、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CI\$1AI\$1KS | German-PhoneBook、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CI\$1AI\$1KS\$1WS | German-PhoneBook、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1CI\$1AI\$1WS | German-PhoneBook、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CI\$1AS | German-PhoneBook、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CI\$1AS\$1KS | German-PhoneBook、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CI\$1AS\$1KS\$1WS | German-PhoneBook、不區分大小寫、區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1CI\$1AS\$1WS | German-PhoneBook、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| German\$1PhoneBook\$1CS\$1AI | German-PhoneBook、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CS\$1AI\$1KS | German-PhoneBook、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CS\$1AI\$1KS\$1WS | German-PhoneBook、區分大小寫、不區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1CS\$1AI\$1WS | German-PhoneBook、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| German\$1PhoneBook\$1CS\$1AS | German-PhoneBook、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CS\$1AS\$1KS | German-PhoneBook、區分大小寫、區分重音、區分假名、不區分寬度 | 
| German\$1PhoneBook\$1CS\$1AS\$1KS\$1WS | German-PhoneBook、區分大小寫、區分重音、區分假名、區分寬度 | 
| German\$1PhoneBook\$1CS\$1AS\$1WS | German-PhoneBook、區分大小寫、區分重音、不區分假名、區分寬度 | 
| Hebrew\$1BIN | 希伯來文、二進位排序 | 
| Hebrew\$1CI\$1AS | 希伯來文、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$190\$1BIN | Japanese-90，二進位排序 | 
| 日文\$190\$1BIN2 | Japanese-90，二進位程式碼點比較排序 | 
| 日文\$190\$1CI\$1AI | Japanese-90、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$190\$1CI\$1AI\$1KS | Japanese-90、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$190\$1CI\$1AI\$1KS\$1SC | Japanese-90、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AI\$1KS\$1SC\$1UTF8 | Japanese-90、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CI\$1AI\$1KS\$1WS | Japanese-90、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$190\$1CI\$1AI\$1KS\$1WS\$1SC | Japanese-90、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Japanese-90、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CI\$1AI\$1SC | Japanese-90、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AI\$1SC\$1UTF8 | Japanese-90、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CI\$1AI\$1WS | Japanese-90、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$190\$1CI\$1AI\$1WS\$1SC | Japanese-90、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AI\$1WS\$1SC\$1UTF8 | Japanese-90、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CI\$1AS | Japanese-90、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$190\$1CI\$1AS\$1KS | Japanese-90、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$190\$1CI\$1AS\$1KS\$1SC | Japanese-90、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AS\$1KS\$1SC\$1UTF8 | Japanese-90、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CI\$1AS\$1KS\$1WS | Japanese-90、不區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$190\$1CI\$1AS\$1KS\$1WS\$1SC | Japanese-90、不區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Japanese-90、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CI\$1AS\$1SC | Japanese-90、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AS\$1SC\$1UTF8 | Japanese-90、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CI\$1AS\$1WS | Japanese-90、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$190\$1CI\$1AS\$1WS\$1SC | Japanese-90、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CI\$1AS\$1WS\$1SC\$1UTF8 | Japanese-90、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AI | Japanese-90、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$190\$1CS\$1AI\$1KS | Japanese-90、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$190\$1CS\$1AI\$1KS\$1SC | Japanese-90、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AI\$1KS\$1SC\$1UTF8 | Japanese-90、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AI\$1KS\$1WS | Japanese-90、區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$190\$1CS\$1AI\$1KS\$1WS\$1SC | Japanese-90、區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Japanese-90、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AI\$1SC | Japanese-90、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AI\$1SC\$1UTF8 | Japanese-90、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AI\$1WS | Japanese-90、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| 日文\$190\$1CS\$1AI\$1WS\$1SC | Japanese-90、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AI\$1WS\$1SC\$1UTF8 | Japanese-90、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AS | Japanese-90、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$190\$1CS\$1AS\$1KS | Japanese-90、區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$190\$1CS\$1AS\$1KS\$1SC | Japanese-90、區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AS\$1KS\$1SC\$1UTF8 | Japanese-90、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AS\$1KS\$1WS | Japanese-90、區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$190\$1CS\$1AS\$1KS\$1WS\$1SC | Japanese-90、區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Japanese-90、區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AS\$1SC | Japanese-90、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AS\$1SC\$1UTF8 | Japanese-90、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$190\$1CS\$1AS\$1WS | Japanese-90、區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$190\$1CS\$1AS\$1WS\$1SC | Japanese-90、區分大小寫、區分重音、不區分假名、區分寬度、補充字元 | 
| 日文\$190\$1CS\$1AS\$1WS\$1SC\$1UTF8 | Japanese-90、區分大小寫、區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| Japanese\$1BIN | 日文、二進位排序 | 
| 日文\$1BIN2 | 日文、二進位程式碼點比較排序 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1BIN | Japanese-Bushu-Kakusu-100，二進位排序 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1BIN2 | Japanese-Bushu-Kakusu-100，二進位程式碼點比較排序 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1KS | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1KS\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1KS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1KS\$1WS | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1KS\$1WS\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1WS | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1WS\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AI\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1KS | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1KS\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1KS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1KS\$1WS | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、區分假名、區分寬度 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1KS\$1WS\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1WS | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1WS\$1SC | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CI\$1AS\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1KS | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1KS\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1KS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1KS\$1WS | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、區分假名、區分寬度 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1KS\$1WS\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1WS | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1WS\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AI\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1KS | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1KS\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1KS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1KS\$1WS | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、區分寬度 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1KS\$1WS\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1WS | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1WS\$1SC | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| Japanese\$1Bushu\$1Kakusu\$1100\$1CS\$1AS\$1WS\$1SC\$1UTF8 | Japanese-Bushu-Kakusu-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1BIN | Japanese-Bushu-Kakusu-140，二進位排序 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1BIN2 | Japanese-Bushu-Kakusu-140，二進位程式碼點比較排序 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS\$1WS | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、區分寬度、增補二進位字元、不區分變化選擇器、UTF8 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1WS | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AI\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS\$1WS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1WS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CI\$1AS\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS\$1WS | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kaku su-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1WS | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AI\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS\$1WS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1WS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1WS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1WS\$1VSS | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| Japanese\$1Bushu\$1Kakusu\$1140\$1CS\$1AS\$1WS\$1VSS\$1UTF8 | Japanese-Bushu-Kakusu-140、區分大小寫、區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| Japanese\$1CI\$1AI | 日文、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1CI\$1AI\$1KS | 日文、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1CI\$1AI\$1KS\$1WS | 日文、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$1CI\$1AI\$1WS | 日文、不區分大小寫、不區分重音、不區分假名、區分寬度 | 
| Japanese\$1CI\$1AS | 日文、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1CI\$1AS\$1KS | 日文、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1CI\$1AS\$1KS\$1WS | 日文、不區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1CI\$1AS\$1WS | 日文、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$1CS\$1AI | 日文、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1CS\$1AI\$1KS | 日文、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1CS\$1AI\$1KS\$1WS | 日文、區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$1CS\$1AI\$1WS | 日文、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| Japanese\$1CS\$1AS | 日文、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1CS\$1AS\$1KS | 日文、區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1CS\$1AS\$1KS\$1WS | 日文、區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1CS\$1AS\$1WS | 日文、區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$1統一碼\$1BIN | Japanese-Unicode，二進位排序 | 
| 日文\$1統一碼\$1BIN2 | 日文統一碼、二進位程式碼點比較排序 | 
| 日文\$1統一碼\$1CI\$1AI | 日文統一碼、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1統一碼\$1CI\$1AI\$1KS | 日文統一碼、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1Unicode\$1CI\$1AI\$1KS\$1WS | 日文統一碼、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$1Unicode\$1CI\$1AI\$1WS | 日文統一碼、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1統一碼\$1CI\$1AS | 日文統一碼、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1統一碼\$1CI\$1AS\$1KS | 日文統一碼、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1Unicode\$1CI\$1AS\$1KS\$1WS | 日文統一碼、不區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1Unicode\$1CI\$1AS\$1WS | 日文統一碼、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$1統一\$1CS\$1AI | 日文統一碼、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1統一碼\$1CS\$1AI\$1KS | 日文統一碼、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1Unicode\$1CS\$1AI\$1KS\$1WS | 日文統一碼、區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$1統一碼\$1CS\$1AI\$1WS | 日文統一碼、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| 日文\$1統一碼\$1CS\$1AS | 日文聯碼、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1統一碼\$1CS\$1AS\$1KS | 日文聯碼、區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1統一碼\$1CS\$1AS\$1KS\$1WS | 日文聯碼、區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1統一碼\$1CS\$1AS\$1WS | 日文聯碼、區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$1XJIS\$1100\$1BIN | Japanese-XJIS-100，二進位排序 | 
| 日文\$1XJIS\$1100\$1BIN2 | Japanese-XJIS-100，二進位程式碼點比較排序 | 
| 日文\$1XJIS\$1100\$1CI\$1AI | Japanese-XJIS-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1KS | Japanese-XJIS-100、不區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1KS\$1SC | Japanese-XJIS-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1KS\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1KS\$1WS | Japanese-XJIS-100、不區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1KS\$1WS\$1SC | Japanese-XJIS-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1SC | Japanese-XJIS-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1WS | Japanese-XJIS-100、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1WS\$1SC | Japanese-XJIS-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AI\$1WS\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CI\$1AS | Japanese-XJIS-100、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1KS | Japanese-XJIS-100、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1KS\$1SC | Japanese-XJIS-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1KS\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1KS\$1WS | Japanese-XJIS-100、不區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1KS\$1WS\$1SC | Japanese-XJIS-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1SC | Japanese-XJIS-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1WS | Japanese-XJIS-100、不區分大小寫、區分重音、不區分假名、區分寬度 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1WS\$1SC | Japanese-XJIS-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CI\$1AS\$1WS\$1SC\$1UTF8 | Japanese-XJIS-100、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AI | Japanese-XJIS-100、區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1KS | Japanese-XJIS-100、區分大小寫、不區分重音、區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1KS\$1SC | Japanese-XJIS-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1KS\$1SC\$1UTF8 | Japanese-XJIS-100、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1KS\$1WS | Japanese-XJIS-100、區分大小寫、不區分重音、區分假名、區分寬度 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1KS\$1WS\$1SC | Japanese-XJIS-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1KS\$1WS\$1SC\$1UTF8 | Japanese-XJIS-100、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1SC | Japanese-XJIS-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1SC\$1UTF8 | Japanese-XJIS-100、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1WS | Japanese-XJIS-100、區分大小寫、不區分重音、不區分假名、區分寬度 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1WS\$1SC | Japanese-XJIS-100、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CS\$1AI\$1WS\$1SC\$1UTF8 | Japanese-XJIS-100、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AS | Japanese-XJIS-100、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1KS | Japanese-XJIS-100、區分大小寫、區分重音、區分假名、不區分寬度 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1KS\$1SC | Japanese-XJIS-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1KS\$1SC\$1UTF8 | Japanese-XJIS-100、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1KS\$1WS | Japanese-XJIS-100、區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1KS\$1WS\$1SC | Japanese-XJIS-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1KS\$1WS\$1SC\$1UTF8 | Japanese-XJIS-100、區分大小寫、區分重音、區分假名、區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1SC | Japanese-XJIS-100、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1SC\$1UTF8 | Japanese-XJIS-100、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| 日文\$1XJIS\$1100\$1CS\$1AS\$1WS | Japanese-XJIS-100、區分大小寫、區分重音、區分假名、區分寬度 | 
| 日文\$1XJIS\$1140\$1BIN | Japanese-XJIS-140，二進位排序 | 
| 日文\$1XJIS\$1140\$1BIN2 | Japanese-XJIS-140，二進位程式碼點比較排序 | 
| 日文\$1XJIS\$1140\$1CI\$1AI | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS\$1VSS | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS\$1WS | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS\$1WS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS\$1WS\$1VSS | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1VSS | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1WS | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1WS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1WS\$1VSS | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AI\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| Japanese\$1XJIS\$1140\$1CI\$1AS | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變體選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1KS | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1KS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| Japanese\$1XJIS\$1140\$1CI\$1AS\$1KS\$1VSS | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變體選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1KS\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1KS\$1WS | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1KS\$1WS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1KS\$1WS\$1VSS | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| Japanese\$1XJIS\$1140\$1CI\$1AS\$1VSS | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變體選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1WS | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1WS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1WS\$1VSS | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CI\$1AS\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、不區分大小寫、區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS\$1VSS | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS\$1WS | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS\$1WS\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS\$1WS\$1VSS | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1VSS | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1WS | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1WS\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1WS\$1VSS | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AI\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、不區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AS | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1KS | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1KS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1KS\$1VSS | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1KS\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| Japanese\$1XJIS\$1140\$1CS\$1AS\$1KS\$1WS | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1KS\$1WS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1KS\$1WS\$1VSS | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1KS\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1VSS | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1WS | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1WS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、區分寬度、補充字元、不區分變化選擇器、UTF8 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1WS\$1VSS | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器 | 
| 日文\$1XJIS\$1140\$1CS\$1AS\$1WS\$1VSS\$1UTF8 | Japanese-XJIS-140、區分大小寫、區分重音、不區分假名、區分寬度、補充字元、區分變化選擇器、UTF8 | 
| Korean\$1Wansung\$1CI\$1AS | Korean-Wansung、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| Latin1\$1General\$1100\$1BIN | Latin1-General-100、二進位排序 | 
| Latin1\$1General\$1100\$1BIN2 | Latin1-General-100、二進位代碼點比較排序 | 
| Latin1\$1General\$1100\$1BIN2\$1UTF8 | Latin1-General-100、二進位程式碼點比較排序、UTF8 | 
| Latin1\$1General\$1100\$1CI\$1AS | Latin1-General-100、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| Latin1\$1General\$1100\$1CI\$1AS\$1SC\$1UTF8 | Latin1-General-100、不區分大小寫、區分重音、不區分假名、不區分寬度、補充字元、UTF8 | 
| Latin1\$1General\$1BIN | Latin1-General、二進位排序 | 
| Latin1\$1General\$1BIN2 | Latin1-General、二進位代碼點比較排序 | 
| Latin1\$1General\$1CI\$1AI | Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度 | 
| Latin1\$1General\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| Latin1\$1General\$1CI\$1AS\$1KS | Latin1-General、不區分大小寫、區分重音、區分假名、不區分寬度 | 
| Latin1\$1General\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度 | 
| Modern\$1Spanish\$1CI\$1AS | Modern-Spanish、不區分大小寫、區分重音、不區分假名、不區分寬度 | 
| SQL\$11xCompat\$1CP850\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 49 | 
| SQL\$1Latin1\$1General\$1CP1\$1CI\$1AI | Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 54 | 
| SQL\$1Latin1\$1General\$1CP1\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 52 | 
| SQL\$1Latin1\$1General\$1CP1\$1CS\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1252 上的 Unicode 資料、SQL Server 排序 51 | 
| SQL\$1Latin1\$1General\$1CP1250\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1250 上的 Unicode Data、SQL Server Sort Order 82 | 
| SQL\$1Latin1\$1General\$1CP1250\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1250 上的 Unicode Data、SQL Server Sort Order 81 | 
| SQL\$1Latin1\$1General\$1CP1251\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1251 上的 Unicode Data、SQL Server Sort Order 106 | 
| SQL\$1Latin1\$1General\$1CP1251\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1251 上的 Unicode Data、SQL Server Sort Order 105 | 
| SQL\$1Latin1\$1General\$1CP1253\$1CI\$1AI | Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1253 上的 Unicode Data、SQL Server Sort Order 124 | 
| SQL\$1Latin1\$1General\$1CP1253\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1253 上的 Unicode Data、SQL Server Sort Order 114 | 
| SQL\$1Latin1\$1General\$1CP1253\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1253 上的 Unicode Data、SQL Server Sort Order 113 | 
| SQL\$1Latin1\$1General\$1CP1254\$1CI\$1AS | 土耳其文、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1254 上的 Unicode Data、SQL Server Sort Order 130 | 
| SQL\$1Latin1\$1General\$1CP1254\$1CS\$1AS | 土耳其文、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1254 上的 Unicode Data、SQL Server Sort Order 129 | 
| SQL\$1Latin1\$1General\$1CP1255\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1255 上的 Unicode Data、SQL Server Sort Order 138 | 
| SQL\$1Latin1\$1General\$1CP1255\$1CS\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1255 上的 Unicode 資料、SQL Server 排序 137 | 
| SQL\$1Latin1\$1General\$1CP1256\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 1256 上的 Unicode 資料、SQL Server 排序 146 | 
| SQL\$1Latin1\$1General\$1CP1256\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1256 上的 Unicode Data、SQL Server Sort Order 145 | 
| SQL\$1Latin1\$1General\$1CP1257\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1257 上的 Unicode Data、SQL Server Sort Order 154 | 
| SQL\$1Latin1\$1General\$1CP1257\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1257 上的 Unicode Data、SQL Server Sort Order 153 | 
| SQL\$1Latin1\$1General\$1CP437\$1BIN | Latin1-General，非 Unicode 資料的 Unicode 資料二進位排序，程式碼頁 437 上的 SQL Server 排序順序 30 | 
| SQL\$1Latin1\$1General\$1CP437\$1BIN2 | 程式碼頁 437 上 Unicode Data 的 Latin1-General、二進位程式碼點比較排序、非 Unicode Data 的 SQL Server 排序順序 30 | 
| SQL\$1Latin1\$1General\$1CP437\$1CI\$1AI | Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 437 上的 Unicode 資料、SQL Server 排序 34 | 
| SQL\$1Latin1\$1General\$1CP437\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 437 上的 Unicode Data、SQL Server Sort Order 32 | 
| SQL\$1Latin1\$1General\$1CP437\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 437 上的 Unicode Data、SQL Server Sort Order 31 | 
| SQL\$1Latin1\$1General\$1CP850\$1BIN | Latin1-General，Unicode Data 的二進位排序，非 Unicode Data 的程式碼頁面 850 上的 SQL Server 排序順序 40 | 
| SQL\$1Latin1\$1General\$1CP850\$1BIN2 | Latin1-General、二進位代碼點比較排序，適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 40 | 
| SQL\$1Latin1\$1General\$1CP850\$1CI\$1AI | Latin1-General、不區分大小寫、不區分重音、不區分假名、不區分寬度 (適用於 Unicode 資料)、字碼頁 850 上的 SQL Server 排序 44 (適用於非 Unicode 資料) | 
| SQL\$1Latin1\$1General\$1CP850\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料字碼頁 850 上的 Unicode 資料、SQL Server 排序 42 | 
| SQL\$1Latin1\$1General\$1CP850\$1CS\$1AS | Latin1-General、區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 850 上的 Unicode Data、SQL Server Sort Order 41 | 
| SQL\$1Latin1\$1General\$1Pref\$1CP1\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 1252 上的 Unicode Data、SQL Server Sort Order 53 | 
| SQL\$1Latin1\$1General\$1Pref\$1CP437\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 437 上的 Unicode Data、SQL Server Sort Order 33 | 
| SQL\$1Latin1\$1General\$1Pref\$1CP850\$1CI\$1AS | Latin1-General、不區分大小寫、區分重音、不區分假名、不區分寬度，適用於非 Unicode 資料的程式碼頁 850 上的 Unicode Data、SQL Server Sort Order 43 | 
| Thai\$1CI\$1AS | 泰語、不區分大小寫、區分重音、不區分假名、不區分寬度 | 

# RDS Custom for SQL Server 資料庫執行個體的本機時區
<a name="custom-reqs-limits-MS.TimeZone"></a>

RDS Custom for SQL Server 資料庫執行個體的時區是根據預設來設定的。目前預設值是世界協調時間 (UTC)。您也可以將資料庫執行個體的時區改設為本機時區，以符合應用程式的時區。

您可以在第一次建立資料庫執行個體時設定時區。您可以使用 [AWS 管理主控台](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_CreateDBInstance.html)、Amazon RDS API [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html.html) 動作或 AWS CLI [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) 命令，建立您的資料庫執行個體。

如果您的資料庫執行個體是多可用區部署的一部分，則在容錯移轉時，時區仍會維持在您設定的本機時區。

要求進行時間點還原時，您可以指定要還原至的時間。時間以您當地的時區顯示。如需更多詳細資訊，請參閱 [將 Amazon RDS 的資料庫執行個體還原至指定時間](USER_PIT.md)。

下列是在資料庫執行個體上設定本機時區的限制：
+ 您可以在建立執行個體期間設定資料庫執行個體的時區，但無法修改現有適用於 SQL Server 資料庫執行個體的 RDS Custom 時區。
+ 如果修改現有適用於 SQL Server 資料庫執行個體的 RDS Custom 時區，則 RDS Custom 會將資料庫執行個體狀態變更為 `unsupported-configuration`，並傳送事件通知。
+ 您無法將快照從某個時區的資料庫執行個體還原至另一個時區的資料庫執行個體。
+ 強烈建議您不要將備份檔案從某個時區還原至不同時區。如果您將備份檔案從某個時區還原至不同時區，則必須稽核您的查詢及應用程式，是否受到時區變更的影響。如需更多詳細資訊，請參閱 [使用原生備份和還原，匯入和匯出 SQL Server 資料庫](SQLServer.Procedural.Importing.md)。

## 支援的時區
<a name="custom-reqs-limits-MS.TimeZone.Zones"></a>

您可以將本機時區設為下表中列出的其中一個值。


| 時區 | 標準時間偏移 | 描述 | 備註 | 
| --- | --- | --- | --- | 
| 阿富汗標準時間 | (UTC\$104:30) | 喀布爾 | 此時區不會遵守日光節約時間。 | 
| 阿拉斯加標準時間 | (UTC–09:00) | 阿拉斯加州 |  | 
| 阿留申標準時間 | (UTC–10:00) | 阿留申群島 |  | 
| 阿爾泰標準時間 | (UTC\$107:00) | 巴爾瑙爾，戈爾諾-阿爾泰斯克 |  | 
| 沙烏地阿拉伯標準時間 | (UTC\$103:00) | 科威特，利雅德 | 此時區不會遵守日光節約時間。 | 
| 阿拉伯標準時間 | (UTC\$104:00) | 阿布達比、馬斯喀特 |  | 
| 阿拉伯標準時間 | (UTC\$103:00) | 巴格達 | 此時區不會遵守日光節約時間。 | 
| 阿根廷標準時間 | (UTC–03:00) | 布宜諾斯艾利斯市 | 此時區不會遵守日光節約時間。 | 
| 阿斯特拉罕標準時間 | (UTC\$104:00) | 阿斯特拉罕，烏里揚諾夫斯克 |  | 
| 大西洋標準時間 | (UTC–04:00) | 大西洋時間 (加拿大) |  | 
| AUS 中央標準時間 | (UTC\$109:30) | 達爾文 | 此時區不會遵守日光節約時間。 | 
| 澳洲中西部標準時間 | (UTC\$108:45) | 尤克拉 |  | 
| AUS 東部標準時間 | (UTC\$110:00) | 坎培拉、墨爾本、雪梨 |  | 
| 亞塞拜然標準時間 | (UTC\$104:00) | 巴庫 |  | 
| 亞速爾標準時間 | (UTC–01:00) | 亞速爾 |  | 
| 巴伊亞標準時間 | (UTC–03:00) | 薩爾瓦多 |  | 
| 孟加拉標準時間 | (UTC\$106:00) | 達卡 | 此時區不會遵守日光節約時間。 | 
| 白俄羅斯標準時間 | (UTC\$103:00) | 明斯克 | 此時區不會遵守日光節約時間。 | 
| 布干維爾標準時間 | (UTC\$111:00) | 布干維爾島 |  | 
| 加拿大中央標準時間 | (UTC–06:00) | 薩斯喀徹溫 | 此時區不會遵守日光節約時間。 | 
| 維德角標準時間 | (UTC–01:00) | 維德角群島 | 此時區不會遵守日光節約時間。 | 
| 高加索標準時間 | (UTC\$104:00) | 葉里溫 |  | 
| 中央 澳洲標準時間 | (UTC\$109:30) | 阿德萊德 |  | 
| 中美洲標準時間 | (UTC–06:00) | 中央美洲 | 此時區不會遵守日光節約時間。 | 
| 中亞標準時間 | (UTC\$106:00) | 阿斯塔納 | 此時區不會遵守日光節約時間。 | 
| 中央巴西標準時間 | (UTC–04:00) | 古雅巴 |  | 
| 中歐標準時間 | (UTC\$101:00) | 貝爾格勒、布拉提斯拉瓦、布達佩斯、盧布亞納、布拉格 |  | 
| 中歐標準時間 | (UTC\$101:00) | 塞拉耶佛、斯高彼亞、華沙、札格雷布 |  | 
| 中央太平洋標準時間 | (UTC\$111:00) | 索羅門群島、新喀里多尼亞 | 此時區不會遵守日光節約時間。 | 
| 中央標準時間 | (UTC–06:00) | 中央時間 (美國和加拿大) |  | 
| 中央標準時間 (墨西哥) | (UTC–06:00) | 瓜達拉哈拉、墨西哥城、蒙特利 |  | 
| 查塔姆群島標準時間 | (UTC\$112:45) | 查塔姆群島 |  | 
| 中國標準時間 | (UTC\$108:00) | 北京、重慶、香港、烏魯木齊 | 此時區不會遵守日光節約時間。 | 
| 古巴標準時間 | (UTC–05:00) | 哈瓦那 |  | 
| 國際換日線標準時間 | (UTC–12:00) | 國際換日線以西 | 此時區不會遵守日光節約時間。 | 
| 東部非洲標準時間 | (UTC\$103:00) | 奈洛比 | 此時區不會遵守日光節約時間。 | 
| 東部澳洲標準時間 | (UTC\$110:00) | 布利斯班 | 此時區不會遵守日光節約時間。 | 
| 東部歐洲標準時間 | (UTC\$102:00) | 奇西瑙 |  | 
| 東部南美洲標準時間 | (UTC–03:00) | 巴西利亞 |  | 
| 復活節島標準時間 | (UTC–06:00) | 復活節島 |  | 
| 東部標準時間 | (UTC–05:00) | 東部時間 (美國和加拿大) |  | 
| 東部標準時間（墨西哥） | (UTC–05:00) | 切圖馬爾 |  | 
| 埃及標準時間 | (UTC\$102:00) | 開羅 |  | 
| 葉卡捷琳堡標準時間 | (UTC\$105:00) | 葉卡捷琳堡 |  | 
| 斐濟標準時間 | (UTC\$112:00) | 斐濟 |  | 
| FLE 標準時間 | (UTC\$102:00) | 赫爾辛基，基輔，里加，索菲亞，塔林，維爾紐斯 |  | 
| 喬治亞標準時間 | (UTC\$104:00) | 提比里斯 | 此時區不會遵守日光節約時間。 | 
| GMT 標準時間 | (UTC) | 都柏林、愛丁堡、里斯本、倫敦 |  此時區與格林威治標準時間不同。此時區會遵守日光節約時間。 | 
| 格陵蘭標準時間 | (UTC–03:00) | 格陵蘭 |  | 
| 格林威治標準時間 | (UTC) | 蒙羅維亞、雷克雅維克 | 此時區不會遵守日光節約時間。 | 
| GTB 標準時間 | (UTC\$102:00) | 雅典、布加勒斯特 |  | 
| 海地標準時間 | (UTC–05:00) | 海地 |  | 
| 夏威夷標準時間 | (UTC–10:00) | 夏威夷州 |  | 
| 印度標準時間 | (UTC\$105:30) | 清奈、加爾各答、孟買、新德里 | 此時區不會遵守日光節約時間。 | 
| 伊朗標準時間 | (UTC\$103:30) | 德黑蘭 |  | 
| 以色列標準時間 | (UTC\$102:00) | 耶路撒冷 |  | 
| 約旦標準時間 | (UTC\$102:00) | 安曼 |  | 
| 卡里寧格勒標準時間 | (UTC\$102:00) | 卡里寧格勒 |  | 
| 堪察加標準時間 | (UTC\$112:00) | 彼得保羅夫斯克-堪察加斯克 – 老 |  | 
| 韓國標準時間 | (UTC\$109:00) | 首爾 | 此時區不會遵守日光節約時間。 | 
| 利比亞標準時間 | (UTC\$102:00) | 的黎波里 |  | 
| 來因群島標準時間 | (UTC\$114:00) | 刻里提瑪斯島 |  | 
| 羅豪標準時間 | (UTC\$110:30) | 羅豪島 |  | 
| 馬加丹標準時間 | (UTC\$111:00) | 馬加丹 | 此時區不會遵守日光節約時間。 | 
| 麥哲倫標準時間 | (UTC–03:00) | 蓬塔阿雷納斯 |  | 
| 馬克薩斯標準時間 | (UTC–09:30) | 馬克薩斯群島 |  | 
| 模里西斯標準時間 | (UTC\$104:00) | 路易士港 | 此時區不會遵守日光節約時間。 | 
| 中東標準時間 | (UTC\$102:00) | 貝魯特 |  | 
| 蒙特維多標準時間 | (UTC–03:00) | 蒙特維多 |  | 
| 摩洛哥標準時間 | (UTC\$101:00) | 卡薩布蘭卡 |  | 
| 山地標準時間 | (UTC–07:00) | 山地時間 (美國和加拿大) |  | 
| 山地標準時間 (墨西哥) | (UTC–07:00) | 赤瓦瓦州、拉巴斯、馬薩特蘭 |  | 
| 緬甸標準時間 | (UTC\$106:30) | 仰光 | 此時區不會遵守日光節約時間。 | 
| 北部中亞標準時間 | (UTC\$107:00) | 新西伯利亞 |  | 
| 納米比亞標準時間 | (UTC\$102:00) | 溫吐克 |  | 
| 尼泊爾標準時間 | (UTC\$105:45) | 加德滿都 | 此時區不會遵守日光節約時間。 | 
| 紐西蘭標準時間 | (UTC\$112:00) | 奧克蘭、威靈頓 |  | 
| 紐芬蘭標準時間 | (UTC–03:30) | 紐芬蘭 |  | 
| 諾福克標準時間 | (UTC\$111:00) | 諾福克島 |  | 
| 東北亞標準時間 | (UTC\$108:00) | 伊爾庫次克 |  | 
| 北亞標準時間 | (UTC\$107:00) | 克拉斯諾亞爾斯克 |  | 
| 北韓標準時間 | (UTC\$109:00) | 平壤 |  | 
| 鄂木斯克標準時間 | (UTC\$106:00) | 鄂木斯克 |  | 
| 太平洋 SA 標準時間 | (UTC–03:00) | 聖地牙哥 |  | 
| 太平洋標準時間 | (UTC–08:00) | 太平洋時間 (美國和加拿大) |  | 
| 太平洋標準時間 (墨西哥) | (UTC–08:00) | 下加利福尼亞州 |  | 
| 巴基斯坦標準時間 | (UTC\$105:00) | 伊斯蘭馬巴德，喀拉蚩 | 此時區不會遵守日光節約時間。 | 
| 巴拉圭標準時間 | (UTC–04:00) | 亞松森 |  | 
| 羅馬標準時間 | (UTC\$101:00) | 布魯塞爾、哥本哈根、馬德里、巴黎 |  | 
| 俄羅斯時區 10 | (UTC\$111:00) | 查庫爾達克 |  | 
| 俄羅斯時區 11 | (UTC\$112:00) | 阿納底，彼得保羅夫斯克-堪察加斯克 |  | 
| 俄羅斯時區 3 | (UTC\$104:00) | 伊熱夫斯克，薩馬拉 |  | 
| 俄羅斯標準時間 | (UTC\$103:00) | 莫斯科、聖彼得堡、伏爾加格勒 | 此時區不會遵守日光節約時間。 | 
| 南美洲東部標準時間 | (UTC–03:00) | 卡宴，福塔雷薩 | 此時區不會遵守日光節約時間。 | 
| SA 太平洋標準時間 | (UTC–05:00) | 波哥大、利馬、基多、里約布蘭科 |  此時區不會遵守日光節約時間。 | 
| 南美洲西部標準時間 | (UTC–04:00) | 喬治城，拉帕茲，瑪瑙斯，聖胡安 | 此時區不會遵守日光節約時間。 | 
| 聖皮爾標準時間 | (UTC–03:00) | 聖皮埃赫及密克隆 |  | 
| 薩哈林標準時間 | (UTC\$111:00) | 薩哈林 |  | 
| 薩摩亞標準時間 | (UTC\$113:00) | 薩摩亞 |  | 
| 聖多美標準時間 | (UTC\$101:00) | 聖多美普林西比 |  | 
| 薩拉托夫標準時間 | (UTC\$104:00) | 薩拉托夫 |  | 
| SE 亞洲標準時間 | (UTC\$107:00) | 曼谷、河內、雅加達 | 此時區不會遵守日光節約時間。 | 
| 新加坡標準時間 | (UTC\$108:00) | 吉隆坡、新加玻 | 此時區不會遵守日光節約時間。 | 
| 南非標準時間 | (UTC\$102:00) | 哈拉雷，比勒陀利亞 | 此時區不會遵守日光節約時間。 | 
| 斯里蘭卡標準時間 | (UTC\$105:30) | 斯里哈亞華登尼普拉 | 此時區不會遵守日光節約時間。 | 
| 蘇丹標準時間 | (UTC\$102:00) | 喀土穆 |  | 
| 敘利亞標準時間 | (UTC\$102:00) | 大馬士革 |  | 
| 台北標準時間 | (UTC\$108:00) | 台北 | 此時區不會遵守日光節約時間。 | 
| 塔斯馬尼亞標準時間 | (UTC\$110:00) | 荷巴特 |  | 
| 托坎廷斯標準時間 | (UTC–03:00) | 阿拉瓜 |  | 
| 東京標準時間 | (UTC\$109:00) | 大阪、札幌、東京 | 此時區不會遵守日光節約時間。 | 
| 托木斯克標準時間 | (UTC\$107:00) | 托木斯克 |  | 
| 東加標準時間 | (UTC\$113:00) | 努瓜婁發 | 此時區不會遵守日光節約時間。 | 
| 外貝加爾標準時間 | (UTC\$109:00) | 赤塔 |  | 
| 土耳其標準時間 | (UTC\$103:00) | 伊斯坦堡 |  | 
| 土克斯及開科斯群島標準時間 | (UTC–05:00) | 土克斯及開科斯群島 |  | 
| 烏蘭巴托標準時間 | (UTC\$108:00) | 烏蘭巴托 | 此時區不會遵守日光節約時間。 | 
| 美國東部標準時間 | (UTC–05:00) | 印第安那州 (東部) |  | 
| 美國山地標準時間 | (UTC–07:00) | 亞利桑那州 | 此時區不會遵守日光節約時間。 | 
| UTC | UTC | 國際標準時間 | 此時區不會遵守日光節約時間。 | 
| UTC–02 | (UTC–02:00) | 國際標準時間–02 | 此時區不會遵守日光節約時間。 | 
| UTC–08 | (UTC–08:00) | 國際標準時間–08 |  | 
| UTC–09 | (UTC–09:00) | 國際標準時間–09 |  | 
| UTC–11 | (UTC–11:00) | 國際標準時間–11 | 此時區不會遵守日光節約時間。 | 
| UTC\$112 | (UTC\$112:00) | 國際標準時間\$112 | 此時區不會遵守日光節約時間。 | 
| UTC\$113 | (UTC\$113:00) | 國際標準時間\$113 |  | 
| 委內瑞拉標準時間 | (UTC–04:00) | 加拉加斯 | 此時區不會遵守日光節約時間。 | 
| 符拉迪沃斯托克標準時間 | (UTC\$110:00) | 符拉迪沃斯托克 |  | 
| 伏爾加格勒標準時間 | (UTC\$104:00) | 伏爾加格勒 |  | 
| 西部澳洲標準時間 | (UTC\$108:00) | 珀斯 | 此時區不會遵守日光節約時間。 | 
| 西部西非標準時間 | (UTC\$101:00) | 中西非 | 此時區不會遵守日光節約時間。 | 
| 西部歐洲標準時間 | (UTC\$101:00) | 阿姆斯特丹、柏林、羅馬、斯德哥爾摩、維也納 |  | 
| 西部蒙古標準時間 | (UTC\$107:00) | 霍夫德 |  | 
| 西亞標準時間 | (UTC\$105:00) | 阿什哈巴德，塔什干 | 此時區不會遵守日光節約時間。 | 
| 約旦河西岸標準時間 | (UTC\$102:00) | 加薩，希伯侖 |  | 
| 西太平洋標準時間 | (UTC\$110:00) | 關島，莫爾斯貝港 | 此時區不會遵守日光節約時間。 | 
| 亞庫茲克標準時間 | (UTC\$109:00) | 亞庫茲克 |  | 

# 使用服務主金鑰搭配 RDS Custom for SQL Server
<a name="custom-sqlserver-features.smk"></a>

RDS Custom for SQL Server 支援使用服務主金鑰 (SMK)。RDS Custom 會在 RDS Custom for SQL Server 資料庫執行個體的整個生命週期中保留相同的 SMK。透過保留相同的 SMK，您的資料庫執行個體可以使用透過 SMK 加密的物件，例如連結的伺服器密碼和憑證。如果您使用多可用區域部署，則 RDS Custom 也會同步及維護主要和次要資料庫執行個體之間的 SMK。

**Topics**
+ [區域和版本可用性](#custom-sqlserver-features.smk.list)
+ [支援的功能](#custom-sqlserver-features.smk.supportedfeatures)
+ [使用 TDE](#custom-sqlserver-features.smk.tde)
+ [設定功能](#custom-sqlserver-features.smk.configuringfeatures)
+ [要求與限制](#custom-sqlserver-features.smk.reqlimits)

## 區域和版本可用性
<a name="custom-sqlserver-features.smk.list"></a>

對於 RDS Custom 上提供的所有 SQL Server 版本，可使用 RDS Custom for SQL Server 的所有區域中全都支援使用 SMK。如需 Amazon RDS 搭配 RDS Custom for SQL Server 版本和區域可用性的詳細資訊，請參閱 [支援的 RDS Custom for SQL Server 區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.md#Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.sq)。

## 支援的功能
<a name="custom-sqlserver-features.smk.supportedfeatures"></a>

搭配 RDS Custom for SQL Server 使用 SMK 時，支援下列功能：
+ 透明資料加密 (TDE)
+ 資料欄層級加密
+ 資料庫郵件
+ 連結伺服器
+ SQL Server Integration Services (SSIS)

## 使用 TDE
<a name="custom-sqlserver-features.smk.tde"></a>

SMK 能夠設定透明資料加密 (TDE)，在資料寫入儲存體之前將資料加密，並在資料從儲存體讀取時自動將資料解密。與 RDS for SQL Server 不同，在 RDS Custom for SQL Server 資料庫執行個體上設定 TDE 不需要使用選項群組。相反地，建立憑證和資料庫加密金鑰之後，您可以執行下列命令，在資料庫層級開啟 TDE：

```
ALTER DATABASE [myDatabase] SET ENCRYPTION ON;
```

 如需使用 TDE 搭配 RDS for SQL Server 的詳細資訊，請參閱 [支援 SQL Server 的透明資料加密](Appendix.SQLServer.Options.TDE.md)。

 如需 Microsoft SQL Server 中 TDE 的詳細資訊，請參閱 Microsoft 文件中的[透明資料加密](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/transparent-data-encryption?view=sql-server-ver15)。

## 設定功能
<a name="custom-sqlserver-features.smk.configuringfeatures"></a>

如需設定搭配 RDS Custom for SQL Server 使用 SMK 之功能的詳細步驟，您可以在 Amazon RDS 資料庫部落格中使用下列文章：
+ 連結的伺服器：[在 RDS Custom for SQL Server 上設定連結的伺服器](https://aws.amazon.com/blogs/database/configure-linked-servers-on-amazon-rds-custom-for-sql-server/)。
+ SSIS：[將 SSIS 套件遷移至 RDS Custom for SQL Server](https://aws.amazon.com/blogs/database/migrate-microsoft-sql-server-ssis-packages-to-amazon-rds-custom-for-sql-server/)。
+ TDE：[在 RDS Custom for SQL Server 上使用 TDE 來保護您的資料](https://aws.amazon.com/blogs/database/secure-your-data-at-rest-on-amazon-rds-custom-for-sql-server-using-transparent-data-encryption-tde-or-column-level-encryption-cle/)。

## 要求與限制
<a name="custom-sqlserver-features.smk.reqlimits"></a>

搭配 RDS Custom for SQL Server 資料庫執行個體使用 SMK 時，請記住下列需求和限制：
+ 如果您在資料庫執行個體上重新產生 SMK，則應該立即執行手動資料庫快照。如果可能，建議您避免重新產生 SMK。
+ 您必須維護伺服器憑證和資料庫主金鑰密碼的備份。如果您未維護這些備份，可能會導致資料遺失。
+ 如果您設定 SSIS，則應該使用 SSM 文件將 RDS Custom for SQL Server 資料庫執行個體加入到網域，以防擴展運算或主機取代。
+ 啟用 TDE 或資料欄加密時，會自動加密資料庫備份。當您執行快照還原或時間點復原時，會還原來源資料庫執行個體中的 SMK 以解密還原的資料，並產生新的 SMK 以重新加密還原執行個體上的資料。

 如需 Microsoft SQL Server 中服務主金鑰的詳細資訊，請參閱 Microsoft 文件中的 [SQL Server 和資料庫加密金鑰](https://learn.microsoft.com/en-us/sql/relational-databases/security/encryption/sql-server-and-database-encryption-keys-database-engine?view=sql-server-ver15)。

# 使用 RDS Custom for SQL Server 變更資料擷取 (CDC) 支援
<a name="custom-sqlserver-features.cdc"></a>

## 概觀
<a name="custom-sqlserver-features.cdc.overview"></a>

RDS Custom for SQL Server 提供變更資料擷取 (CDC) 的原生支援，可讓您追蹤及擷取 SQL Server 資料表中的資料修改。CDC 會存放這些變更的詳細中繼資料，以供後續擷取和分析。如需 CDC 運作方式的詳細資訊，請參閱 Microsoft 文件中的[變更資料擷取](https://docs.microsoft.com/en-us/sql/relational-databases/track-changes/track-data-changes-sql-server#Capture)。

SQL Server 中的 CDC 作業需要 `sys.servers` 與 `SERVERPROPERTY('ServerName')` 識別符中*本機伺服器* (其 `server_id` = 0) 之間的相符值。RDS Custom for SQL Server 會在執行個體的整個生命週期中自動維持此同步，以確保 CDC 持續運作，即使主機在維護或復原作業期間遭到取代也一樣。

**重要**  
在多可用區域執行個體容錯移轉之後，`SERVERPROPERTY('Servername')` 函數會自動反映網路/電腦名稱的變更。不過，`@@SERVERNAME` 函數會保留舊的伺服器名稱，直到 `MSSQLSERVER` 服務重新啟動為止。查詢 @@SERVERNAME 會在容錯移轉後傳回先前的伺服器名稱。若要在容錯移轉後取得準確的伺服器名稱，請使用下列 SQL 查詢：  

```
SELECT name FROM sys.servers WHERE server_id=0
```
此查詢提供最新伺服器名稱資訊，而不需要重新啟動服務。

## 區域和版本可用性
<a name="custom-sqlserver-features.cdc.regionAvail"></a>

對於 RDS Custom 支援的所有 SQL Server 版本，提供 RDS Custom for SQL Server 的所有 AWS 區域 中都支援 CDC 功能。如需 RDS Custom for SQL Server 的支援版本和區域可用性的詳細資訊，請參閱 [支援的 RDS Custom for SQL Server 區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.md#Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.sq)。

## 要求與限制
<a name="custom-sqlserver-features.cdc.reqsLims"></a>

在 RDS Custom for SQL Server 上實作 CDC 時，請注意下列重要考量：
+ 如果您在 `sys.servers` 中手動設定 `@@SERVERNAME` 和/或*本機伺服器*以使用 MS 複寫等功能，則若 `sys.servers` 中的本機伺服器 (具有 `server_id = 0`) 的值設定為符合 `*.rds.amazonaws.com` 或 `*.awsrds.*.com` 的格式，RDS Custom for SQL Server 不會嘗試修改它以符合 `SERVERPROPERTY('ServerName')`。
+ 當遠端登入或連結伺服器正在使用舊的主機名稱時，RDS 無法將 `sys.servers` 中的本機伺服器 (具有 `server_id = 0`) 修改為新的主機名稱。此限制適用於兩種情況：
  + 當連結的伺服器使用與舊主機名稱相關聯的遠端登入來建立與本機伺服器的連線時
  + 當 RDS Custom for SQL Server 執行個體做為發布者或經銷商，且已將與舊主機名稱相關聯的登入連結至其訂閱用戶執行個體時。

## 故障診斷
<a name="custom-sqlserver-features.cdc.Troubleshooting"></a>

若要識別與舊伺服器名稱相關聯的遠端登入或連結的登入，請使用下列查詢。驗證結果並移除這些登入，以確保適當的 CDC 功能。

```
SELECT * FROM sys.remote_logins WHERE server_id=0
```

或

```
select sss.srvname,ssp.name,srl.remote_name  from sys.server_principals ssp 
inner join sys.remote_logins srl on srl.local_principal_id=ssp.principal_id
inner join sys.sysservers sss  on srl.server_id = sss.srvid
where sss.srvname = @@SERVERNAME
```

# 設定您的 Amazon RDS Custom for SQL Server 的環境
<a name="custom-setup-sqlserver"></a>

建立和管理 Amazon RDS Custom for SQL Server 資料庫執行個體的資料庫執行個體之前，請務必執行下列任務。

**Contents**
+ [設定 RDS Custom for SQL Server 的先決條件](#custom-setup-sqlserver.review)
  + [使用 自動建立執行個體描述檔 AWS 管理主控台](#custom-setup-sqlserver.instanceProfileCreation)
+ [步驟 1：將所需的許可授予您的 IAM 主體](#custom-setup-sqlserver.iam-user)
+ [步驟 2：設定網路、執行個體設定檔及加密](#custom-setup-sqlserver.iam-vpc)
  + [使用 設定 CloudFormation](#custom-setup-sqlserver.cf)
    + [CloudFormation 所需的參數](#custom-setup-sqlserver.cf.params)
    + [下載 CloudFormation 範本檔案](#custom-setup-sqlserver.cf.download)
    + [使用 CloudFormation 設定資源](#custom-setup-sqlserver.cf.config)
  + [手動設定](#custom-setup-sqlserver.manual)
    + [請確定您擁有對稱加密 AWS KMS 金鑰](#custom-setup-sqlserver.cmk)
    + [手動建立 IAM 角色和執行個體設定檔](#custom-setup-sqlserver.iam)
      + [建立 AWSRDSCustomSQLServerInstanceRole IAM 角色](#custom-setup-sqlserver.iam.create-role)
      + [將存取政策新增至 AWSRDSCustomSQLServerInstanceRole](#custom-setup-sqlserver.iam.add-policy)
      + [建立您的 RDS Custom for SQL Server 執行個體設定檔](#custom-setup-sqlserver.iam.create-profile)
      + [將 AWSRDSCustomSQLServerInstanceRole 新增至您的 RDS Custom for SQL Server 執行個體設定檔](#custom-setup-sqlserver.iam.add-profile)
    + [手動設定您的 VPC](#custom-setup-sqlserver.vpc)
      + [設定您的 VPC 安全群組](#custom-setup-sqlserver.vpc.sg)
      + [設定相依的端點 AWS 服務](#custom-setup-sqlserver.vpc.endpoints)
      + [設定個體中繼資料服務](#custom-setup-sqlserver.vpc.imds)
+ [跨執行個體限制](#custom-setup-sqlserver.cross-instance-restriction)

**注意**  
如需逐步教學課程，了解如何設定必要條件和啟動 Amazon RDS Custom for SQL Server，請參閱[使用 CloudFormation 範本 (網路設定) 開始使用 Amazon RDS Custom for SQL Server](https://aws.amazon.com/blogs/database/get-started-with-amazon-rds-custom-for-sql-server-using-an-aws-cloudformation-template-network-setup/) 和[探索建立 Amazon RDS Custom for SQL Server 執行個體所需的必要條件](https://aws.amazon.com/blogs/database/explore-the-prerequisites-required-to-create-an-amazon-rds-custom-for-sql-server-instance/)。

## 設定 RDS Custom for SQL Server 的先決條件
<a name="custom-setup-sqlserver.review"></a>

建立 RDS Custom to SQL Server 資料庫執行個體之前，請確定您的環境符合本主題中所述的需求。您也可以使用 CloudFormation 範本在 中設定先決條件 AWS 帳戶。如需詳細資訊，請參閱[使用 設定 CloudFormation](#custom-setup-sqlserver.cf)

RDS Custom for SQL Server 需要您設定下列先決條件：
+ 設定建立執行個體所需的 AWS Identity and Access Management (IAM) 許可。這是向 RDS 提出 `create-db-instance` 請求所需的 AWS Identity and Access Management (IAM) 使用者或角色。
+ 設定 RDS Custom for SQL Server 資料庫執行個體所需的先決條件資源：
  + 設定 RDS Custom 執行個體加密所需的 AWS KMS 金鑰。RDS Custom 在建立執行個體以進行加密時，需要客戶受管金鑰。在建立 RDS Custom 資料庫執行個體的請求中，KMS 金鑰 ARN、ID、別名 ARN 或別名名稱會做為 `kms-key-id` 參數傳遞。
  + 設定 RDS Custom for SQL Server 資料庫執行個體內所需的許可。RDS Custom 會在建立時將執行個體設定檔連接至資料庫執行個體，並將其用於資料庫執行個體內的自動化。執行個體設定檔名稱在 RDS Custom 建立請求中設定為 `custom-iam-instance-profile`。您可以從 建立執行個體描述檔， AWS 管理主控台 或手動建立執行個體描述檔。如需詳細資訊，請參閱[使用 自動建立執行個體描述檔 AWS 管理主控台](#custom-setup-sqlserver.instanceProfileCreation)及[手動建立 IAM 角色和執行個體設定檔](#custom-setup-sqlserver.iam)。
  + 根據 RDS Custom for SQL Server 的要求設定聯網設定。RDS Custom 執行個體位於您在執行個體建立時提供的子網路 (使用資料庫子網路群組所設定) 中。這些子網路必須允許 RDS Custom 執行個體與 RDS 自動化所需的服務通訊。

**注意**  
對於上述要求，請確定沒有任何服務控制政策 (SCP) 限制帳戶層級許可。  
如果您正在使用的帳戶是 AWS 組織的一部分，則可能會有限制帳戶層級許可的服務控制政策 (SCP)。確保 SCP 不會限制您使用下列程序所建立使用者與角色上的許可。  
如需 SCP 的詳細資訊，請參閱《*AWS Organizations 使用者指南*》中的[服務控制政策 (SCP)](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html)。使用 [describe-organization](https://docs.aws.amazon.com/cli/latest/reference/organizations/describe-organization.html) AWS CLI 命令來檢查您的帳戶是否為 AWS 組織的一部分。  
如需 AWS Organizations 的詳細資訊，請參閱*AWS Organizations 《 使用者指南*》中的[什麼是 AWS Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_introduction.html)。

如需適用於 RDS Custom for SQL Server 的一般需求，請參閱 [RDS Custom for SQL Server 的一般需求](custom-reqs-limits-MS.md#custom-reqs-limits.reqsMS)。

### 使用 自動建立執行個體描述檔 AWS 管理主控台
<a name="custom-setup-sqlserver.instanceProfileCreation"></a>

RDS Custom 要求您建立及設定執行個體設定檔，以啟動任何 RDS Custom for SQL Server 資料庫執行個體。使用 AWS 管理主控台 在單一步驟中建立和連接新的執行個體描述檔。此選項可在**建立資料庫**、**還原快照**和**還原至時間點**主控台頁面的 RDS Custom 安全區段下使用。選擇**建立新的執行個體設定檔**，以提供執行個體設定檔名稱尾碼。 AWS 管理主控台 會建立新的執行個體描述檔，其具有 RDS Custom 自動化任務所需的許可。若要自動建立新的執行個體描述檔，您的登入 AWS 管理主控台 使用者必須具有 `iam:CreateInstanceProfile`、`iam:CreateRole`、 `iam:AddRoleToInstanceProfile`和 `iam:AttachRolePolicy`許可。

**注意**  
此選項僅能在 AWS 管理主控台中使用。如果您使用 CLI 或 SDK，請使用 RDS Custom 提供的 CloudFormation 範本，或手動建立執行個體設定檔。如需詳細資訊，請參閱[手動建立 IAM 角色和執行個體設定檔](#custom-setup-sqlserver.iam)。

## 步驟 1：將所需的許可授予您的 IAM 主體
<a name="custom-setup-sqlserver.iam-user"></a>

確定您具有足夠存取權可建立 RDS Custom 執行個體。使用主控台或 CLI 建立 RDS Custom for SQL Server 資料庫執行個體的 IAM 角色或 IAM 使用者 (稱為 *IAM 主體*) 必須具有下列任一政策，才能成功建立資料庫執行個體：
+ `AdministratorAccess` 政策
+ 具有下列額外許可的 `AmazonRDSFullAccess` 政策：

  ```
  iam:SimulatePrincipalPolicy
  cloudtrail:CreateTrail
  cloudtrail:StartLogging
  s3:CreateBucket
  s3:PutBucketPolicy
  s3:PutBucketObjectLockConfiguration
  s3:PutBucketVersioning 
  kms:CreateGrant
  kms:DescribeKey
  kms:Decrypt
  kms:ReEncryptFrom
  kms:ReEncryptTo
  kms:GenerateDataKeyWithoutPlaintext
  kms:GenerateDataKey
  ec2:DescribeImages
  ec2:RunInstances
  ec2:CreateTags
  ```

  RDS Custom 會在執行個體建立期間使用這些許可。這些許可會設定您帳戶中 RDS Custom 作業所需的資源。

  如需 `kms:CreateGrant` 許可的詳細資訊，請參閱 [AWS KMS key 管理](Overview.Encryption.Keys.md)。

以下範例 JSON 政策授予必要許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ValidateIamRole",
            "Effect": "Allow",
            "Action": "iam:SimulatePrincipalPolicy",
            "Resource": "*"
        },
        {
            "Sid": "CreateCloudTrail",
            "Effect": "Allow",
            "Action": [
                "cloudtrail:CreateTrail",
                "cloudtrail:StartLogging"
            ],
            "Resource": "arn:aws:cloudtrail:*:*:trail/do-not-delete-rds-custom-*"
        },
        {
            "Sid": "CreateS3Bucket",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:PutBucketPolicy",
                "s3:PutBucketObjectLockConfiguration",
                "s3:PutBucketVersioning"
            ],
            "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*"
        },
        {
            "Sid": "CreateKmsGrant",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        }
    ]
}
```

------

IAM 主體需要下列額外許可才能使用自訂引擎版本 (CEV)：

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ConfigureKmsKeyEncryptionPermission",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey",
                "kms:Decrypt",
                "kms:ReEncryptFrom",
                "kms:ReEncryptTo",
                "kms:GenerateDataKeyWithoutPlaintext",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key_id"
        },
        {
            "Sid": "CreateEc2Instance",
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeImages",
                "ec2:RunInstances",
                "ec2:CreateTags"
            ],
            "Resource": "*"
        }
    ]
}
```

------

將 *111122223333* 取代為您用來建立執行個體的帳戶 ID。將 *us-east-1* 取代 AWS 區域 為您用來建立執行個體的 。以客戶受管金鑰 ID 取代 *key\$1id*。您可以視需要新增多個金鑰。

如需啟動 EC2 執行個體所需資源層級許可的詳細資訊，請參閱[啟動執行個體 (RunInstances)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ExamplePolicies_EC2.html#iam-example-runinstances)。

此外，IAM 主體在 IAM 角色上需要 `iam:PassRole` 許可。這必須連接到在請求中以 `custom-iam-instance-profile` 參數傳遞的執行個體，才能建立 RDS Custom 資料庫執行個體。稍後會在 [步驟 2：設定網路、執行個體設定檔及加密](#custom-setup-sqlserver.iam-vpc) 中建立執行個體設定檔及其連接的角色。

**注意**  
確保先前列出的許可不受服務控制政策 (SCP)、許可界限或與 IAM 主體相關聯之工作階段政策的限制。

## 步驟 2：設定網路、執行個體設定檔及加密
<a name="custom-setup-sqlserver.iam-vpc"></a>

您可以使用下列任一程序來設定 IAM 執行個體描述檔角色、虛擬私有雲端 AWS KMS (VPC) 和對稱加密金鑰：
+ [使用 設定 CloudFormation](#custom-setup-sqlserver.cf) (建議)
+ [手動設定](#custom-setup-sqlserver.manual)

**注意**  
如果您的帳戶屬於任何 AWS Organizations，請確定執行個體描述檔角色所需的許可不受服務控制政策 (SCPs限制。  
本主題中的網路組態能夠最有效地處理未供公開存取的資料庫執行個體。您無法從 VPC 外部直接與這些資料庫執行個體連線。

### 使用 設定 CloudFormation
<a name="custom-setup-sqlserver.cf"></a>

若要簡化設定，您可以使用 CloudFormation 範本檔案來建立 CloudFormation 堆疊。CloudFormation 範本會根據 RDS Custom 的要求建立所有聯網、執行個體設定檔和加密資源。

若要了解如何建立堆疊，請參閱*CloudFormation 《 使用者指南*》中的[在 CloudFormation 主控台上建立堆疊](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-console-create-stack.html)。

如需如何使用 CloudFormation 範本啟動 Amazon RDS Custom for SQL Server 的教學課程，請參閱 *AWS 資料庫部落格*中的[使用 CloudFormation 範本開始使用 Amazon RDS Custom for SQL Server](https://aws.amazon.com/blogs/database/get-started-with-amazon-rds-custom-for-sql-server-using-an-aws-cloudformation-template-network-setup/)。

**Topics**
+ [CloudFormation 所需的參數](#custom-setup-sqlserver.cf.params)
+ [下載 CloudFormation 範本檔案](#custom-setup-sqlserver.cf.download)
+ [使用 CloudFormation 設定資源](#custom-setup-sqlserver.cf.config)

#### CloudFormation 所需的參數
<a name="custom-setup-sqlserver.cf.params"></a>

使用 CloudFormation 設定 RDS Custom 先決條件資源時，需要下列參數：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-setup-sqlserver.html)

#### 由 CloudFormation 建立的資源
<a name="custom-setup-sqlserver.cf.list"></a>

使用預設設定成功建立 CloudFormation 堆疊會在您的 中建立下列資源 AWS 帳戶：
+ 對稱加密 KMS 金鑰，用於加密由 RDS Custom 管理的資料。
+ 執行個體設定檔透過 `AmazonRDSCustomInstanceProfileRolePolicy` 與 IAM 角色相關聯，以提供 RDS Custom 所需的許可。如需詳細資訊，請參閱《AWS 受管政策參考指南》**中的 [AmazonRDSCustomServiceRolePolicy](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRDSCustomServiceRolePolicy.html)。
+ 具有指定為 CloudFormation 參數之 CIDR 範圍的 VPC。預設值為 `10.0.0.0/16`。
+ 兩個私有子網路，具有參數中指定的 CIDR 範圍，以及 AWS 區域中兩個不同的可用區域。子網路 CIDR 的預設值為 `10.0.128.0/20` 和 `10.0.144.0/20`。
+ 一個公有子網路，具有參數中所指定的 CIDR 範圍。子網路 CIDR 的預設值為 10.0.0.0/20。EC2 執行個體位於此子網路中，可用於連線至 RDS Custom 執行個體。
+ 為 VPC 設定的 DHCP 選項，其網域名稱會解析為 Amazon Domain Name System (DNS) 伺服器。
+ 與兩個私有子網路相關聯且無法存取網際網路的路由表。
+ 與公有子網路相關聯且可存取網際網路的路由表。
+ 與 VPC 相關聯的網際網路閘道，以允許網際網路存取公有子網路。
+ 網路存取控制清單 (ACL)，其與兩個私有子網路相關聯，且僅限存取 HTTPS 和 VPC 內的資料庫連接埠。
+ 與 RDS Custom 執行個體相關聯的 VPC 安全群組。傳出 HTTPS 存取僅限於 RDS Custom 和來自 EC2 執行個體安全群組的傳入資料庫連接埠所需的 AWS 服務 端點。
+ 要與公有子網路中的 EC2 執行個體關聯的 VPC 安全群組。傳出資料庫連接埠的存取權限制為 RDS Custom 執行個體安全群組。
+ 要與為 RDS Custom 所需端點建立的 VPC AWS 服務 端點相關聯的 VPC 安全群組。
+ 在其中建立 RDS Custom 執行個體的資料庫子網路群組。此範本所建立的兩個私有子網路會新增至資料庫子網路群組。
+ RDS Custom 所需的每個端點的 VPC AWS 服務 端點。

除了上述清單之外，將可用性組態設定為多可用區也會建立下列資源：
+ 網路 ACL 規則允許私有子網路之間的通訊。
+ 與 RDS Custom 執行個體相關聯之 VPC 安全群組內多可用區連接埠的傳入和傳出存取權。
+ VPC 端點至 AWS 服務端點 （多可用區域通訊所需）。

此外，設定 RDP 存取組態會建立下列資源：
+ 從來源 IP 位址設定公有子網路的 RDP 存取：
  + 允許 RDP 從您的來源 IP 連線至公有子網路的網路 ACL 規則。
  + 將 RDP 連接埠的存取權從來源 IP 傳入與 EC2 執行個體相關聯的 VPC 安全群組。
+ 設定從公有子網路中的 EC2 執行個體到私有子網路中 RDS 自訂執行個體的 RDP 存取：
  + 網路 ACL 規則允許從公有子網路到私有子網路的 RDP 連線。
  + 從與 EC2 執行個體相關聯的 VPC 安全群組到與 RDS 自訂執行個體相關聯的 VPC 安全群組，對 RDP 連接埠的傳入存取。

使用下列程序為 RDS Custom for SQL Server 建立 CloudFormation 堆疊。

#### 下載 CloudFormation 範本檔案
<a name="custom-setup-sqlserver.cf.download"></a>

**下載範本檔案**

1. 開啟連結 [custom-sqlserver-onboard.zip](samples/custom-sqlserver-onboard.zip) 的內容 (滑鼠右鍵) 功能表，然後選擇 **Save Link As** (另存連結為)。

1. 將檔案儲存並擷取到您的電腦。

#### 使用 CloudFormation 設定資源
<a name="custom-setup-sqlserver.cf.config"></a>

**使用 CloudFormation 設定資源**

1. 開啟位於 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 的 CloudFormation 主控台。

1. 若要啟動「建立堆疊」精靈，請選擇 **Create Stack** (建立堆疊)。

   **Create stack** (建立堆疊) 頁面隨即出現。

1. 對於 **Prepare template** (準備範本)，請選擇 **Template is ready** (範本已準備就緒)。

1. 針對 **Specify template** 執行下列操作：

   1. 針對 **Template source** (範本來源)，選擇 **Upload a template file** (上傳範本檔案)。

   1. 針對**選擇檔案**，導覽至該處並選擇正確檔案。

1. 選擇**下一步**。

   **Specify stack details** (指定堆疊詳細資訊) 頁面隨即出現。

1. 針對**堆疊名稱** 輸入 **rds-custom-sqlserver**。

1. 對於 **Parameters** (參數)，請執行下列動作：

   1. 若要保留預設選項，請選擇 **Next** (下一步)。

   1. 若要變更選項，請選擇適當的可用性組態、聯網組態和 RDP 存取組態，然後選擇**下一步**。

      在變更參數之前，請先仔細閱讀每個參數的說明。
**注意**  
如果您選擇在此 CloudFormation 堆疊中建立至少一個多可用區執行個體，請確定將 CloudFormation 堆疊參數**選取先決條件設定的可用性組態**設定為 `Multi-AZ`。如果您將 CloudFormation 堆疊建立為單一可用區，請在建立第一個多可用區執行個體之前，將 CloudFormation 堆疊更新為多可用區組態。

1. 在 **Configure stack options** (設定堆疊選項) 頁面，選擇 **Next** (下一步)。

1. 在 **Review rds-custom-sqlserver** (檢閱 rds-custom-sqlserver) 頁面上，執行下列操作：

   1. 針對 **Capabilities (功能)**，選取 ****I acknowledge that CloudFormation might create IAM resources with custom names**** (確認可能使用自訂名稱建立 IAM 資源) 核取方塊。

   1. 選擇 **Create Stack** (建立堆疊)。

**注意**  
請勿直接從資源頁面更新從此 CloudFormation 堆疊建立的資源。這可防止您使用 CloudFormation 範本，將未來的更新套用至這些資源。

CloudFormation 會建立 RDS Custom for SQL Server 需要的資源。如果堆疊建立失敗，請詳讀 **Events** 索引標籤，查看哪些資源建立失敗及其狀態原因。

主控台中此 CloudFormation 堆疊的 **Outputs** (輸出) 索引標籤應有要作為用於建立 RDS Custom for SQL Server 資料庫執行個體的參數傳遞的所有資源相關資訊。務必使用由 CloudFormation for RDS Custom 資料庫執行個體建立的 VPC 安全群組與資料庫子網路群組。依預設，RDS 會嘗試連接預設的 VPC 安全群組，此群組可能沒有您需要的存取權。

如果您使用 CloudFormation 建立資源，則可以略過 [手動設定](#custom-setup-sqlserver.manual)。

#### 更新 CloudFormation 堆疊
<a name="custom-setup-sqlserver.cf.update"></a>

您也可以在建立後更新 CloudFormation 堆疊上的部分組態。可更新的組態包括：
+ RDS Custom for SQL Server 的可用性組態
  + **選取先決條件設定的可用性組態**：更新此參數，以在單一可用區與多可用區組態之間切換。如果您將此 CloudFormation 堆疊用於至少一個多可用區執行個體，則必須更新堆疊，以選擇多可用區組態。
+ RDS Custom for SQL Server 的 RDP 存取考量
  + 來源的 IPv4 CIDR 區塊：您可以透過更新此參數來更新來源的 IPv4 CIDR 區塊 (或 IP 位址範圍)。將此參數設為空白會將來源 CIDR 區塊的 RDP 存取組態移除為公有子網路。
  + 設定 RDP 存取 RDS Custom for SQL Server：啟用或停用從 EC2 執行個體到 RDS Custom for SQL Server 執行個體的 RDP 連線。

#### 刪除 CloudFormation 堆疊
<a name="custom-setup-sqlserver.cf.delete"></a>

您在刪除所有使用堆疊中資源的 RDS Custom 執行個體後，可以刪除 CloudFormation 堆疊。RDS Custom 不會追蹤 CloudFormation 堆疊，因此，當有使用堆疊資源的資料庫執行個體時，不會封鎖刪除堆疊。刪除堆疊時，請確定沒有使用堆疊資源的 RDS Custom 資料庫執行個體。

**注意**  
當您刪除 CloudFormation 堆疊時，由該堆疊建立的所有資源皆會遭到刪除，唯 KMS 金鑰除外。KMS 金鑰會進入 pending-deletion 狀態並在 30 天後刪除。若要保留 KMS 金鑰，請在 30 天的寬限期執行 [CancelKeyDeletion](https://docs.aws.amazon.com/kms/latest/APIReference/API_CancelKeyDeletion.html) 操作。

### 手動設定
<a name="custom-setup-sqlserver.manual"></a>

如果您選擇手動設定資源，請執行以下任務。

**注意**  
若要簡化設定，您可以使用 CloudFormation 範本檔案來建立 CloudFormation 堆疊，而不是手動組態。如需詳細資訊，請參閱[使用 設定 CloudFormation](#custom-setup-sqlserver.cf)。  
您也可以使用 AWS CLI 來完成本節。若是如此，請下載並安裝最新 CLI。

**Topics**
+ [請確定您擁有對稱加密 AWS KMS 金鑰](#custom-setup-sqlserver.cmk)
+ [手動建立 IAM 角色和執行個體設定檔](#custom-setup-sqlserver.iam)
+ [手動設定您的 VPC](#custom-setup-sqlserver.vpc)

#### 請確定您擁有對稱加密 AWS KMS 金鑰
<a name="custom-setup-sqlserver.cmk"></a>

RDS Custom AWS KMS key 需要對稱加密。建立 RDS Custom for SQL Server 資料庫執行個體時，必須提供 KMS 金鑰識別符做為參數 `kms-key-id`。如需詳細資訊，請參閱[建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體](custom-creating-sqlserver.md)。

您有下列選項：
+ 如果您的 中有現有的客戶受管 KMS 金鑰 AWS 帳戶，您可以搭配 RDS Custom 使用它。無需採取進一步動作。
+ 若您已為不同的 RDS Custom 引擎建立客戶受管對稱加密 KMS 金鑰，您可以重複使用相同的 KMS 金鑰。無需採取進一步動作。
+ 若您的帳戶中並無現有的客戶受管對稱加密 KMS 金鑰，請藉由遵循《AWS Key Management Service 開發人員指南》**中的[建立金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)來建立 KMS 金鑰。
+ 如果您要建立 CEV 或 RDS Custom 資料庫執行個體，且 KMS 金鑰位於不同的 中 AWS 帳戶，請務必使用 AWS CLI。您無法搭配跨帳戶 KMS 金鑰使用 AWS 主控台。

**重要**  
RDS Custom 不支援 AWS 受管 KMS 金鑰。

請確定您的對稱加密金鑰將 `kms:Decrypt`和 `kms:GenerateDataKey`操作的存取權授予 IAM 執行個體設定檔中的 AWS Identity and Access Management (IAM) 角色。若您的帳戶中有新的對稱加密金鑰，則不需要變更。否則，請確定對稱加密金鑰政策授予這些操作的存取權。

如需詳細資訊，請參閱[步驟 4：設定 RDS Custom for Oracle 的 IAM](custom-setup-orcl.md#custom-setup-orcl.iam-vpc)。

#### 手動建立 IAM 角色和執行個體設定檔
<a name="custom-setup-sqlserver.iam"></a>

您可以手動建立執行個體設定檔，並使用它來啟動 RDS Custom 執行個體。如果您打算在 中建立執行個體 AWS 管理主控台，請略過本節。 AWS 管理主控台 可讓您建立執行個體描述檔，並將其連接至 RDS Custom 資料庫執行個體。如需詳細資訊，請參閱[使用 自動建立執行個體描述檔 AWS 管理主控台](#custom-setup-sqlserver.instanceProfileCreation)。

當您手動建立執行個體設定檔時，請將執行個體設定檔名稱做為 `custom-iam-instance-profile` 參數傳遞至 CLI `create-db-instance` 命令。RDS Custom 會使用與此執行個體設定檔相關聯的角色來執行自動化，以管理執行個體。

**建立 RDS Custom for SQL Server 的 IAM 執行個體設定檔和 IAM 角色**

1. 建立名為 `AWSRDSCustomSQLServerInstanceRole` 的 IAM 角色，具有可讓 Amazon EC2 擔任此角色的信任政策。

1. 將 AWS 受管政策`AmazonRDSCustomInstanceProfileRolePolicy`新增至 `AWSRDSCustomSQLServerInstanceRole`。

1. 為 RDS Custom for SQL Server 建立名為 `AWSRDSCustomSQLServerInstanceProfile` 的 IAM 執行個體設定檔。

1. 將 `AWSRDSCustomSQLServerInstanceRole` 新增至執行個體設定檔。

##### 建立 AWSRDSCustomSQLServerInstanceRole IAM 角色
<a name="custom-setup-sqlserver.iam.create-role"></a>

下列範例會建立 `AWSRDSCustomSQLServerInstanceRole` 角色。信任政策可讓 Amazon EC2 擔任角色。

```
aws iam create-role \
    --role-name AWSRDSCustomSQLServerInstanceRole \
    --assume-role-policy-document '{
        "Version": "2012-10-17",		 	 	 
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                  "Service": "ec2.amazonaws.com"
              }
            }
          ]
        }'
```

##### 將存取政策新增至 AWSRDSCustomSQLServerInstanceRole
<a name="custom-setup-sqlserver.iam.add-policy"></a>

若要提供所需的許可，請將 AWS 受管政策連接至 `AmazonRDSCustomInstanceProfileRolePolicy` `AWSRDSCustomSQLServerInstanceRole`。 `AmazonRDSCustomInstanceProfileRolePolicy` 允許 RDS Custom 執行個體傳送和接收訊息，並執行各種自動化動作。

**注意**  
確定存取政策中的許可不受與執行個體設定檔角色相關聯的 SCP 或許可界限所限制。

下列範例會將 AWS 受管政策連接至`AmazonRDSCustomInstanceProfileRolePolicy``AWSRDSCustomSQLServerInstanceRole`角色。

```
aws iam attach-role-policy \
    --role-name AWSRDSCustomSQLServerInstanceRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonRDSCustomInstanceProfileRolePolicy
```

##### 建立您的 RDS Custom for SQL Server 執行個體設定檔
<a name="custom-setup-sqlserver.iam.create-profile"></a>

執行個體設定檔是包含單一 IAM 角色的容器。RDS Custom 會使用執行個體設定檔，將角色傳遞到執行個體。

如果您使用 AWS 管理主控台 為 Amazon EC2 建立角色，主控台會自動建立執行個體描述檔，並在建立角色時為其提供與角色相同的名稱。如下所示建立您的執行個體設定檔，將它命名為 `AWSRDSCustomSQLServerInstanceProfile`。

```
aws iam create-instance-profile \
    --instance-profile-name AWSRDSCustomSQLServerInstanceProfile
```

##### 將 AWSRDSCustomSQLServerInstanceRole 新增至您的 RDS Custom for SQL Server 執行個體設定檔
<a name="custom-setup-sqlserver.iam.add-profile"></a>

將 `AWSRDSCustomInstanceRoleForRdsCustomInstance` 角色新增至先前建立的 `AWSRDSCustomSQLServerInstanceProfile` 設定檔。

```
aws iam add-role-to-instance-profile \
    --instance-profile-name AWSRDSCustomSQLServerInstanceProfile \
    --role-name AWSRDSCustomSQLServerInstanceRole
```

#### 手動設定您的 VPC
<a name="custom-setup-sqlserver.vpc"></a>

根據 Amazon VPC 服務，您的 RDS Custom 資料庫執行個體位於虛擬私有雲端 (VPC)，就像是 Amazon EC2 執行個體或 Amazon RDS 執行個體。您可以提供和設定您自己的 VPC。因此，您可以完全控制您的執行個體網絡設定。

RDS Custom 會將通訊從您的資料庫執行個體傳送到其他 AWS 服務。請確定可從您建立 RDS Custom 資料庫執行個體的子網路存取下列服務：
+ Amazon CloudWatch (`com.amazonaws.region.monitoring`)
+ Amazon CloudWatch Logs (`com.amazonaws.region.logs`)
+ Amazon CloudWatch Events (`com.amazonaws.region.events`)
+ Amazon EC2 (`com.amazonaws.region.ec2` 和 `com.amazonaws.region.ec2messages`)
+ Amazon S3 (`com.amazonaws.region.s3`)
+ AWS Secrets Manager (`com.amazonaws.region.secretsmanager`)
+ AWS Systems Manager (`com.amazonaws.region.ssm` 和 `com.amazonaws.region.ssmmessages`)

若建立多可用區域部署
+ Amazon Simple Queue Service (`com.amazonaws.region.sqs`)

如果 RDS Custom 無法與必要服務進行通訊，則會發佈下列事件：

```
Database instance in incompatible-network. SSM Agent connection not available. Amazon RDS can't connect to the dependent AWS services.
```

```
Database instance in incompatible-network. Amazon RDS can't connect to dependent AWS services. Make sure port 443 (HTTPS) allows outbound connections, and try again. "Failed to connect to the following services: s3 events"
```

若要避免`incompatible-network`錯誤，請確定涉及 RDS Custom 資料庫執行個體之間通訊的 VPC 元件，並 AWS 服務 滿足下列要求：
+ 資料庫執行個體會在連接埠 443 上對其他 AWS 服務進行傳出連線。
+ VPC 允許對來自您 RDS Custom 資料庫執行個體的請求進行傳入回應。
+ RDS Custom 可以正確解析每個 AWS 服務的端點網域名稱。

若您已經為不同的 RDS Custom 資料庫引擎設定 VPC，您可重複使用該 VPC 並略過此程序。

**Topics**
+ [設定您的 VPC 安全群組](#custom-setup-sqlserver.vpc.sg)
+ [設定相依的端點 AWS 服務](#custom-setup-sqlserver.vpc.endpoints)
+ [設定個體中繼資料服務](#custom-setup-sqlserver.vpc.imds)

##### 設定您的 VPC 安全群組
<a name="custom-setup-sqlserver.vpc.sg"></a>

*安全群組*會做為 VPC 執行個體的虛擬防火牆，控制傳入及傳出流量。RDS Custom 資料庫執行個體具有連接至其網路介面的安全群組，會保護執行個體。請確定您的安全群組允許 RDS Custom 與其他 AWS 服務 之間的流量通過 HTTPS。您可以在執行個體建立請求中，將此安全群組做為 `vpc-security-group-ids` 參數傳遞。

**若要設定 RDS Custom 的安全群組**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/vpc](https://console.aws.amazon.com/vpc) 的 Amazon VPC 主控台。

1. 允許 RDS Custom 使用預設安全群組，或建立您自己的安全群組。

   如需詳細說明，請參閱 [建立安全群組以存取在您的 VPC 中您的資料庫執行個體](CHAP_SettingUp.md#CHAP_SettingUp.SecurityGroup)。

1. 請確定您的安全群組允許連接埠 443 上的傳出連線。RDS Custom 需要此連接埠與相依 AWS 服務通訊。

1. 如果您具備私有 VPC 並使用 VPC 端點，請確定與資料庫執行個體相關聯的安全群組允許連接埠 443 上傳出至 VPC 端點的連線。此外還要確定與 VPC 端點相關聯的安全群組允許連接埠 443 上從資料庫執行個體傳入的連線。

   如果不允許傳入的連線，則 RDS Custom 執行個體無法連線到 AWS Systems Manager 和 Amazon EC2 端點。如需詳細資訊，請參閱《*AWS Systems Manager 使用者指南*》中的[建立 Virtual Private Cloud 端點](https://docs.aws.amazon.com/systems-manager/latest/userguide/setup-create-vpc.html)。

1. 對於 RDS Custom for SQL Server 多可用區域執行個體，請確定與資料庫執行個體相關聯的安全群組允許連接埠 1120 上對此安全群組本身的傳入和傳出連線。這對於多可用區域 RDS Custom for SQL Server 資料庫執行個體上的對等主機連線是必要的。

如需安全群組的詳細資訊，請參閱《*Amazon VPC 開發人員指南*》中的[您的 VPC 的安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

##### 設定相依的端點 AWS 服務
<a name="custom-setup-sqlserver.vpc.endpoints"></a>

建議您使用下列指示將每個服務的端點新增至 VPC。不過，您可以使用任何解決方案，讓您的 VPC 與服務 AWS 端點通訊。例如，您可以使用網路位址轉譯 (NAT) 或 AWS Direct Connect。

**設定用於 RDS Custom AWS 服務 的端點**

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 在導覽列上，使用區域選取器來選擇 AWS 區域。

1. 在導覽窗格中選擇**端點**。在主窗格中，選擇 **Create Endpoint (建立端點)**。

1. 對於 **Service category** (服務類別)，選擇 **AWS 服務**。

1. 針對 **Service Name (服務名稱)**，選擇表格中顯示的端點。

1. 在 **VPC** 中，選擇您的 VPC。

1. 在 **Subnets (子網路)** 中，請從每個可用區域選擇要包含的子網路。

   VPC 端點可以跨越多個可用區域。 會為您選擇的每個子網路中的 VPC 端點 AWS 建立彈性網路介面。每個網路界面具有網域名稱系統 (DNS) 主機名稱和私有 IP 地址。

1. 針對 **Security group (安全群組)**，選擇或建立安全群組。

   您可以使用安全群組來控制對端點的存取，就像使用防火牆一樣。請確定安全群組允許連接埠 443 上從資料庫執行個體傳入的連線。如需安全群組的詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [VPC 的安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

1. 或者，您可以將政策連接至 VPC 端點。端點政策可以控制對您要連線之 AWS 服務 的存取。預設政策允許所有請求通過端點。如果您使用的是自訂政策，請確定該政策中允許來自資料庫執行個體的請求。

1. 選擇**建立端點**。

下表說明如何尋找您的 VPC 傳出通訊所需的端點清單。


| 服務 | 端點格式 | 備註和連結 | 
| --- | --- | --- | 
|  AWS Systems Manager  |  使用下列端點格式： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-setup-sqlserver.html)  |  如需每個區域的端點清單，請參閱 *Amazon Web Services 一般參考* 中的 [AWS Systems Manager 端點和配額](https://docs.aws.amazon.com/general/latest/gr/ssm.html)。  | 
|  AWS Secrets Manager  |  使用端點格式 `secretsmanager.region.amazonaws.com`。  |  如需每個區域的端點清單，請參閱 *Amazon Web Services 一般參考* 中的 [AWS Secrets Manager 端點和配額](https://docs.aws.amazon.com/general/latest/gr/asm.html)。  | 
|  Amazon CloudWatch  |  使用下列端點格式： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-setup-sqlserver.html)  | 如需每個區域中的端點清單，請參閱：[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-setup-sqlserver.html) | 
|  Amazon EC2  |  使用下列端點格式： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-setup-sqlserver.html)  |  如需每個區域中的端點清單，請參閱 *Amazon Web Services 一般參考* 中的 [Amazon Elastic Compute Cloud 端點和配額](https://docs.aws.amazon.com/general/latest/gr/ec2-service.html)。  | 
|  Amazon S3  |  使用端點格式 `s3.region.amazonaws.com`。  |  如需每個區域中的端點清單，請參閱 *Amazon Web Services 一般參考* 中的 [Amazon Simple Storage Service 端點和配額](https://docs.aws.amazon.com/general/latest/gr/s3.html)。 若要進一步了解 Amazon S3 的閘道端點，請參閱《*Amazon VPC 開發人員指南*》中的 [Amazon S3 的端點](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-s3.html)。 若要了解如何建立存取點，請參閱《*Amazon VPC 開發人員指南*》中的[建立存取點](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/access-points-create-ap.html)。 若要瞭解如何為 Amazon S3 建立閘道端點，請參閱[閘道 VPC 端點](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-gateway.html)。  | 
|  Amazon Simple Queue Service  | 使用端點格式 sqs.region.amazonaws.com | 如需每個區域中的端點清單，請參閱 [Amazon Simple Queue Service 端點和配額](https://docs.aws.amazon.com/general/latest/gr/sqs-service.html)。 | 

##### 設定個體中繼資料服務
<a name="custom-setup-sqlserver.vpc.imds"></a>

請確定您的執行個體可以執行下列操作：
+ 使用執行個體中繼資料服務版本 2 (IMDSv2) 存取執行個體中繼資料服務。
+ 允許透過連接埠 80 (HTTP) 與 IMDS 連結 IP 地址進行傳出通訊。
+ 從 `http://169.254.169.254` (IMDSv2 連結) 要求執行個體中繼資料。

如需詳細資訊，請參閱《Amazon EC2 使用者指南》**中的[使用 IMDSv2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-service.html)。

## 跨執行個體限制
<a name="custom-setup-sqlserver.cross-instance-restriction"></a>

當您依照上述步驟建立執行個體描述檔時，它會使用 AWS 受管政策`AmazonRDSCustomInstanceProfileRolePolicy`向 RDS Custom 提供必要的許可，以允許執行個體管理和監控自動化。受管政策可確保許可僅允許存取 RDS Custom 執行自動化所需的資源。建議您使用受管政策來支援新功能並解決安全需求，這些要求會自動套用至現有的執行個體設定檔，而無需手動介入。如需詳細資訊，請參閱 [ 受管政策：AmazonRDSCustomInstanceProfileRolePolicy](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/rds-security-iam-awsmanpol.html#rds-security-iam-awsmanpol-AmazonRDSCustomInstanceProfileRolePolicy)。

`AmazonRDSCustomInstanceProfileRolePolicy` 受管政策限制執行個體設定檔具有跨帳戶存取權，但可能允許存取相同帳戶中跨 RDS Custom 執行個體的一些 RDS Custom 受管資源。根據您的需求，您可以使用許可界限來進一步限制跨執行個體存取。許可界限會定義身分型政策可授予實體的最大許可，但不會自行授予許可。如需詳細資訊，請參閱[使用邊界評估有效許可](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html#access_policies_boundaries-eval-logic)。

例如，下列邊界政策會限制執行個體描述檔角色存取特定 AWS KMS 金鑰，並限制跨使用不同 AWS KMS 金鑰的執行個體存取 RDS Custom 受管資源。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "DenyOtherKmsKeyAccess",
            "Effect": "Deny",
            "Action": "kms:*",
            "NotResource": "arn:aws:kms:us-east-1:111122223333:key/KMS_key_ID"
        }
    ]
}
```

------

**注意**  
請確定許可界限不會封鎖 `AmazonRDSCustomInstanceProfileRolePolicy` 授予 RDS Custom 的任何許可。

# 透過 RDS Custom for SQL Server 使用自有媒體
<a name="custom-sqlserver.byom"></a>

RDS Custom for SQL Server 支援兩種授權模式：已包含授權 (LI) 和使用自有媒體 (BYOM)。

**透過 BYOM，您可以執行下列操作：**

1. 在 an AWS EC2 Windows AMI 上使用支援的累積更新 (CU) 提供並安裝您自己的 Microsoft SQL Server 二進位檔。

1. 將 AMI 另存為黃金映像，可將其用於建立自訂引擎版本 (CEV) 的範本。

1. 從您的黃金映像建立 CEV。

1. 使用 CEV 建立新的 RDS Custom for SQL Server 資料庫執行個體。

然後，Amazon RDS 會為您管理您的資料庫執行個體。

**注意**  
如果您也有 SQL Server 資料庫執行個體的已包含授權 (LI) RDS Custom，則無法將此資料庫執行個體中的 SQL Server 軟體與 BYOM 搭配使用。您必須對 BYOM 提供自己的 SQL Server 二進位檔案。

## RDS Custom for SQL Server 的 BYOM 要求
<a name="custom-sqlserver.byom.requirements"></a>

適用於 RDS Custom for SQL Server 引擎版本的相同一般需求也適用於 BYOM。如需詳細資訊，請參閱[RDS Custom for SQL Server CEV 的要求](custom-cev-sqlserver.preparing.md#custom-cev-sqlserver.preparing.Requirements)。

使用 BYOM 時，請務必滿足下列額外要求：
+ 使用下列其中一個支援的版本：SQL Server 2022 或 2019 Enterprise、Standard 或 Developer 版本。
+ 將 SQL Server 系統管理員 (SA) 伺服器角色權限授予 `NT AUTHORITY\SYSTEM`。
+ 開啟 TCP 埠 1433 和 UDP 連接埠 1434 以允許 SSM 連線。

## RDS Custom for SQL Server 的限制
<a name="custom-sqlserver.byom.limitations"></a>

適用於 RDS Custom for SQL Server 的相同一般限制也適用於 BYOM。如需詳細資訊，請參閱[Amazon RDS Custom for SQL Server 的需求和限制](custom-reqs-limits-MS.md)。

使用 BYOM 時，適用下列額外限制：
+ 僅支援預設 SQL Server 執行個體 (MSSQLSERVER)。不支援具名的 SQL Server 執行個體。RDS Custom for SQL Server 只會偵測並監控預設 SQL Server 執行個體。
+ 每個 AMI 僅支援安裝一次 SQL Server。不支援不同 SQL Server 版本的多重安裝。
+ BYOM 不支援 SQL Server 網頁版本。
+ BYOM 不支援 SQL Server 版本的評估版本。當您安裝 SQL Server 時，請勿選擇使用試用版本的核取方塊。
+ 功能可用性和支援會因每個資料庫引擎的特定版本以及 AWS 區域而有所不同。如需詳細資訊，請參閱[RDS Custom for SQL Server CEV 的區域可用性](custom-cev-sqlserver.preparing.md#custom-cev-sqlserver.preparing.RegionVersionAvailability)及[RDS Custom for SQL Server CEV 的版本支援](custom-cev-sqlserver.preparing.md#custom-cev-sqlserver.preparing.VersionSupport)。

## 使用 BYOM 建立 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-sqlserver.byom.creating"></a>

若要使用 BYOM 準備和建立 RDS Custom for SQL Server 資料庫執行個體，請參閱 [使用自有媒體 (BYOM) 準備 CEV](custom-cev-sqlserver.preparing.md#custom-cev-sqlserver.preparing.byom)。

# 使用 RDS Custom for SQL Server 的自訂引擎版本
<a name="custom-cev-sqlserver"></a>

RDS Custom for SQL Server 的*自訂引擎版本 (AMI)* 是包含 Microsoft SQL Server 的 Amazon Machine Image (AMI)。

**CEV 工作流程的基本步驟如下：**

1. 選擇要用作 CEV 基礎映像的 an AWS EC2 Windows AMI。您可以選擇使用預先安裝型 Microsoft SQL Server 或使用自有媒體來安裝 SQL Server。

1. 在作業系統 (OS) 上安裝其他軟體，並自訂作業系統和 SQL Server 的組態，以符合您的企業需求。

1. 將 AMI 儲存為黃金映像

1. 從您的黃金映像建立自訂引擎版本 (CEV)。

1. 使用 CEV 建立新的 RDS Custom for SQL Server 資料庫執行個體。

然後，Amazon RDS 會為您管理這些資料庫執行個體。

CEV 可讓您維護作業系統和資料庫的偏好基準組態。使用 CEV 可確保主機組態 (例如任何第三方代理程式安裝或其他作業系統自訂) 會保存在 RDS Custom for SQL Server 資料庫執行個體上。有了 CEV，您可以使用相同組態快速部署 RDS Custom for SQL Server 資料庫執行個體的機群。

**Topics**
+ [準備建立 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver.preparing.md)
+ [建立 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver.create.md)
+ [修改 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver-modifying.md)
+ [檢視 Amazon RDS Custom for SQL Server 的 CEV 詳細資訊](custom-viewing-sqlserver.md)
+ [刪除 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver-deleting.md)

# 準備建立 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver.preparing"></a>

您可以使用 Amazon Machine Image (AMI)建立 CEV，該映像含有預先安裝的已包含授權 (LI) Microsoft SQL Server，或者使用安裝了自有 SQL Server 安裝媒體 (BYOM) 的 AMI。

## 準備 CEV
<a name="custom-cev-sqlserver.preparing.types"></a>

使用下列程序，使用自有媒體 (BYOM) 或預先安裝的 Microsoft SQL Server (LI) 來建立 CEV。

### 使用自有媒體 (BYOM) 準備 CEV
<a name="custom-cev-sqlserver.preparing.byom"></a>

下列步驟使用具有 **Windows Server 2019 Base** 的 AMI 做為範例。

**若要使用 BYOM 建立 CEV**

1. 在 Amazon EC2 主控台上，選擇**啟動執行個體**。

1. 在**名稱**中，輸入執行個體的名稱。

1. 在 [快速入門] 下，選擇 **Windows**。

1. 選擇 **Microsoft Windows Server 2019 Base**。

1. 選擇適當的執行個體類型、金鑰對、網路和儲存體設定，然後啟動執行個體。

1. 啟動或建立 EC2 執行個體之後，請確定從步驟 4 中選取正確的 Windows AMI：

   1. 在 Amazon EC2 主控台中選取 EC2 執行個體。

   1. 在**詳細資訊**區段中，檢查**使用操作**，確認其設定為 **RunInstances:0002**。  
![\[針對 BYOM 使用 RunInstances:0002 的 Windows AMI。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/cev-sqlserver-byom-ec2runinstances.png)

1. 登入 EC2 執行個體，然後將 SQL Server 安裝媒體複製到該執行個體。
**注意**  
如果您使用 SQL Server Developer 版本建置 CEV，您可能需要使用 [Microsoft Visual Studio 訂閱](https://my.visualstudio.com/Downloads?q=sqlserver%20developer)取得安裝媒體。

1. 安裝 SQL Server。請確定執行下列操作：

   1. 檢閱 [RDS Custom for SQL Server 的 BYOM 要求](custom-sqlserver.byom.md#custom-sqlserver.byom.requirements) 和 [RDS Custom for SQL Server CEV 的版本支援](#custom-cev-sqlserver.preparing.VersionSupport)。

   1. 將執行個體根目錄設定為預設值 `C:\Program Files\Microsoft SQL Server\`。請勿變更此目錄。

   1. 將 SQL Server 資料庫引擎帳戶名稱設定為 `NT Service\MSSQLSERVER` 或 `NT AUTHORITY\NETWORK SERVICE`。

   1. 將 SQL Server 啟動模式設定為**手動**。

   1. 將 SQL Server 驗證模式選擇為**混合**。

   1. 保留預設資料目錄和 TempDB 位置的現有設定。

1. 將 SQL Server系統管理員 (SA) 伺服器角色權限授予 `NT AUTHORITY\SYSTEM`：

   ```
   1. USE [master]
   2. GO
   3. EXEC master..sp_addsrvrolemember @loginame = N'NT AUTHORITY\SYSTEM' , @rolename = N'sysadmin'
   4. GO
   ```

1. 安裝其他軟體或自訂作業系統和資料庫組態以符合您的需求。

1. 在 EC2 執行個體上執行 Sysprep。如需詳細資訊，請參閱[使用 Windows Sysprep 建立 Amazon EC2 AMI](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-create-win-sysprep.html)。

1. 儲存含有已安裝 SQL Server 版本、其他軟體和自訂項目的 AMI。這將是你的黃金映像。

1. 透過提供您所建立映像的 AMI ID 來建立新的 CEV。如需詳細步驟，請參閱[建立 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver.create.md)。

1. 使用 CEV 建立新的 RDS Custom for SQL Server 資料庫執行個體。如需詳細步驟，請參閱[從 CEV 建立 RDS Custom for SQL Server 資料庫執行個體](custom-cev-sqlserver.create.md#custom-cev-sqlserver.create.newdbinstance)。

### 使用預先安裝型 SQL Server (LI) 準備 CEV
<a name="custom-cev-sqlserver.preparing.licenseincluded"></a>

下列步驟使用預先安裝了 Microsoft SQL Server（LI）的 AMI 建立 CEV，並以使用 **SQL Server CU20** (版本號碼 `2023.05.10`) 的 AMI 作為範例。建立 CEV 時，請選擇具有最新版本號碼的 AMI。如此可確保您使用受支援的 Windows Server 和 SQL Server 版本，以及最新的累積更新 (CU)。

**使用預先安裝型 Microsoft SQL Server (LI) 建立 CEV 的方法如下**

1. 選擇最新的可用 AWS EC2 Windows Amazon Machine Image (AMI)，其中包含授權 (LI) Microsoft Windows Server 和 SQL Server。

   1. 在 [Windows AMI 版本歷史記錄](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-windows-ami-version-history.html)內搜尋 **CU20**。

   1. 請記下版本編號。對於 SQL Server 2019 CU20，版本編號為 `2023.05.10`。  
![\[SQL Server 2019 CU20 的 AMI 版本歷史記錄結果。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/rds_custom_sqlserver_cev_find_ami_history_li_cu20.png)

   1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

   1. 在 Amazon EC2 主控台的左導覽窗格中，選擇 **Images** (映像)，然後選擇 **AMIs**。

   1. 選擇**公有映像**。

   1. 將 `2023.05.10` 輸入搜尋方塊中。會出現 AMI 清單。

   1. 將 `Windows_Server-2019-English-Full-SQL_2019` 輸入搜尋方塊中以篩選結果。下列結果應該出現。  
![\[使用 SQL Server 2019 CU20 的受支援 AMI。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/rds_custom_sqlserver_cev_find_ami_li_cu.png)

   1. 選擇具有您要使用之 SQL Server 版本的 AMI。

1. 從您選擇的 AMI 建立或啟動 EC2 執行個體。

1. 登入 EC2 執行個體並安裝其他軟體，或自訂作業系統和資料庫組態以符合您的需求。

1. 在 EC2 執行個體上執行 Sysprep。如需使用 Sysprep 準備 AMI 的詳細資訊，請參閱[使用 Sysprep 建立標準化 Amazon Machine Image (AMI)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#sysprep-using-ec2launchv2)。

1. 儲存含有已安裝 SQL Server 版本、其他軟體和自訂項目的 AMI。這將是你的黃金映像。

1. 透過提供您所建立映像的 AMI ID 來建立新的 CEV。如需建立 CEV 的詳細步驟，請參閱 [建立 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver.create.md)。

1. 使用 CEV 建立新的 RDS Custom for SQL Server 資料庫執行個體。如需詳細步驟，請參閱[從 CEV 建立 RDS Custom for SQL Server 資料庫執行個體](custom-cev-sqlserver.create.md#custom-cev-sqlserver.create.newdbinstance)。

## RDS Custom for SQL Server CEV 的區域可用性
<a name="custom-cev-sqlserver.preparing.RegionVersionAvailability"></a>

下列提供 RDS Custom for SQL Server 的自訂引擎版本 (CEV) 支援 AWS 區域：
+ 美國東部 (俄亥俄)
+ 美國東部 (維吉尼亞北部)
+ 美國西部 (奧勒岡)
+ 美國西部 (加利佛尼亞北部)
+ 亞太地區 (孟買)
+ 亞太區域 (大阪)
+ 亞太區域 (首爾)
+ 亞太區域 (新加坡)
+ 亞太地區 (雪梨)
+ 亞太區域 (東京)
+ 加拿大 (中部)
+ 歐洲 (法蘭克福)
+ 歐洲 (愛爾蘭)
+ 歐洲 (倫敦)
+ 歐洲 (巴黎)
+ 歐洲 (斯德哥爾摩)
+ 南美洲 (聖保羅)

## RDS Custom for SQL Server CEV 的版本支援
<a name="custom-cev-sqlserver.preparing.VersionSupport"></a>

下列 AWS EC2 Windows AMIs 支援建立 RDS Custom for SQL Server 的 CEV：
+ 對於使用預先安裝媒體CEVs， AWS EC2 Windows AMIs 包含授權 (LI) Microsoft Windows Server 2019 (OS) 和 SQL Server 2022 或 2019
+ 對於使用自帶媒體 (BYOM) 的 CEVs， AWS EC2 Windows AMIs搭配 Microsoft Windows Server 2019 (OS)

下列作業系統和資料庫版本支援 RDS Custom for SQL Server 的 CEV 建立程序：
+ 對於使用預先安裝媒體的 CEV：
  + SQL Server 2022 Enterprise、Standard 或 Web，搭配 CU9, CU13, CU14-GDR, CU15-GDR, CU16, CU17, CU18, CU19, CU19-GDR, CU20-GDR, CU21-GDR, CU22和 CU22-GDR。
  + SQL Server 2019 Enterprise、Standard 或 Web，搭配 CU8、CU17、CU18、CU20、CU24、CU26、CU28-GDR、CU29-GDR、CU30、CU32 和 CU32-GDR。
+ 對於使用自有媒體 (BYOM) 的 CEV：
  + SQL Server 2022 Enterprise、Standard 或 Developer，搭配 CU9, CU13, CU14-GDR, CU15-GDR, CU16, CU17, CU18, CU19, CU19-GDR, CU20-GDR, CU21-GDR, CU22和 CU22-GDR。
  + SQL Server 2019 Enterprise、Standard 或 Developer，搭配 CU8, CU17, CU18, CU20, CU24, CU26, CU28-GDR, CU29-GDR, CU30, CU32和 CU32-GDR。
+ 對於使用預先安裝媒體或自有媒體 (BYOM) 的 CEV，Windows Server 2019 是唯一支援的作業系統

如需詳細資訊，請參閱 [AWS Windows AMI 版本歷史記錄](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/ec2-windows-ami-version-history.html)。

## RDS Custom for SQL Server CEV 的要求
<a name="custom-cev-sqlserver.preparing.Requirements"></a>

下列需求適用於建立 RDS for RDS Custom for SQL 的 CEV：
+ 用來建立 CEV 的 AMI 必須以 RDS Custom for SQL Server 所支援的作業系統和資料庫組態為基礎。如需所支援組態的詳細資訊，請參閱 [Amazon RDS Custom for SQL Server 的需求和限制](custom-reqs-limits-MS.md)。
+ CEV 必須具有唯一名稱。您無法建立與現有 CEV 同名的 CEV。
+ 您必須使用 SQL Server *主要版本 \$1 次要版本 \$1 自訂字串*的命名模式來命名 CEV。*主要版本 \$1 次要版本*必須符合 AMI 隨附的 SQL Server 版本。例如，您可以將具有 SQL Server 2019 CU17 的 AMI 命名為 **15.00.4249.2.my\$1cevtest**。
+ 您必須使用 Sysprep 準備 AMI。如需使用 Sysprep 準備 AMI 的詳細資訊，請參閱[使用 Sysprep 建立標準化 Amazon Machine Image (AMI)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-create-win-sysprep.html)。
+ 您負責維護 AMI 的生命週期。從 CEV 建立的 RDS Custom for SQL Server 資料庫執行個體不會存放 AMI 的複本。它會維護一個指標，指向您用來建立 CEV 的 AMI。AMI 必須存在，RDS Custom for SQL Server 資料庫執行個體才能保持可操作狀態。

## RDS Custom for SQL Server CEV 的限制
<a name="custom-cev-sqlserver.preparing.Limitations"></a>

下列限制適用於具有 RDS Custom for SQL Server 的自訂引擎版本：
+ 若有資源 (例如資料庫執行個體或資料庫快照) 與 CEV 相關聯，則無法刪除該 CEV。
+ 若要建立 RDS Custom for SQL Server 資料庫執行個體，CEV 必須具有 `pending-validation`、`available`、`failed` 或 `validating` 的狀態。如果 CEV 狀態為 `incompatible-image-configuration`，則無法使用 CEV 建立 RDS Custom for SQL Server 資料庫執行個體。
+ 若要修改 RDS Custom for SQL Server 資料庫執行個體，以使用新的 CEV，CEV 必須具有 `available` 的狀態。
+ 無法從現有 RDS Custom for SQL Server 資料庫執行個體建立 AMI 或 CEV。
+ 您無法修改現有 CEV 以使用不同的 AMI。不過，您可以修改 RDS Custom for SQL Server 資料庫執行個體，以使用不同的 CEV。如需詳細資訊，請參閱[修改 RDS Custom for SQL Server 資料庫執行個體](custom-managing.modify-sqlserver.md)。
+ 不支援使用與資料庫執行個體建立期間提供的 KMS 金鑰不同的客戶受管 KMS 金鑰來加密 AMI 或 CEV。
+ 不支援 CEV 的跨區域複本。
+ 不支援 CEV 的跨帳戶複本。
+ CEV 刪除後就無法還原或復原。不過，您可以從相同 AMI 建立新的 CEV。
+ RDS Custom for SQL Server 資料庫執行個體會將您的 SQL Server 資料庫檔案存放在 *D:\$1* 磁碟機中。與 CEV 相關聯的 AMI 應該將 Microsoft SQL Server 系統資料庫檔案儲存放在 *C:\$1* 磁碟機中。
+ RDS Custom for SQL Server 資料庫執行個體會保留您對 SQL Server 所做的組態變更。不會保留對執行中 RDS Custom for SQL Server 資料庫執行個體 (從 CEV 建立) 上作業系統所做的任何組態變更。如果您需要對作業系統進行永久組態變更，並將其保留為新的基準組態，請建立新 CEV 並修改資料庫執行個體以使用新的 CEV。
**重要**  
修改 RDS Custom for SQL Server 資料庫執行個體以使用新的 CEV，這是離線操作。您可以立即執行修改，或排程在每週維護時段期間進行修改。
+ 修改 CEV 後，Amazon RDS 不會將這些修改推送到任何相關聯的 RDS Custom for SQL Server 資料庫執行個體。您必須修改每個 RDS Custom for SQL Server 資料庫執行個體，才能使用新的或更新的 CEV。如需詳細資訊，請參閱[修改 RDS Custom for SQL Server 資料庫執行個體](custom-managing.modify-sqlserver.md)。
+ 
**重要**  
如果刪除 CEV 使用的 AMI，則可能需要進行主機取代的任何修改 (例如擴展運算) 都將失敗。然後，RDS Custom for SQL Server 資料庫執行個體會放置在 RDS 支援周邊之外。我們建議您避免刪除與 CEV 相關聯的任何 AMI。

# 建立 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver.create"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 建立自訂引擎版本 (CEV)。然後，您可以使用 CEV 建立 RDS Custom for SQL Server 資料庫執行個體。

請確定 Amazon Machine Image (AMI) 位於與 CEV 相同的 AWS 帳戶和區域中。否則，建立 CEV 的程序會失敗。

如需更多詳細資訊，請參閱 [建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體](custom-creating-sqlserver.md)。

**重要**  
對於使用預先安裝型 SQL Server 建立的 AMI 與使用自有媒體 (BYOM) 建立的 AMI，兩者建立 CEV 的步驟皆為相同。

## 主控台
<a name="custom-cev-sqlserver.create.console"></a>

**若要建立 CEV**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Custom engine versions** (自訂引擎版本)。

   **Custom engine versions** (自訂引擎版本) 頁面會顯示目前存在的所有 CEV。如果您尚未建立任何 CEV，則資料表為空白。

1. 選擇 **Create custom engine version** (建立自訂引擎版本)。

1. 針對 **Engine type** (引擎類型) 中，選擇 **Microsoft SQL Server**。

1. 針對**版本**，選擇您想要使用的資料庫引擎版本。

1. 針對 **Major version** (主要版本)，選擇您 AMI 上安裝的主要引擎版本。

1. 在 **Version details** (版本詳細資訊) 的 **Custom engine version name** (自訂引擎版本名稱) 中輸入有效名稱。

   名稱格式為 `major-engine-version.minor-engine-version.customized_string`。您可以使用 1–50 個英數字元、字元、底線、破折號和句點。例如，您輸入名稱 **15.00.4249.2.my\$1cevtest**。

   選擇性輸入 CEV 的描述。

1. 針對 **Installation Media** (安裝媒體)，瀏覽或輸入您要從中建立 CEV 的 AMI ID。

1. 在 **Tags** (標籤) 區段中，新增任何標籤以識別 CEV。

1. 選擇 **Create custom engine version** (建立自訂引擎版本)。

**Custom engine versions** (自訂引擎版本) 頁面隨即出現。即會顯示您的 CEV，狀態為 **pending-validation**

## AWS CLI
<a name="custom-cev-sqlserver.create.CEV"></a>

若要使用 AWS CLI 建立 CEV，請執行 [create-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/create-custom-db-engine-version.html) 命令。

下列選項是必要的：
+ `--engine`
+ `--engine-version`
+ `--image-id`

您還可以指定下列選項：
+ `--description`
+ `--region`
+ `--tags`

以下範例會建立名為 `15.00.4249.2.my_cevtest` 的 CEV。請確保 CEV 的名稱以主要引擎版本號碼為開頭。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds create-custom-db-engine-version \
2.     --engine custom-sqlserver-ee \
3.     --engine-version 15.00.4249.2.my_cevtest \
4.     --image-id ami-0r93cx31t5r596482 \                    
5.     --description "Custom SQL Server EE 15.00.4249.2 cev test"
```
下列部分輸出顯示引擎、參數群組及其他資訊。  

```
 1. "DBEngineVersions": [
 2.     {
 3.     "Engine": "custom-sqlserver-ee",
 4.     "MajorEngineVersion": "15.00",
 5.     "EngineVersion": "15.00.4249.2.my_cevtest",
 6.     "DBEngineDescription": "Microsoft SQL Server Enterprise Edition for RDS Custom for SQL Server",
 7.     "DBEngineVersionArn": "arn:aws:rds:us-east-1:<my-account-id>:cev:custom-sqlserver-ee/15.00.4249.2.my_cevtest/a1234a1-123c-12rd-bre1-1234567890",
 8.     "DBEngineVersionDescription": "Custom SQL Server EE 15.00.4249.2 cev test",
 9.                                                       
10.     "Image": [
11.         "ImageId": "ami-0r93cx31t5r596482",
12.         "Status": "pending-validation"
13.      ],
14.     "CreateTime": "2022-11-20T19:30:01.831000+00:00",
15.     "SupportsLogExportsToCloudwatchLogs": false,
16.     "SupportsReadReplica": false,
17.     "Status": "pending-validation",
18.     "SupportsParallelQuery": false,
19.     "SupportsGlobalDatabases": false,
20.     "TagList": []
21.     }
22. ]
```

如果建立 CEV 的程序失敗，RDS Custom for SQL Server 會發出 `RDS-EVENT-0198`，訊息為 `Creation failed for custom engine version major-engine-version.cev_name`。該訊息包含有關故障的詳細資訊，例如事件列印遺失的檔案。若要尋找 CEV 建立問題的疑難排解想法，請參閱 [針對 RDS Custom for SQL Server 的 CEV 錯誤進行疑難排解](custom-troubleshooting-sqlserver.md#custom-troubleshooting-sqlserver.cev)。

## 從 CEV 建立 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-cev-sqlserver.create.newdbinstance"></a>

成功建立 CEV 後，**CEV status** (CEV 狀態) 會顯示 `pending-validation`。您現在可以使用 CEV 建立新的 RDS Custom for SQL Server 資料庫執行個體。若要從 CEV 建立新的 RDS Custom for SQL Server 資料庫執行個體，請參閱 [建立 RDS Custom for SQL Server 資料庫執行個體](custom-creating-sqlserver.md#custom-creating-sqlserver.create)。

## CEV 的生命週期
<a name="custom-cev-sqlserver.create.lifecycle"></a>

CEV 生命週期包含下列狀態。


****  

| CEV 狀態 | 描述 | 故障診斷建議 | 
| --- | --- | --- | 
| `pending-validation` | 已建立 CEV，且其正在等待相關聯 AMI 的驗證。CEV 會保留在 `pending-validation` 中，直到從中建立了 RDS Custom for SQL Server 資料庫執行個體為止。 | 如果沒有現有的任務，請從 CEV 建立新的 RDS Custom for SQL Server 資料庫執行個體。建立 RDS Custom for SQL Server 資料庫執行個體時，系統會嘗試驗證 CEV 的相關聯 AMI。  | 
| `validating` | 基於新 CEV 的 RDS Custom for SQL Server 資料庫執行個體的建立任務正在進行中。建立 RDS Custom for SQL Server 資料庫執行個體時，系統會嘗試驗證 CEV 的相關聯 AMI。 | 等待現有 RDS Custom for SQL Server 資料庫執行個體的建立任務完成。您可以使用 RDS EVENTS 主控台，檢閱詳細的事件訊息以進行疑難排解。  | 
| `available` | 已成功驗證 CEV。一旦成功從 CEV 建立了 RDS Custom for SQL Server 資料庫執行個體，該 CEV 就會進入 `available` 狀態。 | CEV 不需要任何額外的驗證。它可以用來建立其他 RDS Custom for SQL Server 資料庫執行個體，或修改現有的執行個體。 | 
| `inactive` | CEV 已修改為非作用中狀態。 | 您無法使用此 CEV 建立或升級 RDS Custom 資料庫執行個體。您也無法還原資料庫快照，以使用此 CEV 建立新的 RDS Custom 資料庫執行個體。若要取得如何將狀態變更為 `ACTIVE` 的資訊，請參閱 [修改 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver-modifying.md)。 | 
| `failed` | 在此 CEV 可以驗證 AMI 之前，無法對其進行建立資料庫執行個體步驟。或者，CEV 使用的基礎 AMI 未處於可用狀態。 | 針對根本原因進行疑難排解，找出系統為何無法建立資料庫執行個體。檢視詳細的錯誤訊息，然後嘗試再次建立新的資料庫執行個體。確保 CEV 使用的基礎 AMI 處於可用狀態。 | 
| `incompatible-image-configuration` | 驗證 AMI 時發生錯誤。 | 檢視錯誤的技術詳細資訊。您無法再次嘗試使用此 CEV 驗證 AMI。請檢閱下列建議： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.create.html) 使用正確的資訊建立新的 CEV。 如有需要，請使用支援的 AMI 建立新的 EC2 執行個體，並在其上執行 Sysprep 程序。  | 

# 修改 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver-modifying"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 修改 CEV。您可以修改 CEV 描述或其可用狀態。您的 CEV 有下列其中一個狀態值：
+ `available` – 您可以使用此 CEV 建立新的 RDS Custom 資料庫執行個體或升級資料庫執行個體。這是新建立的 CEV 的預設狀態。
+ `inactive` – 您無法使用此 CEV 建立或升級 RDS Custom 資料庫執行個體。您無法還原資料庫快照以使用此 CEV 建立新的 RDS Custom 資料庫執行個體。

您可以將 CEV 狀態從 `available` 變更為 `inactive` 或從 `inactive` 變更為 `available`。您可以將狀態變更為 `INACTIVE`，以防止意外使用 CEV，或讓已中止的 CEV 符合再次使用的資格。

## 主控台
<a name="custom-cev-sqlserver-modifying.console"></a>

**若要修改 CEV**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Custom engine versions** (自訂引擎版本)。

1. 選擇您想要修改其描述或狀態的 CEV。

1. 在 **Actions** (動作) 中，選擇 **Modify** (修改)。

1. 進行下列任何變更：
   + 針對 **CEV status settings (CEV 狀態設定)**，選擇新的可用性狀態。
   + 針對 **Version description (版本描述)**，輸入新的描述。

1. 選擇 **Modify CEV (修改 CEV)**。

   如果 CEV 正在使用中，主控台會顯示**您無法修改 CEV 狀態**。修正問題，然後再試一次。

**Custom engine versions** (自訂引擎版本) 頁面隨即出現。

## AWS CLI
<a name="custom-cev-sqlserver-modifying.cli"></a>

若要使用 AWS CLI 修改 CEV，請執行 [modify-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-custom-db-engine-version.html) 命令。您可以藉由執行 [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) 命令來尋找要修改的 CEV。

下列選項是必要的：
+ `--engine`
+ `--engine-version cev`，其中 *`cev`* 是您要修改的自訂引擎版本的名稱。
+ `--status`` status`，其中 *`status`* 是您要指派給 CEV 的可用性狀態。

下列範例會將名為 `15.00.4249.2.my_cevtest` 的 CEV 從目前的狀態變更為 `inactive`。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds modify-custom-db-engine-version \
2.     --engine custom-sqlserver-ee \ 
3.     --engine-version 15.00.4249.2.my_cevtest \
4.     --status inactive
```
在 Windows 中：  

```
1. aws rds modify-custom-db-engine-version ^
2.     --engine custom-sqlserver-ee ^
3.     --engine-version 15.00.4249.2.my_cevtest ^
4.     --status inactive
```

若要修改 RDS Custom for SQL Server 資料庫執行個體以使用新的 CEV，請參閱 [修改 RDS Custom for SQL Server 資料庫執行個體以使用新的 CEV](custom-cev-sqlserver-modifying-dbinstance.md)。

# 修改 RDS Custom for SQL Server 資料庫執行個體以使用新的 CEV
<a name="custom-cev-sqlserver-modifying-dbinstance"></a>

您可以修改現有的 RDS Custom for SQL Server 資料庫執行個體，以使用不同的 CEV。您可以進行的變更包括：
+ 變更 CEV
+ 變更資料庫執行個體類別
+ 變更備份保留期和備份時段
+ 變更維護時段

## 主控台
<a name="custom-cev-sqlserver-modifying-dbinstance.CON"></a>

**若要修改 RDS Custom for SQL Server 資料庫執行個體**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇想要修改的資料庫執行個體。

1. 選擇 **Modify (修改)**。

1. 視需要進行下列變更：

   1. 對於 **DB engine version** (資料庫引擎版本)，選擇不同的 CEV。

   1. 變更 **DB instance class (資料庫執行個體類別)** 的值。如需支援的類別，請參閱 [RDS Custom for SQL Server 的資料庫執行個體類別支援](custom-reqs-limits.instancesMS.md)。

   1. 變更 **Backup retention period (備份保留期)** 的值。

   1. 針對 **Backup window (備份時段)**，設定 **Start time (開始時間)** 和 **Duration (持續時間)** 的值。

   1. 針對 **DB instance maintenance window (資料庫執行個體維護時段)**，設定 **Start day (開始日期)**、**Start time (開始時間)** 和 **Duration (持續時間)** 的值。

1. 選擇 **Continue (繼續)**。

1. 選擇 **Apply immediately (立即套用)** 或 **Apply during the next scheduled maintenance window (在下次排定的維護時段套用)**。

1. 選擇 **Modify DB instance (修改資料庫執行個體)**。
**注意**  
將資料庫執行個體從一個 CEV 修改為另一個 CEV (例如，升級次要版本時) 時，SQL Server 系統資料庫 (包括其資料和組態) 會從目前的 RDS Custom for SQL Server 資料庫執行個體保存下來。

## AWS CLI
<a name="custom-cev-sqlserver-modifying-dbinstance.CLI"></a>

若要使用 AWS CLI 修改資料庫執行個體，以使用不同的 CEV，請執行 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-custom-db-engine-version.html) 命令。

下列選項是必要的：
+ `--db-instance-identifier`
+ `--engine-version cev`，其中 *`cev`* 是自訂引擎版本的名稱，您想要資料庫執行個體變更為該版本。

下列範例會修改名為 `my-cev-db-instance` 的資料庫執行個體，以使用名為 `15.00.4249.2.my_cevtest_new` 的 CEV，並立即套用變更。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier my-cev-db-instance \ 
3.     --engine-version 15.00.4249.2.my_cevtest_new \
4.     --apply-immediately
```
在 Windows 中：  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier my-cev-db-instance ^
3.     --engine-version 15.00.4249.2.my_cevtest_new ^
4.     --apply-immediately
```

# 檢視 Amazon RDS Custom for SQL Server 的 CEV 詳細資訊
<a name="custom-viewing-sqlserver"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 來檢視 CEV 的詳細資訊。

## 主控台
<a name="custom-viewing-sqlserver.console"></a>

**檢視 CEV 詳細資訊**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Custom engine versions** (自訂引擎版本)。

   **Custom engine versions** (自訂引擎版本) 頁面會顯示目前存在的所有 CEV。如果您尚未建立任何 CEV，則頁面為空白。

1. 選擇要檢視的 CEV 名稱。

1. 選擇 **Configuration** (組態) 來檢視詳細資訊。  
![\[檢視 CEV 的組態詳細資訊。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/rds_custom_sqlserver_cev_viewdetails.PNG)

## AWS CLI
<a name="custom-viewing-sqlserver.CEV"></a>

若要使用 AWS CLI 檢視 CEV 的詳細資訊，請執行 [describe-db-engine-versions](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) 命令。

您還可以指定下列選項：
+ `--include-all`，檢視具有任何生命週期狀態的所有 CEV。若沒有 `--include-all` 選項，只會傳回處於 `available` 生命週期狀態的 CEV。

```
aws rds describe-db-engine-versions --engine custom-sqlserver-ee --engine-version 15.00.4249.2.my_cevtest --include-all
{
    "DBEngineVersions": [
        {
            "Engine": "custom-sqlserver-ee",
            "MajorEngineVersion": "15.00",
            "EngineVersion": "15.00.4249.2.my_cevtest",
            "DBParameterGroupFamily": "custom-sqlserver-ee-15.0",
            "DBEngineDescription": "Microsoft SQL Server Enterprise Edition for custom RDS",
            "DBEngineVersionArn": "arn:aws:rds:us-east-1:{my-account-id}:cev:custom-sqlserver-ee/15.00.4249.2.my_cevtest/a1234a1-123c-12rd-bre1-1234567890",
            "DBEngineVersionDescription": "Custom SQL Server EE 15.00.4249.2 cev test",
            "Image": {
                "ImageId": "ami-0r93cx31t5r596482",
                "Status": "pending-validation"
            },
            "DBEngineMediaType": "AWS Provided",
            "CreateTime": "2022-11-20T19:30:01.831000+00:00",
            "ValidUpgradeTarget": [],
            "SupportsLogExportsToCloudwatchLogs": false,
            "SupportsReadReplica": false,
            "SupportedFeatureNames": [],
            "Status": "pending-validation",
            "SupportsParallelQuery": false,
            "SupportsGlobalDatabases": false,
            "TagList": [],
            "SupportsBabelfish": false
        }
    ]
}
```

您可以使用篩選條件，檢視具有特定生命週期狀態的 CEV。例如，若要檢視生命週期狀態為 `pending-validation`、`available` 或 `failed` 的 CEV：

```
aws rds describe-db-engine-versions engine custom-sqlserver-ee
                region us-west-2 include-all query 'DBEngineVersions[?Status == pending-validation || 
                Status == available || Status == failed]'
```

# 刪除 RDS Custom for SQL Server 的 CEV
<a name="custom-cev-sqlserver-deleting"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 刪除 CEV。通常，此任務需要幾分鐘的時間。

刪除 CEV 前，請確定下列任何一項未使用該 CEV：
+ RDS Custom 資料庫執行個體
+ RDS Custom 資料庫執行個體的快照
+ RDS Custom 資料庫執行個體的自動備份

## 主控台
<a name="custom-cev-sqlserver-deleting.console"></a>

**若要刪除 CEV**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Custom engine versions** (自訂引擎版本)。

1. 選擇您想要刪除其描述或狀態的 CEV。

1. 對於 **Actions** (動作)，請選擇 **Delete** (刪除)。

   **Delete *cev\$1name*? (是否刪除 cev\$1name？)** 對話方塊隨即顯示。

1. 輸入 **delete me**，然後選擇 **Delete (刪除)**。

   在 **Custom engine versions** (自訂引擎版本) 頁面上，橫幅會顯示您的 CEV 即將刪除。

## AWS CLI
<a name="custom-cev-sqlserver-deleting.console.cli"></a>

若要使用 AWS CLI 刪除 CEV，請執行 [delete-custom-db-engine-version](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-custom-db-engine-version.html) 命令。

下列選項是必要的：
+ `--engine custom-sqlserver-ee`
+ `--engine-version cev`，其中 *CEV* 是要刪除之自訂引擎版本的名稱

以下範例會刪除名為 `15.00.4249.2.my_cevtest` 的 CEV。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds delete-custom-db-engine-version \
2.     --engine custom-sqlserver-ee \
3.     --engine-version 15.00.4249.2.my_cevtest
```
在 Windows 中：  

```
1. aws rds delete-custom-db-engine-version ^
2.     --engine custom-sqlserver-ee ^
3.     --engine-version 15.00.4249.2.my_cevtest
```

# 建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體
<a name="custom-creating-sqlserver"></a>

您可以建立 RDS Custom 資料庫執行個體，然後使用 AWS Systems Manager 或遠端桌面通訊協定 (RDP) 連線到該執行個體。

**重要**  
您必須完成 [設定您的 Amazon RDS Custom for SQL Server 的環境](custom-setup-sqlserver.md) 中的任務，才能建立或連線至 RDS Custom for SQL Server 資料庫執行個體。  
當您建立 RDS Custom 資料庫執行個體時可以為它加上標籤，但是請勿建立或修改 RDS Custom 自動化所需的 `AWSRDSCustom` 標籤。如需詳細資訊，請參閱[標記 RDS Custom for SQL Server 資源](custom-managing-sqlserver.tagging.md)。  
第一次建立 RDS Custom for SQL Server 資料庫執行個體時，您可能會收到下列錯誤：服務連結角色正在建立的程序中。請稍後再試。如果收到這個訊息，請等待幾分鐘的時間然後再次嘗試建立資料庫執行個體。

**Topics**
+ [建立 RDS Custom for SQL Server 資料庫執行個體](#custom-creating-sqlserver.create)
+ [RDS Custom 服務連結角色](custom-creating-sqlserver.slr.md)
+ [使用 AWS Systems Manager 連線到您的 RDS Custom 資料庫執行個體](custom-creating-sqlserver.ssm.md)
+ [使用 RDS 連線到您的 RDS Custom 資料庫執行個體](custom-creating-sqlserver.rdp.md)

## 建立 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-creating-sqlserver.create"></a>

使用 AWS 管理主控台 或 建立 Amazon RDS Custom for SQL Server 資料庫執行個體 AWS CLI。該程序與建立 Amazon RDS 資料庫執行個體的程序類型。

如需詳細資訊，請參閱[建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)。

### 主控台
<a name="custom-creating-sqlserver.CON"></a>

**若要建立 RDS Custom for SQL Server 資料庫執行個體**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇 **Create database** (建立資料庫)。

1. 選擇 **Standard Create** (標準建立) 做為資料庫建立方法。

1. 針對 **Engine options (引擎選項)**，選擇 **Microsoft SQL Server** 做為引擎類型。

1. 針對 **Database management type (引擎管理類型)**，選擇 **Amazon RDS Custom**。

1. 在 **Edition** (版本) 區段中，選擇您想要使用的資料庫引擎版本。

1. (選用) 如果您想要從 CEV 建立資料庫執行個體，請核取 **Use custom engine version (CEV)** (使用自訂引擎版本 (CEV)) 核取方塊。在下拉式清單中選取您的 CEV。

1. 針對**資料庫版本**，保留 SQL Server 2019 預設值。

1. 在 **Templates** (範本) 中，選擇 **Production** (生產)。

1. 在 **Settings** (設定) 區段中，為 **DB instance identifier** (資料庫執行個體識別符) 輸入唯一的名稱。

1. 若要輸入您的主要密碼，請執行以下動作：

   1. 在 **Settings (設定)** 區段，開啟 **Credential Settings (登入資料設定)**。

   1. 清除 **Auto generate a password (自動產生密碼)** 核取方塊。

   1. 變更 **Master username (主要使用者名稱)** 值並在 **Master password (主要密碼)** 和 **Confirm password (確認密碼)** 中輸入相同的密碼。

   根據預設，新 RDS Custom 資料庫執行個體會將自動產生的密碼用於主要使用者。

1. 在 **DB instance size** (資料庫執行個體大小) 區段中，為 **DB instance class** (資料庫執行個體類別) 選擇值。

   如需支援的類別，請參閱 [RDS Custom for SQL Server 的資料庫執行個體類別支援](custom-reqs-limits.instancesMS.md)。

1. 選擇 **Storage (儲存)** 設定。

1. 針對 **RDS Custom security (RDS Custom 安全)**，請執行下列操作：

   1. 針對 **IAM 執行個體設定檔**，您有兩個選項可為您的 RDS Custom for SQL Server 資料庫執行個體選擇執行個體設定檔。

      1. 選擇**建立新的執行個體描述檔**，並提供執行個體描述檔名稱尾碼。如需詳細資訊，請參閱[使用 自動建立執行個體描述檔 AWS 管理主控台](custom-setup-sqlserver.md#custom-setup-sqlserver.instanceProfileCreation)。

      1. 選擇現有的執行個體設定檔。從下拉式清單中，選擇開頭為 `AWSRDSCustom` 的執行個體設定檔。

   1. 針對 **Encryption (加密)**，選擇 **Enter a key ARN (輸入金鑰 ARN)** 以列出可用的 AWS KMS 金鑰。然後從清單選擇您的金鑰。

      RDS Custom 需要 AWS KMS 金鑰。如需詳細資訊，請參閱[請確定您擁有對稱加密 AWS KMS 金鑰](custom-setup-sqlserver.md#custom-setup-sqlserver.cmk)。

1. 在其餘區段，指定您偏好的 RDS Custom 資料庫執行個體的設定。如需每項設定的相關資訊，請參閱 [資料庫執行個體的設定](USER_CreateDBInstance.Settings.md)。以下設定不會出現在主控台中，也不受支援：
   + **處理器功能**
   + **儲存體自動調整規模**
   + **Availability & durability (可用性與持久性)**
   + **Database authentication (資料庫身分驗證)** 中的 **Password and Kerberos authentication (密碼和 Kerberos 身分驗證)** 選項 (僅支援 **Password authentication (密碼身分驗證)**)
   + **Additional configuration (其他組態)** 中的 **Database options (資料庫選項)**
   + **Performance Insights** (績效詳情)
   + **Log exports (日誌匯出)**
   + **Enable auto minor version upgrade (啟用自動次要版本升級)**
   + **刪除保護**

   支援 **Backup retention period (備份保留期)**，但是您無法選擇 **0 days (0 天)**。

1. 選擇 **Create database** (建立資料庫)。

   **View credential details** (檢視憑證詳細資訊) 按鈕會顯示在 **Databases** (資料庫) 頁面上。

   若要檢視 RDS Custom 資料庫執行個體的主要使用者名稱和密碼，請選擇 **View credential details** (檢視憑證詳細資訊)。

   若要以主要使用者的身分連線至資料庫執行個體，請使用出現的使用者名稱和密碼。
**重要**  
您無法再次檢視主要使用者密碼。如果您沒有記錄下來，您可能需要進行變更。若要在 RDS Custom 資料庫執行個體可供使用後變更主要使用者密碼，請修改資料庫執行個體。如需修改 資料庫執行個體的詳細資訊，請參閱[管理 Amazon RDS Custom for SQL Server 資料庫執行個體](custom-managing-sqlserver.md)。

1. 選擇 **Databases** (資料庫) 以檢視 RDS Custom 資料庫執行個體的清單。

1. 選擇您剛剛建立的 RDS Custom 資料庫執行個體。

   在 RDS 主控台上，新 RDS Custom 資料庫執行個體的詳細資訊即會出現：
   + 在 RDS Custom 資料庫執行個體建立完成且可供使用之前，資料庫執行個體會處於 **Creating (建立中)** 狀態。狀態變更為 **Available (可用)** 時，您便能連線至資料庫執行個體。視執行個體類別和分配的儲存空間而定，新的資料庫執行個體可能需要幾分鐘才能使用。
   + **Role (角色)** 具有 **Instance (RDS Custom) (執行個體 (RDS Custom))** 值。
   + **RDS Custom automation mode** (RDS Custom 自動化模式) 具有 **Full automation** (全自動化) 值。此設定表示資料庫執行個體提供自動監控和執行個體復原。

### AWS CLI
<a name="custom-creating-sqlserver.CLI"></a>

您可以使用 [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) AWS CLI 命令建立 RDS Custom 資料庫執行個體。

下列選項是必要的：
+ `--db-instance-identifier`
+ `--db-instance-class` (如需支援執行個體類別的清單，請參閱 [RDS Custom for SQL Server 的資料庫執行個體類別支援](custom-reqs-limits.instancesMS.md))
+ `--engine` (`custom-sqlserver-ee`、`custom-sqlserver-se` 或 `custom-sqlserver-web`)
+ `--kms-key-id`
+ `--custom-iam-instance-profile`

下列範例會建立名稱為 `my-custom-instance` 的 RDS Custom for SQL Server 資料庫執行個體。備份保留期為 3 天。

**注意**  
若要從自訂引擎版本 (CEV) 建立資料庫執行個體，請將現有的 CEV 名稱提供給 `--engine-version` 參數。例如 `--engine-version 15.00.4249.2.my_cevtest`

**Example**  
在 Linux、macOS 或 Unix 中：  

```
 1. aws rds create-db-instance \
 2.     --engine custom-sqlserver-ee \
 3.     --engine-version 15.00.4073.23.v1 \
 4.     --db-instance-identifier my-custom-instance \
 5.     --db-instance-class db.m5.xlarge \
 6.     --allocated-storage 20 \
 7.     --db-subnet-group mydbsubnetgroup \
 8.     --master-username myuser \
 9.     --master-user-password mypassword \
10.     --backup-retention-period 3 \
11.     --no-multi-az \
12.     --port 8200 \
13.     --kms-key-id mykmskey \
14.     --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance
```
在 Windows 中：  

```
 1. aws rds create-db-instance ^
 2.     --engine custom-sqlserver-ee ^
 3.     --engine-version 15.00.4073.23.v1 ^
 4.     --db-instance-identifier my-custom-instance ^
 5.     --db-instance-class db.m5.xlarge ^
 6.     --allocated-storage 20 ^
 7.     --db-subnet-group mydbsubnetgroup ^
 8.     --master-username myuser ^
 9.     --master-user-password mypassword ^
10.     --backup-retention-period 3 ^
11.     --no-multi-az ^
12.     --port 8200 ^
13.     --kms-key-id mykmskey ^
14.     --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance
```
指定此處所顯示提示以外的密碼，作為安全最佳實務。

使用 `describe-db-instances` 命令取得執行個體的詳細資訊。

```
1. aws rds describe-db-instances --db-instance-identifier my-custom-instance
```

下列部分輸出顯示引擎、參數群組及其他資訊。

```
 1. {
 2.     "DBInstances": [
 3.         {
 4.             "PendingModifiedValues": {},
 5.             "Engine": "custom-sqlserver-ee",
 6.             "MultiAZ": false,
 7.             "DBSecurityGroups": [],
 8.             "DBParameterGroups": [
 9.                 {
10.                     "DBParameterGroupName": "default.custom-sqlserver-ee-15",
11.                     "ParameterApplyStatus": "in-sync"
12.                 }
13.             ],
14.             "AutomationMode": "full",
15.             "DBInstanceIdentifier": "my-custom-instance",
16.             "TagList": []
17.         }
18.     ]
19. }
```

# RDS Custom 服務連結角色
<a name="custom-creating-sqlserver.slr"></a>

*服務連結角色*會讓 Amazon RDS Custom 能夠存取您 AWS 帳戶 帳戶中的資源。它會讓使用 RDS Custom 更簡單，因為您不需要手動新增必要許可。RDS Custom 會定義其服務連結角色的許可，除非另有定義，否則僅有 RDS Custom 可以擔任其角色。定義的許可包括信任政策和許可政策，並且該許可政策不能連接到任何其他 IAM 實體。

當您建立 RDS Custom 資料庫執行個體時，Amazon RDS 和 RDS Custom 服務連結角色兩者都會建立 (如果尚未存在) 並且使用。如需更多詳細資訊，請參閱 [使用 Amazon RDS 的服務連結角色](UsingWithRDS.IAM.ServiceLinkedRoles.md)。

第一次建立 RDS Custom for SQL Server 資料庫執行個體時，您可能會收到下列錯誤：服務連結角色正在建立的程序中。請稍後再試。如果收到這個訊息，請等待幾分鐘的時間然後再次嘗試建立資料庫執行個體。

# 使用 AWS Systems Manager 連線到您的 RDS Custom 資料庫執行個體
<a name="custom-creating-sqlserver.ssm"></a>

在建立 RDS Custom 資料庫執行個體之後，您可以使用 AWS Systems Manager 工作階段管理員連線到該執行個體。「工作階段管理員」是 Systems Manager 功能，您可以用來透過瀏覽器型殼層或透過 AWS CLI 管理 Amazon EC2 執行個體。如需詳細資訊，請參閱 [AWS Systems Manager 工作階段管理員](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager.html)。

## 主控台
<a name="custom-creating-sqlserver.ssm.CON"></a>

**若要使用工作階段管理員連線至資料庫執行個體**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中選擇 **Databases** (資料庫)，然後選擇您要連線的 RDS Custom 資料庫執行個體。

1. 選擇 **Configuration (組態)**。

1. 請記下資料庫執行個體的 **Resource ID (資源 ID)** 值。例如，資源 ID 可能是 `db-ABCDEFGHIJKLMNOPQRS0123456`。

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 尋找 EC2 執行個體的名稱，然後選擇與其相關聯的執行個體 ID。例如，執行個體 ID 可能是 `i-abcdefghijklm01234`。

1. 選擇**連線**。

1. 選擇 **Session Manager (工作階段管理員)**。

1. 選擇**連線**。

   您的工作階段會開啟一個視窗。

## AWS CLI
<a name="custom-creating-sqlserver.ssm.CLI"></a>

您可以使用 AWS CLI 連線至 RDS Custom 資料庫執行個體。此技術需要 AWS CLI 的工作階段管理員外掛程式。若要了解如何安裝外掛程式，請參閱[安裝 AWS CLI 的工作階段管理員外掛程式](https://docs.aws.amazon.com/systems-manager/latest/userguide/session-manager-working-with-install-plugin.html)。

若要尋找 RDS Custom 資料庫執行個體的資料庫資源 ID，請使用 `[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html)`。

```
aws rds describe-db-instances \
    --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \
    --output text
```

下列範例輸出顯示 RDS Custom 執行個體的資源 ID。字首是 `db-`。

```
db-ABCDEFGHIJKLMNOPQRS0123456
```

若要尋找資料庫執行個體的 EC2 執行個體 ID，請使用 `aws ec2 describe-instances`。以下範例使用 `db-ABCDEFGHIJKLMNOPQRS0123456` 做為資源 ID。

```
aws ec2 describe-instances \
    --filters "Name=tag:Name,Values=db-ABCDEFGHIJKLMNOPQRS0123456" \
    --output text \
    --query 'Reservations[*].Instances[*].InstanceId'
```

以下範例輸出顯示 EC2 執行個體 ID。

```
i-abcdefghijklm01234
```

使用 `aws ssm start-session` 命令，在 `--target` 參數中提供 EC2 執行個體 ID。

```
aws ssm start-session --target "i-abcdefghijklm01234"
```

成功的連線看起來如下。

```
Starting session with SessionId: yourid-abcdefghijklm1234
[ssm-user@ip-123-45-67-89 bin]$
```

# 使用 RDS 連線到您的 RDS Custom 資料庫執行個體
<a name="custom-creating-sqlserver.rdp"></a>

建立 RDS Custom 資料庫執行個體之後，您可以使用 RDP 用戶端連線到此執行個體。此程序與連線 Amazon EC2 執行個體的程序相同。如需詳細資訊，請參閱[連線至您的 Windows 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html)。

若要連線到資料庫執行個體，您需要與執行個體相關聯的金鑰對。RDS Custom 會為您建立金鑰對。配對名稱使用字首 `do-not-delete-rds-custom-DBInstanceIdentifier`。AWS Secrets Manager 會將您的私有金鑰儲存為秘密。

完成下列步驟中的任務：

1. [將您的資料庫執行個體設定為允許 RDP 連線](#custom-creating-sqlserver.rdp.port).

1. [擷取您的私密金鑰](#custom-creating-sqlserver.rdp.key).

1. [使用 RDP 公用程式連線到 EC2 執行個體](#custom-creating-sqlserver.rdp.connect).

## 將您的資料庫執行個體設定為允許 RDP 連線
<a name="custom-creating-sqlserver.rdp.port"></a>

若要允許 RDP 連線，請設定 VPC 安全群組並在主機上設定防火牆規則。

### 設定您的 VPC 安全群組
<a name="custom-creating-sqlserver.rdp.port.vpc"></a>

請確定與資料庫執行個體相關聯的 VPC 安全群組允許傳輸控制通訊協定 (TCP) 的連接埠 3389 上的傳入連線。若要了解如何設定 VPC 安全群組，請參閱 [設定您的 VPC 安全群組](custom-setup-sqlserver.md#custom-setup-sqlserver.vpc.sg)。

### 在主機上設定防火牆規則
<a name="custom-creating-sqlserver.rdp.port.firewall"></a>

若要允許 TCP 的連接埠 3389 上的傳入連線，請在主機上設定防火牆規則。下列範例示範其做法。

建議您使用特定的 `-Profile` 值：`Public`、`Private` 或 `Domain`。使用 `Any` 指的是全部三個值。您也可指定以逗號分隔的值組合。如需設定防火牆規則的詳細資訊，請參閱 Microsoft 文件中的 [Set-NetFirewallRule](https://docs.microsoft.com/en-us/powershell/module/netsecurity/set-netfirewallrule?view=windowsserver2019-ps)。

**使用 Systems Manager 工作階段管理員來設定防火牆規則**

1. 連線至工作階段管理員，如 [使用 AWS Systems Manager 連線到您的 RDS Custom 資料庫執行個體](custom-creating-sqlserver.ssm.md) 中所示。

1. 執行下列命令。

   ```
   Set-NetFirewallRule -DisplayName "Remote Desktop - User Mode (TCP-In)" -Direction Inbound -LocalAddress Any -Profile Any
   ```

**使用 Systems Manager CLI 命令來設定防火牆規則**

1. 使用下列命令在主機上開啟 RDP。

   ```
   OPEN_RDP_COMMAND_ID=$(aws ssm send-command --region $AWS_REGION \
       --instance-ids $RDS_CUSTOM_INSTANCE_EC2_ID \
       --document-name "AWS-RunPowerShellScript" \
       --parameters '{"commands":["Set-NetFirewallRule -DisplayName \"Remote Desktop - User Mode (TCP-In)\" -Direction Inbound -LocalAddress Any -Profile Any"]}' \
       --comment "Open RDP port" | jq -r ".Command.CommandId")
   ```

1. 使用輸出中傳回的命令 ID，以取得前一個命令的狀態。若要使用以下查詢傳回命令 ID，請確定已安裝 jq 外掛程式。

   ```
   aws ssm list-commands \
       --region $AWS_REGION \
       --command-id $OPEN_RDP_COMMAND_ID
   ```

## 擷取您的私密金鑰
<a name="custom-creating-sqlserver.rdp.key"></a>

使用 AWS 管理主控台 或 AWS CLI 擷取您的私密金鑰。

### 主控台
<a name="custom-creating-sqlserver.rdp.key.CON"></a>

**若要擷取秘密金鑰**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中選擇 **Databases** (資料庫)，然後選擇您要連線的 RDS Custom 資料庫執行個體。

1. 選擇 **Configuration** (組態) 索引標籤。

1. 請記下資料庫執行個體的 **DB instance ID (資料庫執行個體 ID)**，例如 `my-custom-instance`。

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇**執行個體**。

1. 尋找 EC2 執行個體的名稱，然後選擇與其相關聯的執行個體 ID。

   在此範例中，執行個體 ID 為 `i-abcdefghijklm01234`。

1. 在 **Details (詳細資訊)** 中尋找 **Key pair name (金鑰對名稱)**。配對名稱包含資料庫識別符。在此範例中，配對名稱是 `do-not-delete-rds-custom-my-custom-instance-0d726c`。

1. 在執行個體摘要中，尋找**公有 IPv4 DNS**。例如，公有 DNS 可能是 `ec2-12-345-678-901.us-east-2.compute.amazonaws.com`。

1. 開啟 AWS Secrets Manager 主控台，網址為 [https://console.aws.amazon.com/secretsmanager/](https://console.aws.amazon.com/secretsmanager/)。

1. 選擇與金鑰對具有相同名稱的密碼。

1. 選擇 **Retrieve secret value (擷取秘密值)**。

### AWS CLI
<a name="custom-creating-sqlserver.rdp.key.CLI"></a>

**若要擷取私有金鑰**

1. 藉由呼叫 `aws rds describe-db-instances` 命令來取得 RDS Custom 資料庫執行個體的清單。

   ```
   aws rds describe-db-instances \
       --query 'DBInstances[*].[DBInstanceIdentifier,DbiResourceId]' \
       --output text
   ```

1. 從範例輸出中選擇資料庫執行個體識別符，例如 `do-not-delete-rds-custom-my-custom-instance`。

1. 藉由呼叫 `aws ec2 describe-instances` 命令來尋找資料庫執行個體的 EC2 執行個體 ID。下列範例使用 EC2 執行個體名稱來描述資料庫執行個體。

   ```
   aws ec2 describe-instances \
       --filters "Name=tag:Name,Values=do-not-delete-rds-custom-my-custom-instance" \
       --output text \
       --query 'Reservations[*].Instances[*].InstanceId'
   ```

   以下範例輸出顯示 EC2 執行個體 ID。

   ```
   i-abcdefghijklm01234
   ```

1. 藉由指定 EC2 執行個體 ID 來尋找金鑰名稱，如以下範例所示。

   ```
   aws ec2 describe-instances \
       --instance-ids i-abcdefghijklm01234 \
       --output text \
       --query 'Reservations[*].Instances[*].KeyName'
   ```

   下列範例輸出會顯示金鑰名稱，該名稱使用字首 `do-not-delete-rds-custom-DBInstanceIdentifier`。

   ```
   do-not-delete-rds-custom-my-custom-instance-0d726c
   ```

## 使用 RDP 公用程式連線到 EC2 執行個體
<a name="custom-creating-sqlserver.rdp.connect"></a>

請遵循《Amazon EC2 使用者指南》**中的[使用 RDP 連線至您的 Windows 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/connecting_to_windows_instance.html#connect-rdp)的程序。此程序假設您已建立包含私有金鑰的 .pem 檔案。

# 管理 Amazon RDS Custom for SQL Server 資料庫執行個體
<a name="custom-managing-sqlserver"></a>

Amazon RDS Custom for SQL Server 支援 Amazon RDS 資料庫執行個體一般管理任務的子集。接著，您可以使用 AWS 管理主控台 和 AWS CLI 尋找支援的 RDS Custom for SQL Server 管理任務的指示。

**Topics**
+ [暫停和繼續 RDS Custom 自動化](custom-managing-sqlserver.pausing.md)
+ [修改 RDS Custom for SQL Server 資料庫執行個體](custom-managing.modify-sqlserver.md)
+ [修改 RDS Custom for SQL Server 資料庫執行個體的儲存體](custom-managing-sqlserver.storage-modify.md)
+ [標記 RDS Custom for SQL Server 資源](custom-managing-sqlserver.tagging.md)
+ [刪除 RDS Custom for SQL Server 資料庫執行個體](#custom-managing-sqlserver.deleting)
+ [啟動與停止 RDS Custom for SQL Server 資料庫執行個體](custom-managing-sqlserver.startstop.md)

# 暫停和繼續 RDS Custom 自動化
<a name="custom-managing-sqlserver.pausing"></a>

RDS Custom 會自動為 RDS Custom for SQL Server 資料庫執行個體提供監控和執行個體復原。如果需要自訂執行個體，請執行下列動作：

1. 在指定期間暫停 RDS Custom 自動化。暫停可確保您的自訂不會干擾 RDS Custom 自動化。

1. 視需要自訂 RDS Custom for SQL Server 資料庫執行個體。

1. 執行下列任何一項：
   + 手動繼續自動化。
   + 等待暫停期間結束。在此情況下，RDS Custom 會自動繼續監控和執行個體復原。

**重要**  
修改 RDS Custom for SQL Server 資料庫執行個體時，暫停和繼續自動化是唯一支援的自動化任務。

## 主控台
<a name="custom-managing.pausing.console"></a>

**若要暫停或繼續 RDS Custom 自動化**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中選擇 **Databases** (資料庫)，然後選擇您要修改的 RDS Custom 資料庫執行個體。

1. 選擇 **Modify (修改)**。**Modify DB instance (修改資料庫執行個體)** 頁面隨即出現。

1. 針對 **RDS Custom automation mode** (RDS Custom 自動化模式)，選擇下列其中一個選項：
   + **Paused** (暫停) 會暫停 RDS Custom 資料庫執行個體的監控和執行個體復原。輸入您想要的 **Automation mode duration** (自動化模式持續時間) 的暫停持續時間 (以分鐘為單位)。最小值為 60 分鐘 (預設值)。最大值為 1,440 分鐘。
   + **Full automation (全自動化)** 會繼續自動化。

1. 選擇 **Continue (繼續)** 以檢查修改的摘要。

   訊息隨即顯示，指出 RDS Custom 將會立即套用變更。

1. 如果您的變更正確，請選擇 **Modify DB instance (修改資料庫執行個體)**。或者，選擇 **Back (上一步)** 以編輯變更，或是選擇 **Cancel (取消)** 以取消變更。

   在 RDS 主控台上，修改的詳細資訊即會出現。如果您暫停了自動化，您的 RDS Custom 資料庫執行個體的 **Status (狀態)** 會指出 **Automation paused (自動化已暫停)**。

1. (選用) 在導覽窗格中，選擇 **Databases** (資料庫)，然後再執行 RDS Custom 資料庫執行個體。

   在 **Summary** (摘要) 窗格中，**RDS Custom automation mode** (RDS Custom 自動化模式) 會指出自動化狀態。如果暫停自動化，則值為 **Paused (暫停)。自動化會在 *num* 分鐘內繼續**。

## AWS CLI
<a name="custom-managing-sqlserver.pausing.CLI"></a>

若要暫停或繼續 RDS Custom 自動化，請使用 `modify-db-instance` AWS CLI 命令。使用所需的參數 `--db-instance-identifier` 識別資料庫執行個體。使用下列參數控制自動化模式：
+ `--automation-mode` 會指定資料庫執行個體的暫停狀態。有效值為 `all-paused` (會暫停自動化) 以及 `full` (會繼續自動化)。
+ `--resume-full-automation-mode-minutes` 會指定暫停的持續時間。預設值為 60 分鐘。

**注意**  
無論您指定 `--no-apply-immediately` 或 `--apply-immediately`，RDS Custom 會盡快以非同步的方式套用修改。

在命令回應中，`ResumeFullAutomationModeTime` 會以 UTC 時間戳記的形式表示繼續時間。當自動化模式為 `all-paused` 時，您可以使用 `modify-db-instance` 來繼續自動化模式或延長暫停時間。不支援其他 `modify-db-instance` 加密選項。

下列範例會暫停 `my-custom-instance` 的自動化 90 分鐘。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --automation-mode all-paused \
    --resume-full-automation-mode-minutes 90
```
在 Windows 中：  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --automation-mode all-paused ^
    --resume-full-automation-mode-minutes 90
```

下列範例會將暫停持續時間延長額外 30 分鐘。30 分鐘會新增至 `ResumeFullAutomationModeTime` 中顯示的原始時間。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --automation-mode all-paused \
    --resume-full-automation-mode-minutes 30
```
在 Windows 中：  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --automation-mode all-paused ^
    --resume-full-automation-mode-minutes 30
```

下列範例會繼續 `my-custom-instance` 的全自動化。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --automation-mode full \
```
在 Windows 中：  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --automation-mode full
```
在下面的部分範例輸出中，待定 `AutomationMode` 值為 `full`。  

```
{
    "DBInstance": {
        "PubliclyAccessible": true,
        "MasterUsername": "admin",
        "MonitoringInterval": 0,
        "LicenseModel": "bring-your-own-license",
        "VpcSecurityGroups": [
            {
                "Status": "active",
                "VpcSecurityGroupId": "0123456789abcdefg"
            }
        ],
        "InstanceCreateTime": "2020-11-07T19:50:06.193Z",
        "CopyTagsToSnapshot": false,
        "OptionGroupMemberships": [
            {
                "Status": "in-sync",
                "OptionGroupName": "default:custom-oracle-ee-19"
            }
        ],
        "PendingModifiedValues": {
            "AutomationMode": "full"
        },
        "Engine": "custom-oracle-ee",
        "MultiAZ": false,
        "DBSecurityGroups": [],
        "DBParameterGroups": [
            {
                "DBParameterGroupName": "default.custom-oracle-ee-19",
                "ParameterApplyStatus": "in-sync"
            }
        ],
        ...
        "ReadReplicaDBInstanceIdentifiers": [],
        "AllocatedStorage": 250,
        "DBInstanceArn": "arn:aws:rds:us-west-2:012345678912:db:my-custom-instance",
        "BackupRetentionPeriod": 3,
        "DBName": "ORCL",
        "PreferredMaintenanceWindow": "fri:10:56-fri:11:26",
        "Endpoint": {
            "HostedZoneId": "ABCDEFGHIJKLMNO",
            "Port": 8200,
            "Address": "my-custom-instance.abcdefghijk.us-west-2.rds.amazonaws.com"
        },
        "DBInstanceStatus": "automation-paused",
        "IAMDatabaseAuthenticationEnabled": false,
        "AutomationMode": "all-paused",
        "EngineVersion": "19.my_cev1",
        "DeletionProtection": false,
        "AvailabilityZone": "us-west-2a",
        "DomainMemberships": [],
        "StorageType": "gp2",
        "DbiResourceId": "db-ABCDEFGHIJKLMNOPQRSTUVW",
        "ResumeFullAutomationModeTime": "2020-11-07T20:56:50.565Z",
        "KmsKeyId": "arn:aws:kms:us-west-2:012345678912:key/aa111a11-111a-11a1-1a11-1111a11a1a1a",
        "StorageEncrypted": false,
        "AssociatedRoles": [],
        "DBInstanceClass": "db.m5.xlarge",
        "DbInstancePort": 0,
        "DBInstanceIdentifier": "my-custom-instance",
        "TagList": []
    }
```

# 修改 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-managing.modify-sqlserver"></a>

修改 RDS Custom for SQL Server 資料庫執行個體類似於針對 Amazon RDS 執行這個操作，但是您可以進行的變更限制為下列項目：
+ 變更資料庫執行個體類別
+ 變更備份保留期和備份時段
+ 變更維護時段
+ 當新版本可用時升級資料庫引擎版本
+ 變更已配置的儲存體、佈建 IOPS 和儲存體類型
+ 允許和移除多可用區部署

修改 RDS Custom for SQL Server 資料庫執行個體時有下列限制：
+ 不支援自訂資料庫選項和參數群組。
+ 手動連接至 RDS Custom 資料庫執行個體的任何儲存磁碟區都在支援周邊外面。

  如需更多詳細資訊，請參閱 [RDS Custom 支援周邊](custom-concept.md#custom-troubleshooting.support-perimeter)。

## 主控台
<a name="custom-managing.modify-sqlserver.CON"></a>

**若要修改 RDS Custom for SQL Server 資料庫執行個體**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇想要修改的資料庫執行個體。

1. 選擇 **Modify (修改)**。

1. 視需要進行下列變更：

   1. 在 **DB engine version (資料庫引擎版本)** 中，選擇新版本。

   1. 變更 **DB instance class (資料庫執行個體類別)** 的值。如需支援的類別，請參閱 [RDS Custom for SQL Server 的資料庫執行個體類別支援](custom-reqs-limits.instancesMS.md)。

   1. 變更 **Backup retention period (備份保留期)** 的值。

   1. 針對 **Backup window (備份時段)**，設定 **Start time (開始時間)** 和 **Duration (持續時間)** 的值。

   1. 針對 **DB instance maintenance window (資料庫執行個體維護時段)**，設定 **Start day (開始日期)**、**Start time (開始時間)** 和 **Duration (持續時間)** 的值。

1. 選擇 **Continue (繼續)**。

1. 選擇 **Apply immediately (立即套用)** 或 **Apply during the next scheduled maintenance window (在下次排定的維護時段套用)**。

1. 選擇 **Modify DB instance (修改資料庫執行個體)**。

## AWS CLI
<a name="custom-managing.modify-sqlserver.CLI"></a>

若要修改 RDS Custom for SQL Server 資料庫執行個體，請使用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 命令。視需要設定下列參數：
+ `--db-instance-class` – 如需支援的類別，請參閱 [RDS Custom for SQL Server 的資料庫執行個體類別支援](custom-reqs-limits.instancesMS.md)
+ `--engine-version` – 您要升級的資料庫引擎版本號碼。
+ `--backup-retention-period` – 保留自動化備份的期間，從 0–35 天。
+ `--preferred-backup-window` – 每日時間範圍，自動化備份會在這段期間建立。
+ `--preferred-maintenance-window` – 系統維護可能發生期間的每週時間範圍 (格式為 UTC)。
+ `--apply-immediately` – 使用 `--apply-immediately` 可立即套用儲存變更。

  或使用 `--no-apply-immediately` (預設值) 在下個維護時段套用變更。

# 修改 RDS Custom for SQL Server 資料庫執行個體的儲存體
<a name="custom-managing-sqlserver.storage-modify"></a>

修改 RDS Custom for SQL Server 資料庫執行個體的儲存體類似於修改 Amazon RDS 資料庫執行個體的儲存體，但是您只能執行下列動作：
+ 增加配置的儲存體大小。
+ 變更儲存體類型。您可以使用可用的儲存體類型，例如一般用途或佈建 IOPS。gp3、io1 和 io2 Block Express 儲存體類型支援佈建 IOPS。
+ 如果您是使用支援佈建 IOPS 的磁碟區類型，則變更佈建 IOPS。

修改 RDS Custom for SQL Server 資料庫執行個體的儲存體時有下列限制：
+ 針對 RDS Custom for SQL Server 配置的儲存體大小下限為 20 GiB。io1、gp2 和 gp3 的儲存體上限為 16 TiB，而 io2 支援 64 TiB。
+ 與 Amazon RDS 一樣，您無法減少配置的儲存體。這是 Amazon Elastic Block Store (Amazon EBS) 磁碟區的限制。如需詳細資訊，請參閱[使用適合 Amazon RDS 資料庫執行個體的儲存體](USER_PIOPS.StorageTypes.md)
+ RDS Custom for SQL Server 執行個體不支援儲存體自動擴展。
+ 不會考慮對您手動連接至 RDS Custom 資料庫執行個體的任何儲存磁碟區進行儲存體擴展。只有 RSS 提供的預設資料磁碟區 (即 D 磁碟機)，才會考慮對其進行儲存體擴展。

  如需更多詳細資訊，請參閱 [RDS Custom 支援周邊](custom-concept.md#custom-troubleshooting.support-perimeter)。
+ 擴展儲存體通常不會導致資料庫執行個體的任何中斷或效能下降。修改完資料庫執行個體的儲存空間大小之後，其狀態呈現為 **storage-optimization (儲存最佳化)**。
+ 儲存體最佳化可能需要幾個小時。在六 (6) 小時或在執行個體上完成儲存體最佳化 (以時間較長者為準) 後，您才能進行進一步的儲存體修改。如需詳細資訊，請參閱[使用適合 Amazon RDS 資料庫執行個體的儲存體](USER_PIOPS.StorageTypes.md)

如需儲存體的詳細資訊，請參閱[Amazon RDS 資料庫執行個體儲存體](CHAP_Storage.md)。

如需與儲存體修改相關的一般資訊，請參閱 [使用適合 Amazon RDS 資料庫執行個體的儲存體](USER_PIOPS.StorageTypes.md)。

**重要**  
請勿使用 Amazon EC2 或 Amazon EBS 主控台或 API 來修改 RDS Custom for SQL Server 資料庫執行個體的儲存體。在 Amazon RDS 主控台或 API 外部直接儲存體修改會導致資料庫處於 `unsupported-configuration` 狀態。  
當您使用 Amazon EC2 或 Amazon EBS 進行直接儲存體變更時，Amazon RDS 無法追蹤或管理您的資料庫執行個體狀態。這可能會導致：  
高可用性容錯移轉機制無法正常運作
要中斷的資料庫複寫設定
要失敗的備援功能
僅透過 Amazon RDS 主控台或 API 修改儲存體，讓您的資料庫保持在支援的狀態。如需復原步驟，請參閱 [修正 RDS Custom for SQL Server 中不支援的組態](custom-troubleshooting-sqlserver.md#custom-troubleshooting-sqlserver.fix-unsupported)。

## 主控台
<a name="custom-managing.storage-modify.CON"></a>

**修改 RDS Custom for SQL Server 資料庫執行個體的儲存體**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 選擇想要修改的資料庫執行個體。

1. 選擇 **Modify (修改)**。

1. 視需要進行下列變更：

   1. 針對 **Allocated storage (配置儲存)** 輸入新的值。它必須大於目前的值，並且從 20 GiB 至 64 TiB。

   1. 變更 **Storage type (儲存體類型)** 的值。您可以選擇可用的一般用途或佈建 IOPS 儲存體類型。gp3、io1 和 io2 Block Express 儲存體類型支援佈建 IOPS。

   1. 如果您指定支援佈建 IOPS 的儲存體類型，則可以定**佈建 IOPS** 值。

1. 選擇 **Continue (繼續)**。

1. 選擇 **Apply immediately (立即套用)** 或 **Apply during the next scheduled maintenance window (在下次排定的維護時段套用)**。

1. 選擇 **Modify DB instance (修改資料庫執行個體)**。

## AWS CLI
<a name="custom-managing-sqlserver.storage-modify.CLI"></a>

若要修改 RDS Custom for SQL Server 資料庫執行個體的儲存體，請使用 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) AWS CLI 命令。視需要設定下列參數：
+ `--allocated-storage` – 要配置給資料庫執行個體的儲存量 (以 GiB 為單位)。它必須大於目前的值，並且從 20 至 16,384 GiB。
+ `--storage-type` - 儲存體類型，例如，gp2、gp3、io1 或 io2。
+ `--iops` – 資料庫執行個體的佈建 IOPS。您只能針對支援佈建 IOPS (gp3、io1 和 io2) 的儲存體類型指定此項目。
+ `--apply-immediately` – 使用 `--apply-immediately` 可立即套用儲存變更。

  或使用 `--no-apply-immediately` (預設值) 在下個維護時段套用變更。

下列範例會將 my-custom-instance 的儲存大小變更為 200 GiB，將儲存類型變更為 io1，將佈建 IOPS 變更為 3000。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --storage-type io1 \
    --iops 3000 \
    --allocated-storage 200 \
    --apply-immediately
```
在 Windows 中：  

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --storage-type io1 ^
    --iops 3000 ^
    --allocated-storage 200 ^
    --apply-immediately
```

# 標記 RDS Custom for SQL Server 資源
<a name="custom-managing-sqlserver.tagging"></a>

您可以將 RDS Custom 資源標記為與 Amazon RDS 資源一樣，但是有一些重要差異：
+ 請勿建立或修改 RDS Custom 自動化所需的 `AWSRDSCustom` 標籤。如果您這樣做，可能會破壞自動化。
+ `Name` 標籤會新增至字首為 `do-not-delete-rds-custom` 的 RDS Custom 資源。金鑰的任何客戶傳遞值都會遭到覆寫。
+ 在建立期間新增至 RDS Custom 資料庫執行個體的標籤會傳播至所有其他相關的 RDS Custom 資源。
+ 當您在建立資料庫執行個體之後將標籤新增至 RDS Custom 資源時，不會傳播標籤。

如需資源標記的一般資訊，請參閱 [標記 Amazon RDS 資源](USER_Tagging.md)。

## 刪除 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-managing-sqlserver.deleting"></a>

若要刪除 RDS Custom for SQL Server 資料庫執行個體，請執行以下操作：
+ 提供資料庫執行個體的名稱。
+ 選擇或清除讓您建立資料庫執行個體最終資料庫快照的選項。
+ 選擇或清除保留自動化備份的選項。

您可以使用主控台或 CLI 刪除 RDS Custom for SQL Server 資料庫執行個體。刪除資料庫執行個體所需的時間會因備份保留期間 (也就是要刪除的備份數量)、刪除的資料量，以及是否要拍攝最終快照而有所不同。

**警告**  
刪除 RDS Custom for SQL Server 資料庫執行個體會永久刪除 EC2 執行個體和相關聯的 Amazon EBS 磁碟區。您不應隨時終止或刪除這些資源，否則刪除和最終快照建立可能會失敗。

**注意**  
如果資料庫執行個體的狀態為 `creating`、`failed`、`incompatible-create`、`incompatible-restore` 或 `incompatible-network`，則無法建立該資料庫執行個體的最終資料庫快照。如需更多詳細資訊，請參閱 [在 Amazon RDS 資料庫執行個體狀態](accessing-monitoring.md#Overview.DBInstance.Status)。

**重要**  
當您選擇建立最終快照時，建議您避免在資料庫執行個體刪除過程中將資料寫入至資料庫執行個體。一旦啟動了資料庫執行個體刪除，最終快照就不保證會擷取資料變更。

### 主控台
<a name="custom-managing-sqs.deleting.console"></a>

**若要刪除 RDS Custom 資料庫執行個體**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中選擇 **Databases** (資料庫)，然後選擇您要刪除的 RDS Custom for SQL Server 資料庫執行個體。RDS Custom for SQL Server 資料庫執行個體會顯示角色 **Instance (RDS Custom for SQL Server)** (執行個體 (RDS Custom for SQL Server))。

1. 對於 **Actions** (動作)，請選擇 **Delete** (刪除)。

1. 若要建立最終快照，請選擇 **Create final snapshot** (建立最終快照)，並提供 **Final snapshot name** (最終快照名稱) 的名稱。

1. 若要保留自動備份，請選擇 **Retain automated backups (保留自動備份)**。

1. 在方塊中輸入 **delete me**。

1. 選擇 **刪除**。

### AWS CLI
<a name="custom-managing-sqs.deleting.CLI"></a>

您可以藉由使用 [delete-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance.html) AWS CLI 命令來刪除 RDS Custom for SQL Server 資料庫執行個體。使用所需的參數 `--db-instance-identifier` 識別資料庫執行個體。其餘參數與 Amazon RDS 資料庫執行個體的參數相同。

下列範例會刪除名為 `my-custom-instance` 的 RDS Custom for SQL Server 資料庫執行個體、建立最終快照，並保留自動化備份。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
aws rds delete-db-instance \
    --db-instance-identifier my-custom-instance \
    --no-skip-final-snapshot \
    --final-db-snapshot-identifier my-custom-instance-final-snapshot \
    --no-delete-automated-backups
```
在 Windows 中：  

```
aws rds delete-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --no-skip-final-snapshot ^
    --final-db-snapshot-identifier my-custom-instance-final-snapshot ^
    --no-delete-automated-backups
```

若要建立最終快照，`--final-db-snapshot-identifier` 為必要選項，且必須加以指定。

若要略過最終快照，請在命令中指定 `--skip-final-snapshot` 選項，而非 `--no-skip-final-snapshot` 和 `--final-db-snapshot-identifier` 選項。

若要刪除自動備份，請在命令中指定 `--delete-automated-backups` 選項，而非 `--no-delete-automated-backups` 選項。

# 啟動與停止 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-managing-sqlserver.startstop"></a>

您可以啟動與停止 RDS Custom for SQL Server 資料庫執行個體。RDS for SQL Server 資料庫執行個體的一般需求和限制，也適用於停止與啟動 RDS Custom for SQL Server 資料庫執行個體。如需更多詳細資訊，請參閱 [暫時停止 Amazon RDS 資料庫執行個體](USER_StopInstance.md)。

以下考量同樣適用於啟動與停止 RDS Custom for SQL Server 資料庫執行個體：
+ 不支援在資料庫執行個體為 `STOPPED` 時，修改 RDS Custom for SQL Server 資料庫執行個體的 EC2 執行個體屬性。
+ 您只能停止和啟動針對單一可用區域設定的 RDS Custom for SQL Server 資料庫執行個體。您無法停止多可用區域組態中的 RDS Custom for SQL Server 資料庫執行個體。
+ 當您停止 RDS Custom for SQL Server 資料庫執行個體時，會建立 `SYSTEM` 快照。當您再次啟動 RDS Custom for SQL Server 資料庫執行個體時，快照會自動刪除。
+ 如果您在 RDS Custom for SQL Server 資料庫執行個體停止時刪除 EC2 執行個體，當您再次啟動 RDS Custom for SQL Server 資料庫執行個體時，將會更換 `C:` 磁碟機。
+ 當您停止 RDS Custom for SQL Server 資料庫執行個體時，只要您不修改執行個體類型，`C:\` 磁碟機、主機名稱及您的自訂組態就會保留。
+ 下列動作會導致 RDS Custom 將資料庫執行個體置於支援周邊外，而您仍需支付資料庫執行個體時數的費用：
  + 在 Amazon RDS 停止時啟動基礎 EC2 執行個體。若要解決問題，您可以呼叫 `start-db-instance` Amazon RDS API，或是停止 EC2，讓 RDS Custom 執行個體恢復 `STOPPED`。
  + 在 RDS Custom for SQL Server 資料庫執行個體為 `ACTIVE` 時停止基礎 EC2 執行個體。

如需停止與啟動資料庫執行個體的詳細資訊，請參閱 [暫時停止 Amazon RDS 資料庫執行個體](USER_StopInstance.md)，以及 [啟動之前已停止的 Amazon RDS 資料庫執行個體](USER_StartInstance.md)。

# 使用 Microsoft Active Directory 搭配 RDS Custom for SQL Server
<a name="custom-sqlserver-WinAuth"></a>

RDS Custom for SQL Server 允許將您的執行個體加入自我管理 Active Directory (AD) 或 AWS Managed Microsoft AD。無論您的 AD 託管位置為何，例如內部部署資料中心、Amazon EC2 或任何其他雲端服務提供者。

針對使用者和服務的身分驗證，您可以在 RDS Custom for SQL Server 資料庫執行個體上使用 NTLM 或 Kerberos 身分驗證，而無需使用中繼網域和樹系信任。當使用者嘗試在 RDS Custom for SQL Server 資料庫執行個體上使用自我加入的 Active Directory 進行身分驗證時，身分驗證請求會轉送到自我管理 AD 或您指定的 AWS Managed Microsoft AD。

在以下各節中，您可以找到在使用自我管理 Active Directory 和 AWS 受管 Active Directory for RDS Custom for SQL Server 的相關資訊。

**Topics**
+ [區域和版本可用性](#custom-sqlserver-WinAuth.Regions)
+ [設定自我管理或內部部署 AD](custom-sqlserver-WinAuth.config-Self-Managed.md)
+ [使用 設定 Microsoft Active Directory Directory Service](custom-sqlserver-WinAuth.config-ADS.md)
+ [網路組態連接埠規則](custom-sqlserver-WinAuth.NWConfigPorts.md)
+ [網路驗證](custom-sqlserver-WinAuth.NWValidation.md)
+ [為 RDS Custom for SQL Server 執行個體設定 Windows 身分驗證](custom-sqlserver-WinAuth.settingUp.md)
+ [管理網域中的資料庫執行個體](custom-sqlserver-WinAuth.ManagingDBI.md)
+ [了解網域成員資格](custom-sqlserver-WinAuth.Understanding.md)
+ [故障診斷 Active Directory](custom-sqlserver-WinAuth.Troubleshoot.md)

## 區域和版本可用性
<a name="custom-sqlserver-WinAuth.Regions"></a>

RDS Custom for SQL Server 支援自我管理 AD 和 AWS Managed Microsoft AD，並在支援 RDS Custom for SQL Server 的所有區域中使用 NTLM 或 Kerberos。如需更多詳細資訊，請參閱 [支援的 RDS Custom 區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.md)。

# 設定自我管理或內部部署 AD
<a name="custom-sqlserver-WinAuth.config-Self-Managed"></a>

若要將內部部署或自我管理的 Microsoft AD 加入 RDS Custom for SQL Server 資料庫執行個體，您的作用中網域必須設定如下：
+ 在自我管理或內部部署 AD 中，定義 VPC 中與 RDS Custom for SQL Server 資料庫執行個體相關聯的子網路。確認 VPC 中的子網路與 AD 網站中的子網路之間沒有任何衝突。
+ 您的 AD 網域控制器具有 Windows Server 2008 R2 或更新版本的網域功能層級。
+ 您的 AD 網域名稱不能採用單一標籤網域 (SLD) 格式。RDS Custom for SQL Server 不支援 SLD 網域。
+ AD 的完整網域名稱 (FQDN) 不得超過 47 個字元。

## 設定您的網路連線能力
<a name="custom-sqlserver-WinAuth.config-Self-Managed.network"></a>

以下列方式設定自我管理或內部部署 AD 網路連線：
+ 設定執行 RDS Custom for SQL Server 執行個體的 Amazon VPC 與您 AD 之間的連線。使用 Direct Connect Site-to-Site VPN AWS Transit Gateway、 和 VPC 對等互連。
+ 允許 RDS Custom for SQL Server 安全群組和網路 ACL 在連接埠上的流量傳送到自我管理或內部部署 AD。如需詳細資訊，請參閱[網路組態連接埠規則](custom-sqlserver-WinAuth.NWConfigPorts.md)。  
![\[Microsoft SQL Server Windows 身分驗證目錄\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/custom-sqs-SM-NC.png)

## 設定 DNS 解析
<a name="custom-sqlserver-WinAuth.config-Self-Managed.DNS"></a>

設定下列需求，以使用自我管理或內部部署 AD 設定 DNS 解析：
+ 在 VPC 中設定 DNS 解析，以解析自我託管 Active Directory 的完整網域名稱 (FQDN)。FQDN 的範例為 `corp.example.local`。若要設定 DNS 解析，請將 VPC DNS 解析程式設定為使用 Amazon Route 53 傳出端點和解析程式規則轉送特定網域的查詢。如需詳細資訊，請參閱[設定 Route 53 Resolver 傳出端點以解析 DNS 記錄](https://repost.aws/knowledge-center/route53-resolve-with-outbound-endpoint)。
+ 針對同時利用 VPC 和內部部署資源的工作負載，則必須解析內部部署託管的 DNS 記錄。內部部署資源可能需要解析託管在其中的名稱 AWS。

  若要建立混合雲端設定，請使用解析程式端點和條件式轉送機制，來解析內部部署資源和與自訂 VPC 之間的 DNS 查詢。如需詳細資訊，請參閱《Amazon Route 53 開發人員指南》**中的[在 VPC 和網路之間解析 DNS 查詢](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-overview-DSN-queries-to-vpc.html)。

**重要**  
修改 RDS Custom for SQL Server 上網路介面的 DNS 解析程式設定會導致已啟用 DNS 的 VPC 端點無法再正常運作。私有子網路內沒有網際網路存取的執行個體需要啟用 DNS 的 VPC 端點。

# 使用 設定 Microsoft Active Directory Directory Service
<a name="custom-sqlserver-WinAuth.config-ADS"></a>

AWS Managed Microsoft AD 在 中建立全受管 Microsoft Active Directory AWS ，該目錄採用 Windows Server 2019 技術，並在 2012 R2 樹系和網域功能層級運作。 會在 Amazon VPC 的不同子網路中 Directory Service 建立網域控制器，讓您的目錄即使在發生故障時也能高度使用。

若要使用 建立目錄 AWS Managed Microsoft AD，請參閱《 *AWS Directory Service 管理指南*》中的 [入門 AWS Managed Microsoft AD](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_getting_started.html)。

## 設定您的網路連線能力
<a name="custom-sqlserver-WinAuth.config-ADS.network"></a>

### 啟用目錄和資料庫執行個體之間的跨 VPC 流量
<a name="custom-sqlserver-WinAuth.config-ADS.network.x-vpc"></a>

若要在相同 VPC 中尋找目錄和資料庫執行個體，請略過此步驟，並移至 [網路組態連接埠規則](custom-sqlserver-WinAuth.NWConfigPorts.md) 中的下一個步驟。

若要在不同 VPCs 中尋找目錄和資料庫執行個體，請使用 VPC 對等互連 或 設定跨 VPC 流量 AWS Transit Gateway。如需使用 VPC 對等互連的詳細資訊，請參閱《*Amazon* [VPC 對等互連指南》中的什麼是 VPC 對等互連？](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)以及《*Amazon VPC 傳輸閘道*》中的[什麼是 AWS Transit Gateway？](https://docs.aws.amazon.com/vpc/latest/tgw/what-is-transit-gateway.html)。

**使用 VPC 互連以啟用跨 VPC 流量**

1. 設定適當的 VPC 路由規則，以確保網路流量可以雙向對流。

1. 允許資料庫執行個體的安全群組可以從目錄的安全群組接收傳入流量。如需詳細資訊，請參閱[網路組態連接埠規則](custom-sqlserver-WinAuth.NWConfigPorts.md)。

1. 網路存取控制清單 (ACL) 不得封鎖流量。

如果不同的 AWS 帳戶 擁有該目錄，您必須共用該目錄。若要與 共用 RDS Custom for SQL Server 執行個體 AWS 帳戶 所在的目錄，請遵循《 *AWS Directory Service 管理指南*》中的[教學課程：共用您的 AWS Managed Microsoft AD 以實現無縫 EC2 網域加入](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_directory_sharing.html)。

**在 之間共用目錄 AWS 帳戶**

1. 使用資料庫執行個體的帳戶登入 Directory Service 主控台，並檢查網域是否具有 `SHARED` 狀態，再繼續。

1. 使用資料庫執行個體的帳戶登入 Directory Service 主控台後，請注意**目錄 ID** 值。您可以使用此 ID，將資料庫執行個體加入網域。

## 設定 DNS 解析
<a name="custom-sqlserver-WinAuth.config-ADS.DNS"></a>

當您使用 建立目錄時 AWS Managed Microsoft AD， 會 Directory Service 建立兩個網域控制站，並代表您新增 DNS 服務。

如果您有現有 AWS Managed Microsoft AD 或計劃在 RDS Custom for SQL Server 資料庫執行個體以外的 VPC 中啟動，請設定 VPC DNS 解析程式以轉送具有 Route 53 傳出和解析程式規則之特定網域的查詢，請參閱[設定 Route 53 Resolver 傳出端點以解析 DNS 記錄](https://repost.aws/knowledge-center/route53-resolve-with-outbound-endpoint)。

# 網路組態連接埠規則
<a name="custom-sqlserver-WinAuth.NWConfigPorts"></a>

請確定您已符合下列網路組態：
+ 在 Amazon VPC 之間設定的連線能力，而在 Amazon VPC，您想要建立 RDS Custom for SQL Server 資料庫執行個體至您的自我管理 Active Directory 或 AWS Managed Microsoft AD。對於自我管理 Active Directory，請使用 AWS Direct Connect、AWS VPN、VPC 對等互連或 AWS Transit Gateway 設定連線。對於 AWS Managed Microsoft AD，使用 VPC 對等互連設定連線。
+ 請確定您要在其中建立 RDS Custom for SQL Server 資料庫執行個體之子網路的安全群組和 VPC 網路 ACL 允許連接埠上的流量，並依下圖所示的方向前進。  
![\[Microsoft Active Directory 網路組態連接埠規則。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/custom_sqlserver_ActiveDirectory_Requirements_NetworkConfig.png)

  下表識別每個連接埠的角色。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-sqlserver-WinAuth.NWConfigPorts.html)
+ 一般而言，網域 DNS 伺服器位於 AD 網域控制器中。您不需要設定 VPC DHCP 選項集，即可使用此功能。如需詳細資訊，請參閱《Amazon VPC 使用者指南》**中的 [DHCP 選項集](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html)。

**重要**  
如果使用 VPC 網路 ACL，您也必須允許動態連接埠 (49152-65535) 上來自 RDS Custom for SQL Server 資料庫執行個體的傳出流量。請確定也會在適用於每個 AD 網域控制器、DNS 伺服器和 RDS Custom for SQL Server 資料庫執行個體的防火牆上鏡像這些流量規則。  
雖然 VPC 安全群組只需要以網路流量起始的方向開啟連接埠，但大多數 Windows 防火牆和 VPC 網路 ACL 都需要雙向開啟連接埠。

# 網路驗證
<a name="custom-sqlserver-WinAuth.NWValidation"></a>

將 RDS Custom 執行個體加入自我管理或 AWS Managed Microsoft AD 之前，請從您計劃啟動 RDS Custom for SQL Server 執行個體的相同 VPC 中的 EC2 執行個體檢查下列項目。
+ 檢查您是否能夠將完整網域名稱 (FQDN) 解析為網域控制站 IP。

  ```
  nslookup corp.example.com
  ```

  命令必須傳回類似的輸出：

  ```
  Server:  ip-10-0-0-2.us-west-2.compute.internal
  Address:  25.0.0.2
  
  Non-authoritative answer:
  Name:    corp.example.com
  Addresses:  40.0.9.25 (DC1 IP)
              40.0.50.123 (DC2 IP)
  ```
+ 解決您啟動 RDS Custom 執行個體所在 VPC 中 EC2 執行個體的 AWS 服務：

  ```
  $region='input-your-aws-region'
  $domainFQDN='input-your-domainFQDN'
   
  function Test-DomainPorts {
      param (
          [string]$Domain,
          [array]$Ports
      )
   
      foreach ($portInfo in $Ports) {
          try {
              $conn = New-Object System.Net.Sockets.TcpClient
              $connectionResult = $conn.BeginConnect($Domain, $portInfo.Port, $null, $null)
              $success = $connectionResult.AsyncWaitHandle.WaitOne(1000) # 1 second timeout
              if ($success) {
                  $conn.EndConnect($connectionResult)
                  $result = $true
              } else {
                  $result = $false
              }
          }
          catch {
              $result = $false
          }
          finally {
              if ($null -ne $conn) {
                  $conn.Close()
              }
          }
          Write-Host "$($portInfo.Description) port open: $result"
      }
  }
   
  # Check if ports can be reached 
  $ports = @(
      @{Port = 53;   Description = "DNS"},
      @{Port = 88;   Description = "Kerberos"},
      @{Port = 389;  Description = "LDAP"},
      @{Port = 445;  Description = "SMB"},
      @{Port = 5985; Description = "WinRM"},
      @{Port = 636;  Description = "LDAPS"},
      @{Port = 3268; Description = "Global Catalog"},
      @{Port = 3269; Description = "Global Catalog over SSL"},
      @{Port = 9389; Description = "AD DS"}
  )
   
  function Test-DomainReachability {
      param (
          [string]$DomainName
      )
      
      try {
          $dnsResults = Resolve-DnsName -Name $DomainName -ErrorAction Stop
          Write-Host "Domain $DomainName is successfully resolving to following IP addresses: $($dnsResults.IpAddress)"
          Write-Host ""
          return $true
      } 
      catch {
          Write-Host ""
          Write-Host "Error Message: $($_.Exception.Message)"
          Write-Host "Domain $DomainName reachability check failed, please Configure DNS resolution"
          return $false
      }
  }
   
  $domain = (Get-WmiObject Win32_ComputerSystem).Domain
  if ($domain -eq 'WORKGROUP') {
      Write-Host ""    
      Write-Host "Host $env:computername is still part of WORKGROUP and not part of any domain"
      }
  else {
      Write-Host ""
      Write-Host "Host $env:computername is joined to $domain domain"
      Write-Host ""
      }
   
   
  $isReachable = Test-DomainReachability -DomainName $domainFQDN  
  if ($isReachable) {
      write-Host "Checking if domain $domainFQDN is reachable on required ports  "
      Test-DomainPorts -Domain $domainFQDN -Ports $ports
  }
  else {
      Write-Host "Port check skipped. Domain not reachable"
  }   
   
   
   
  # Get network adapter configuration
  $networkConfig = Get-WmiObject Win32_NetworkAdapterConfiguration | 
                   Where-Object { $_.IPEnabled -eq $true } |
                   Select-Object -First 1
   
  # Check DNS server settings
  $dnsServers = $networkConfig.DNSServerSearchOrder
   
  if ($dnsServers) {
      Write-Host "`nDNS Server settings:"
      foreach ($server in $dnsServers) {
          Write-Host "  - $server"
      }
  } else {
      Write-Host "`nNo DNS servers configured or unable to retrieve DNS server information."
  }
   
  write-host ""
   
  # Checks reachability to dependent services
  $services = "s3", "ec2", "secretsmanager", "logs", "events", "monitoring", "ssm", "ec2messages", "ssmmessages"
   
  function Get-TcpConnectionAsync {
      param (
          $ServicePrefix,
          $region
      )
      $endpoint = "${ServicePrefix}.${region}.amazonaws.com"
      $tcp = New-Object Net.Sockets.TcpClient
      $result = $false
   
      try {
          $connectTask = $tcp.ConnectAsync($endpoint, 443)
          $timedOut = $connectTask.Wait(3000)
          $result = $tcp.Connected
      } 
      catch {
          $result = $false
      } 
      return $result
  }
   
  foreach ($service in $services) {
      $validationResult = Get-TcpConnectionAsync -ServicePrefix $service -Region $region
      Write-Host "Reachability to $service is $validationResult"
  }
  ```

  `TcpTestSucceeded` 值針對 `s3`、`ec2`、`secretsmanager`、`logs`、`events`、`monitoring`、`ssm`、`ec2messages` 和 `ssmmessages` 必須傳回 `True`。

# 為 RDS Custom for SQL Server 執行個體設定 Windows 身分驗證
<a name="custom-sqlserver-WinAuth.settingUp"></a>

任何 AWS 帳戶 若擁有加入您 AD 網域的 RDS for SQL Server 資料庫執行個體，我們建議為其建立範圍受限於該 OU 的專用 OU 和服務憑證。透過專用 OU 和服務憑證，您可避免衝突的許可，並遵循最低權限的主體。

Active Directory 層級群組政策可能與 AWS 自動化和許可衝突。我們建議選取僅適用於您為 RDS Custom for SQL Server 建立之 OU 的 GPO。
+ 若要在自我管理或內部部署 AD 中建立 OU 和 AD 網域使用者，您可以網域管理員身分連線網域控制器。
+ 若要在 Directory Service 目錄中建立使用者和群組，您必須連線到管理執行個體，還必須以具有建立使用者和群組之權限的使用者身分登入。如需詳細資訊，請參閱《AWS Directory Service 管理指南》**中的 [AWS Managed Microsoft AD 中的使用者和群組管理](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_manage_users_groups.html)。
+ 若要從 Amazon EC2 Windows Server 執行個體中管理您的 Active Directory，您必須在 EC2 執行個體上安裝 Active Directory 網域服務和 Active Directory 輕量型目錄服務工具。如需詳細資訊，請參閱《AWS Directory Service 管理指南》**中的[安裝 AWS Managed Microsoft AD 的 Active Directory 管理工具](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_install_ad_tools.html)。
+ 我們建議您在單獨的 EC2 執行個體上安裝這些工具以進行管理，而不是在 RDS Custom for SQL Server 資料庫執行個體上安裝這些工具，以便於管理。

以下是 AD 網域服務帳戶的需求：
+ 您在 AD 網域中必須具有一個服務帳戶，其具有將電腦加入網域的委派許可。網域服務帳戶是 AD 中的使用者帳戶，其已獲委派執行特定任務的許可。
+ 在您正要將 RDS Custom for SQL Server 執行個體加入其中的組織單位中，必須向網域服務帳戶委派下列許可：
  + 已驗證能夠寫入 DNS 主機名稱
  + 已驗證能夠寫入服務主體名稱
  + 建立和刪除電腦物件
+ 對於自我管理和內部部署 AD，網域服務帳戶必須是「AWS 委派網域名稱系統管理員」群組的成員。
+ 對於 AWS Managed Microsoft AD，網域服務帳戶應該是「DnsAdmins」群組的成員。

這些是將電腦物件加入自我管理 AD 和 AWS Managed Microsoft AD 所需的最低許可集。如需詳細資訊，請參閱 Microsoft Windows Server 文件中的[錯誤：當被委派控制的非管理員使用者嘗試將電腦加入網域控制站時，存取遭拒](https://learn.microsoft.com/en-us/troubleshoot/windows-server/active-directory/access-denied-when-joining-computers)。

**重要**  
在建立資料庫執行個體之後，請不要移動 RDS Custom for SQL Server 在組織單位中建立的電腦物件。移動相關聯的物件可能會導致 RDS Custom for SQL Server 資料庫執行個體設定錯誤。如果您需要移動 Amazon RDS 所建立的電腦物件，請使用 [ ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 動作，透過所需的電腦物件位置修改網域參數。

**Topics**
+ [步驟 1：在您的 AD 中建立組織單位](#custom-sqlserver-WinAuth.settingUp.CreateOU)
+ [步驟 2：建立 AD 網域使用者](#custom-sqlserver-WinAuth.settingUp.ADuser)
+ [步驟 3：將控制權委派給自我管理或 AWS Managed Microsoft AD 中的 AD 使用者](#custom-sqlserver-WinAuth.settingUp.Delegate)
+ [步驟 4：建立私密](#custom-sqlserver-WinAuth.settingUp.ASM)
+ [步驟 5：建立或修改 RDS Custom for SQL Server 資料庫執行個體](#custom-sqlserver-WinAuth.settingUp.CreateDBInstance)
+ [步驟 6：建立 Windows 身分驗證 SQL Server 登入](#custom-sqlserver-WinAuth.settingUp.CreateLogins)
+ [步驟 7：使用 Kerberos 或 NTLM 身分驗證](#custom-sqlserver-WinAuth.settingUp.KerbNTLM)

## 步驟 1：在您的 AD 中建立組織單位
<a name="custom-sqlserver-WinAuth.settingUp.CreateOU"></a>

使用下列步驟在您的 AD 中建立組織單位：

**在您的 AD 中建立 OU**

1. 以網域管理員身分連線至您的網域 AD。

1. 開啟 **Active Directory 使用者和電腦**，然後選取您要在其中建立 OU 的網域。

1. 在網域上按一下滑鼠右鍵，然後選擇**新增**，再選擇**組織單位**。

1. 輸入 OU 的名稱。

   啟用**保護容器免於意外刪除**。

1. 選擇**確定**。您的新 OU 會出現在您的網域下方。

對於 AWS Managed Microsoft AD，此 OU 的名稱的基礎，是您建立目錄時所輸入的 NetBIOS 名稱。此 OU 屬於 AWS 且包含您所有 AWS 相關的目錄物件，您對此擁有完全控制權。此 OU 下預設存在兩個子 OU：**電腦和使用者**。RDS Custom 建立的新 OU 是以 NetBIOS 為基礎的 OU 子系。

## 步驟 2：建立 AD 網域使用者
<a name="custom-sqlserver-WinAuth.settingUp.ADuser"></a>

網域使用者憑證會用於 Secrets Manager 中的秘密。

**在您的 AD 中建立 AD 網域使用者**

1. 開啟 **Active Directory 使用者和電腦**，然後選取您要在其中建立使用者的網域。

1. 在**使用者**上按一下滑鼠右鍵，然後選擇**新增**，再選擇**使用者**。

1. 輸入使用者的名字、姓氏和登入名稱。按一下 **Next (下一步)**。

1. 輸入使用者的密碼。不要選取**使用者在下次登入時必須變更密碼**或**帳戶已停用**。按一下 **Next (下一步)**。

1. 按一下 **OK (確定)**。您的新使用者會出現在您的網域下方。

## 步驟 3：將控制權委派給自我管理或 AWS Managed Microsoft AD 中的 AD 使用者
<a name="custom-sqlserver-WinAuth.settingUp.Delegate"></a>

**將控制權委派給網域中的 AD 網域使用者**

1. 開啟 **Active Directory 使用者和電腦** MMC 嵌入式管理單元，然後選取您的網域。

1. 在您先前建立的 OU 上按一下滑鼠右鍵，然後選擇**委派控制權**。

1. 在**委派控制權精靈**中，按**下一步**。

1. 在**使用者或群組**區段中，按一下**新增**。

1. 在**選取使用者、電腦或群組**中，輸入您建立的 AD 使用者，然後按一下**檢查名稱**。如果 AD 使用者檢查成功，請按一下**確定**。

1. 在**使用者或群組**區段中，確認已新增 AD 使用者，然後按**下一步**。

1. 在**要委派的任務**區段中，選取**建立要委派的自訂任務**，然後按**下一步**。

1. 在 **Active Directory 物件類型**區段中：

   選擇**僅限資料夾中的下列物件**。

   選取**電腦物件**

   選取**在此資料夾中建立選取的物件**

   選取**刪除此資料夾中選取的物件**，然後按**下一步**。

1. 在**許可**區段中：

   保持選取**一般**。

   選取**已驗證寫入 DNS 主機名稱**。

   選取**已驗證寫入服務主體名稱**，然後按**下一步**。

1. 在**完成委派控制權精靈**中，請確認您的設定，然後按一下**完成**。

## 步驟 4：建立私密
<a name="custom-sqlserver-WinAuth.settingUp.ASM"></a>

在相同的 AWS 帳戶 帳戶和區域中建立秘密，其中包含要納入自我管理 Active Directory 的 RDS Custom for SQL Server 資料庫執行個體。儲存在 [步驟 2：建立 AD 網域使用者](#custom-sqlserver-WinAuth.settingUp.ADuser) 中建立的 AD 網域使用者的憑證。

------
#### [ Console ]
+ 在 AWS Secrets Manager 中，選擇**儲存新機密**。
+ 針對**機密類型**，選擇**其他類型的機密**。
+ 對於**金鑰/值對**，新增兩個金鑰：
  + 第一個金鑰，`SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME` 然後針對值輸入 AD 使用者的名稱 (不含網域字首)。
  + 針對第二個金鑰，輸入 `SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD` 並輸入網域上 AD 使用者的密碼。
+ 針對**加密金鑰**，輸入您用來建立 RDS Custom for SQL Server 執行個體的相同 AWS KMS 金鑰。
+ 針對**秘密名稱**，選擇以 `do-not-delete-rds-custom-` 開頭的秘密名稱，以允許執行個體設定檔存取此秘密。如果您想要為秘密選擇不同的名稱，請更新 `RDSCustomInstanceProfile` 以存取**秘密名稱**。
+ (選用) 對於**描述**，輸入秘密名稱的描述。
+ 新增標籤 `Key="AWSRDSCustom",Value="custom-sqlserver"` 
+ 按一下**儲存**，然後按**下一步**。
+ 對於**設定輪換設定**，保留預設值並選擇**下一步**。
+ 檢閱秘密的設定，然後按一下**存放**。
+ 選擇新的秘密，然後複製**秘密 ARN** 的值。我們會在下一個步驟中使用此項目來設定您的 Active Directory。

------
#### [ CLI ]

在 CLI 中執行以下命令來建立秘密：

```
# Linux based
aws secretsmanager create-secret \
--name do-not-delete-rds-custom-DomainUserCredentails \ 
--description "Active directory user credentials for managing RDS Custom" \ 
--secret-string "{\"SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"tester\",\"SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"xxxxxxxx\"}" \
--kms-key-id <RDSCustomKMSKey> \
--tags Key="AWSRDSCustom",Value="custom-sqlserver"

# Windows based
aws secretsmanager create-secret ^
--name do-not-delete-rds-custom-DomainUserCredentails ^ 
--description "Active directory user credentials for managing RDS Custom" ^
--secret-string "{\"SELF_MANAGED_ACTIVE_DIRECTORY_USERNAME\":\"tester\",\"SELF_MANAGED_ACTIVE_DIRECTORY_PASSWORD\":\"xxxxxxxx\"}" ^
--kms-key-id <RDSCustomKMSKey> ^
--tags Key="AWSRDSCustom",Value="custom-sqlserver"
```

------

## 步驟 5：建立或修改 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-sqlserver-WinAuth.settingUp.CreateDBInstance"></a>

建立或修改要搭配您目錄使用的 RDS Custom for SQL Server 資料庫執行個體。您可以使用主控台、CLI 或 RDS API，將資料庫執行個體與目錄建立關聯。您可採用下列其中一種方式來這麼做：
+ 使用主控台、[create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html) CLI 命令，或 [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html) RDS API 操作，建立新的 SQL Server 資料庫執行個體。

  如需說明，請參閱「[建立 Amazon RDS 資料庫執行個體](USER_CreateDBInstance.md)」。
+ 使用主控台、[modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI 命令，或 [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) RDS API 操作，修改現有的 SQL Server 資料庫執行個體。

  如需說明，請參閱「[修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)」。
+ 使用主控台、[restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) CLI 命令，或 [RestoreDBInstanceFromDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html) RDS API 操作，從資料庫快照還原 SQL Server 資料庫執行個體。

  如需說明，請參閱「[還原至資料庫執行個體](USER_RestoreFromSnapshot.md)」。
+ 使用主控台、[restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) CLI 命令，或 [RestoreDBInstanceToPointInTime](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html) RDS API 操作，將 SQL Server 資料庫執行個體還原至某個時間點。

  如需說明，請參閱「[將 Amazon RDS 的資料庫執行個體還原至指定時間](USER_PIT.md)」。

**注意**  
如果您的 RDS Custom for SQL Server 執行個體已手動加入 AD，請檢查 [網路組態連接埠規則](custom-sqlserver-WinAuth.NWConfigPorts.md)、[網路驗證](custom-sqlserver-WinAuth.NWValidation.md) 的設定，並完成步驟 1 到步驟 4。將 `--domain-fqdn`、`--domain-ou` 和 `--domain-auth-secret-arn` 更新為您的 AD，以便向 RDS Custom 註冊網域聯結憑證和組態，以監控、註冊 CNAME，並採取復原動作。

使用 AWS CLI 時，需要下列參數，資料庫執行個體才能使用您建立的目錄：
+ 對於 `--domain-fqdn` 參數，使用自我管理 AD 的完整網域名稱。
+ 對於 `--domain-ou` 參數，使用您在自我管理 AD 中建立的 OU。
+ 對於 `--domain-auth-secret-arn` 參數，使用您所建立之**秘密 ARN** 的值。

**重要**  
如果您修改資料庫執行個體，以將其加入自我管理 AD 網域或 AWS Managed Microsoft AD 或從中移除，則需要重新啟動資料庫執行個體，修改才會生效。您可以選擇立即套用變更，也可以等到下一個維護時段。選擇**立即套用**選項會導致單一可用區域資料庫執行個體停機。多可用區域資料庫叢集會在完成重新啟動之前執行容錯移轉。如需更多詳細資訊，請參閱 [修改 Amazon RDS 資料庫執行個體](Overview.DBInstance.Modifying.md)。

下列 CLI 命令會建立新的 RDS Custom for SQL Server 資料庫執行個體，並將其加入自我管理或 AWS Managed Microsoft AD 網域。

在 Linux、macOS 或 Unix 中：

```
aws rds create-db-instance  \
--engine custom-sqlserver-se \
--engine-version 15.00.4312.2.v1 \
--db-instance-identifier my-custom-instance \
--db-instance-class db.m5.large \
--allocated-storage 100 --storage-type io1 --iops 1000 \
--master-username my-master-username \
--master-user-password my-master-password \
--kms-key-id  my-RDSCustom-key-id \
--custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance  \
--domain-fqdn "corp.example.com" \
--domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" \
--domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" \
--db-subnet-group-name my-DB-subnet-grp \
--vpc-security-group-ids  my-securitygroup-id \
--no-publicly-accessible \
--backup-retention-period 3 \
--port 8200 \
--region us-west-2 \
--no-multi-az
```

在 Windows 中：

```
aws rds create-db-instance  ^
--engine custom-sqlserver-se ^
--engine-version 15.00.4312.2.v1 ^
--db-instance-identifier my-custom-instance ^
--db-instance-class db.m5.large ^
--allocated-storage 100 --storage-type io1 --iops 1000 ^
--master-usernamemy-master-username ^
--master-user-password my-master-password ^
--kms-key-id  my-RDSCustom-key-id ^
--custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance  ^
--domain-fqdn "corp.example.com" ^
--domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" ^
--domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" ^
--db-subnet-group-name my-DB-subnet-grp ^
--vpc-security-group-ids  my-securitygroup-id ^
--no-publicly-accessible ^
--backup-retention-period 3 ^
--port 8200 ^
--region us-west-2 ^
--no-multi-az
```

**重要**  
如果您 AWS Managed Microsoft AD 的 NetBIOS 是 **corpexample**，則會顯示為 OU 本身。任何先前建立的新 OU 都會顯示為巢狀 OU。針對 AWS Managed Microsoft AD，將 `--domain-ou` 設定為 `"OU=RDSCustomOU,OU=corpexample,DC=corp,DC=example,DC=com"`。

下列命令會修改現有的 RDS Custom for SQL Server 資料庫執行個體，以使用 Active Directory 網域。

在 Linux、macOS 或 Unix 中：

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --domain-fqdn "corp.example.com" \
    --domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" \
    --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" \
```

在 Windows 中：

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --domain-fqdn "corp.example.com" ^
    --domain-ou "OU=RDSCustomOU,DC=corp,DC=example,DC=com" ^
    --domain-auth-secret-arn "arn:aws:secretsmanager:region:account-number:secret:do-not-delete-rds-custom-my-AD-test-secret-123456" ^
```

下列 CLI 命令會從 Active Directory 網域中移除 RDS Custom for SQL Server 資料庫執行個體。

在 Linux、macOS 或 Unix 中：

```
aws rds modify-db-instance \
    --db-instance-identifier my-custom-instance \
    --disable-domain
```

在 Windows 中：

```
aws rds modify-db-instance ^
    --db-instance-identifier my-custom-instance ^
    --disable-domain
```

使用主控台建立或修改執行個體時，請按一下**啟用 Microsoft SQL Server Windows 身分驗證**，以查看下列選項。

![\[Microsoft SQL Server Windows 身分驗證目錄\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/custom-sqs-WinAuth.png)


您有責任確保您的網域 FQDN 正在解析為網域控制器 IP 位址。如果網域控制器 IP 未解析，網域聯結作業就會失敗，但 RDS Custom for SQL Server 執行個體建立會成功。如需故障診斷資訊，請參閱[故障診斷 Active Directory](custom-sqlserver-WinAuth.Troubleshoot.md)。

## 步驟 6：建立 Windows 身分驗證 SQL Server 登入
<a name="custom-sqlserver-WinAuth.settingUp.CreateLogins"></a>

使用 Amazon RDS 主要使用者憑證來連線至 SQL Server 資料庫執行個體，如同您對任何其他資料庫執行個體所做一般。因為資料庫執行個體已加入 AD 網域，您可以佈建 SQL Server 登入和使用者。您可以從 AD 網域中的 AD 使用者和群組公用程式執行此作業。您可透過對這些 Windows 登入授予和撤銷的標準 SQL Server 許可來管理資料庫許可。

若要讓 AD 使用者向 SQL Server 進行身分驗證，必須存在 AD 使用者或使用者為其成員之 Active Directory 群組的 SQL Server Windows 登入。精細定義的存取控制是透過授予和撤銷這些 SQL Server 登入的許可來處理。沒有 SQL Server 登入或屬於具有此類登入的 AD 群組的 AD 使用者無法存取 SQL Server 資料庫執行個體。

需要 `ALTER ANY LOGIN` 許可才能建立 AD SQL Server 登入。如果您尚未使用此許可建立任何登入，請使用 SQL Server 身分驗證，以資料庫執行個體的主要使用者身分連線，並在主要使用者的內容下建立 AD SQL Server 登入。

您可以執行如下的資料定義語言 (DDL) 命令，為 AD 使用者或群組建立 SQL Server 登入。

```
USE [master]
GO
CREATE LOGIN [mydomain\myuser] FROM WINDOWS WITH DEFAULT_DATABASE = [master], DEFAULT_LANGUAGE = [us_english];
GO
```

來自您網域的使用者 (人員和應用程式兩者)，現在可以使用 Windows 身分驗證從加入網域的用戶端機器連接至 RDS Custom for SQL Server 執行個體。

## 步驟 7：使用 Kerberos 或 NTLM 身分驗證
<a name="custom-sqlserver-WinAuth.settingUp.KerbNTLM"></a>

### 使用 RDS 端點的 NTLM 身分驗證
<a name="custom-sqlserver-WinAuth.settingUp.KerbNTLM.NTLM"></a>

每個 Amazon RDS 資料庫執行個體都有端點，並且每個端點有資料庫執行個體的 DNS 名稱和連接埠號碼。若要使用 SQL 用戶端應用程式連線至您的資料庫執行個體，您需要資料庫執行個體的 DNS 名稱和連接埠號碼。若要使用 NTLM 身分驗證進行身分驗證，您必須連線至 RDS 端點。

在規劃的資料庫維護或未規劃的服務中斷期間，Amazon RDS 會自動容錯移轉到最新的次要資料庫，以便操作可以很快繼續執行，而無須人為介入。主要與次要執行個體會使用相同的端點，其實體網路會處理轉換至次要的作業，做為容錯移轉程序的一部分。當容錯移轉發生時，您不必重新設定應用程式。

### Kerberos 身分驗證
<a name="custom-sqlserver-WinAuth.settingUp.KerbNTLM.Kerb"></a>

RDS Custom for SQL Server 的 Kerberos 型身分驗證需要提供特定服務主體名稱 (SPN) 的連線。不過，容錯移轉事件之後，應用程式可能不知道新的 SPN。為了解決此問題，RDS Custom for SQL Server 提供 Kerberos 型端點。

Kerberos 型端點遵循特定格式。如果您的 RDS 端點為 `rds-instance-name.account-region-hash.aws-region.rds.amazonaws.com`，則對應的 Kerberos 型端點將為 `rds-instance-name.account-region-hash.aws-region.awsrds.fully qualified domain name (FQDN)`。

例如，如果 RDS 端點為 `ad-test.cocv6zwtircu.us-east-1.rds.amazonaws.com`，且網域名稱為 `corp-ad.company.com`，則 Kerberos 型端點將為 `ad-test.cocv6zwtircu.us-east-1.awsrds.corp-ad.company.com`。

此 Kerberos 型端點可以使用 Kerberos 與 SQL Server 執行個體進行驗證，即使在容錯移轉事件之後也一樣，因為端點會自動更新，以指向主要 SQL Server 執行個體的新 SPN。

### 尋找您的 CNAME
<a name="custom-sqlserver-WinAuth.settingUp.KerbNTLM.CNAME"></a>

若要尋找 CNAME，請連線至您的網域控制器，並開啟 **DNS Manager**。導覽至**轉送查詢區域**和您的 FQDN。

導覽 **awsrds**、**aws-region** 以及**帳戶和區域特定的雜湊**。

如果您要連接 RDS Custom EC2 執行個體，並嘗試使用 CNAME 在本機連線至資料庫，則您的連線將使用 NTLM 身分驗證，而不是 Kerberos。

如果從遠端用戶端連線 CNAME 之後傳回 NTLM 連線，請檢查是否允許列出必要的連接埠。

如果要檢查您的連線使用的是 Kerberos，請執行下列查詢：

```
SELECT net_transport, auth_scheme
    FROM sys.dm_exec_connections
    WHERE session_id = @@SSPID;
```

# 管理網域中的資料庫執行個體
<a name="custom-sqlserver-WinAuth.ManagingDBI"></a>

 您可以使用主控台、AWS CLI 或 Amazon RDS API 來管理資料庫執行個體，以及其與網域的關係。例如，您可以將資料庫執行個體移入、移出或移至網域之間。

 例如，使用 Amazon RDS API，您可以執行下列動作：
+  若要對失敗的成員資格重新嘗試加入網域，請使用 [ModifyDBInstance API](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 操作，並指定目前成員資格的目錄 ID。
+  如要更新成員資格的 IAM 角色名稱，請使用 `ModifyDBInstance` API 操作並指定目前成員資格的目錄 ID，以及新的 IAM 角色。
+  若要從網域移除資料庫執行個體，請使用 `ModifyDBInstance` API 操作，並指定 `none` 做為網域參數。
+  如要在網域之間移動資料庫執行個體，請使用 `ModifyDBInstance` API 操作，並指定新網域的網域識別符做為網域參數。
+  若要列出每個資料庫執行個體的成員資格，請使用 [DescribeDBInstances](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/DescribeDBInstances.html) API 操作。

## 還原 RDS Custom for SQL Server 資料庫執行個體，然後將其新增至 Active Directory 網域
<a name="custom-sqlserver-WinAuth.ManagingDBI.Restoring"></a>

您可以還原資料庫快照或為 SQL Server 資料庫執行個體執行時間點復原 (PITR)，然後將其新增至 Active Directory 網域。一旦還原資料庫執行個體，請使用 [步驟 5：建立或修改 RDS Custom for SQL Server 資料庫執行個體](custom-sqlserver-WinAuth.settingUp.md#custom-sqlserver-WinAuth.settingUp.CreateDBInstance) 中的說明程序來修改執行個體，以將資料庫執行個體新增至 AD 網域。

# 了解網域成員資格
<a name="custom-sqlserver-WinAuth.Understanding"></a>

 在您建立或修改資料庫執行個體之後，執行個體會成為網域的成員。AWS 主控台指出資料庫執行個體之網域成員資格的狀態。資料庫執行個體的狀態可以是下列其中一個：
+  **已加入** – 執行個體是網域的成員。
+  **加入中** – 執行個體正處於成為網域成員的程序中。
+  **加入待定** – 執行個體成員資格待定。
+  **維護加入待定** – AWS 將嘗試在下一個排定的維護時段讓執行個體成為網域的成員。
+  **移除待定** – 從網域移除執行個體待定。
+  **維護移除待定** – AWS 將嘗試在下一個排定的維護時段從網域移除執行個體。
+  **失敗** – 組態問題讓執行個體無法加入網域。請在重新發出執行個體修改命令之前檢查並修正您的組態。
+  **移除中** – 正在從網域移除執行個體。

因為網路連線問題或 IAM 角色不正確，成為網域成員的請求可能失敗。例如，您可以建立一個資料庫執行個體或修改現有執行個體，並嘗試讓資料庫執行個體失敗，以便成為網域的成員。在此情況下，請重新發出命令以建立或修改資料庫執行個體，或修改新建立的執行個體以加入網域。

# 故障診斷 Active Directory
<a name="custom-sqlserver-WinAuth.Troubleshoot"></a>

以下是您在設定或修改 AD 時可能會遇到的問題。


| 錯誤程式碼 | 描述 | 常見原因 | 故障診斷建議 | 
| --- | --- | --- | --- | 
| 錯誤 2 / 0x2 | 系統找不到指定的檔案。 | 使用 `—domain-ou` 參數指定的組織單位 (OU) 的格式或位置無效。透過 AWS Secrets Manager 指定的網域服務帳戶缺少加入 OU 所需的許可。 | 檢閱 `—domain-ou` 參數。確定網域服務帳戶具有 OU 的正確許可。 | 
| 錯誤 5 / 0x5 | 存取遭拒。 | 網域服務帳戶的許可設定錯誤，或網域中已存在電腦帳戶。 | 檢閱網域中的網域服務帳戶許可，並確認網域中沒有重複的 RDS 電腦帳戶。您可以在 RDS Custom for SQL Server 資料庫執行個體上執行 `SELECT @@SERVERNAME`，以驗證 RDS 電腦帳戶的名稱。如果您使用多可用區域，請嘗試透過容錯移轉重新開機，然後再次驗證 RDS 電腦帳戶。如需更多詳細資訊，請參閱 [在資料庫執行個體](USER_RebootInstance.md)。 | 
| 錯誤 87 / 0x57 | 參數不正確。 | 透過 AWS Secrets Manager 指定的網域服務帳戶沒有正確的許可。使用者設定檔也可能已損毀。 | 檢閱網域服務帳戶的需求。 | 
| 錯誤 234 / 0xEA | 指定的組織單位 (OU) 不存在。 | 使用 `—domain-ou` 參數指定的 OU 不存在於 AD 中。 | 檢閱 `—domain-ou` 參數，並確保指定的 OU 存在於您的 AD 中。 | 
| 錯誤 1326 / 0x52E | 使用者名稱或密碼不正確。 | AWS Secrets Manager 中提供的網域服務帳戶憑證包含未知的使用者名稱或錯誤的密碼。也可能在您的 AD 中停用了網域帳戶。 | 請確定 AWS Secrets Manager 中提供的憑證是正確的，而且網域帳戶已在 Active Directory 中啟用。 | 
| 錯誤 1355 / 0x54B | 指定的網域不存在或無法聯絡。 | 網域已關閉、指定的 DNS IP 集無法連線，或指定的 FQDN 無法連線。 | 檢閱 `—domain-dns-ips` 和 `—domain-fqdn` 參數以確定其正確無誤。檢閱 RDS Custom for SQL Server 資料庫執行個體的網路組態，並確定可連線到您的 AD。 | 
| 錯誤 1722 / 0x6BA | RPC 伺服器無法使用。 | 連線 AD 網域的 RPC 服務時發生問題。這可能是服務或網路問題。 | 驗證 RPC 服務是否正在您的網域控制器上執行，以及 TCP 連接埠 `135` 和 `49152-65535` 是否可在網域上，從 RDS Custom for SQL Server 資料庫執行個體進行連線。 | 
| 錯誤 2224 / 0x8B0 | 使用者帳戶已存在。 | 嘗試新增至 AD 的電腦帳戶已存在。 | 在 RDS Custom for SQL Server 資料庫執行個體上執行 `SELECT @@SERVERNAME`，來識別電腦帳戶，然後小心地將其從 AD 中移除。 | 
| 錯誤 2242 / 0x8c2 | 此使用者的密碼已過期。 | 透過 AWS Secrets Manager 所指定之網域服務帳戶的密碼已過期。 | 更新網域服務帳戶的密碼，此帳戶用來將 RDS Custom for SQL Server 資料庫執行個體加入 AD。 | 

# 管理 RDS Custom for SQL Server 的多可用區部署
<a name="custom-sqlserver-multiaz"></a>

 在 RDS Custom for SQL Server 的多可用區域資料庫執行個體部署中，Amazon RDS 會自動佈建，並在不同的可用區域 (AZ) 中維持同步待命複本。主要資料庫執行個體會在待命複本的可用區域間進行同步複製，以提供資料備援。

**重要**  
RDS Custom for SQL Server 的多可用區部署與 RDS for SQL Server 的異地同步備份不同。不同於 RDS for SQL Server 的異地同步備份，您必須先設定 RDS Custom for SQL Server 先決條件，才能建立異地同步備份資料庫執行個體，因為 RDS Custom 會在您自己的帳戶內執行，因此需要使用權限。  
若您未完成先決條件，異地同步備份資料庫執行個體就可能無法執行，或自動還原為單一可用區資料庫執行個體。如需先決條件的詳細資訊，請參閱 [RDS Custom for SQL Server 多可用區部署的先決條件](custom-sqlserver-multiaz.prerequisites.md)。

執行具有高可用性的資料庫執行個體，可以在規劃好的系統維護期間增強可用性。在進行已規劃的資料庫維護或發生意外的服務中斷時，Amazon RDS 會自動容錯移轉到最新的次要資料庫執行個體。此功能可讓資料庫操作迅速恢復，而不需要手動介入。主要和待命執行個體使用相同的端點，而此端點的實體網路地址在容錯移轉過程中會轉移到次要複本。當容錯移轉發生時，您不必重新設定應用程式。

![\[RDS Custom for SQL Server 支援異地同步備份。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/custom-sqlserver-multiaz-architecture.png)


您可以在建立 RDS Custom 資料庫執行個體時指定異地同步備份，以建立 RDS Custom for SQL Server 多可用區部署。您可以使用主控台，藉由修改資料庫執行個體並指定多可用區域選項，將現有 RDS Custom for SQL Server 資料庫執行個體轉換為異地同步備份部署。您也可以使用 AWS CLI 或 Amazon RDS API 來指定多可用區域資料庫執行個體部署。

RDS 主控台會顯示待命複本的可用區域 (次要 AZ)。您也可以使用 `describe-db-instances` CLI 命令或 `DescribeDBInstances` API 操作來尋找次要 AZ。

相較於單一可用區域部署，多可用區部署的 RDS Custom for SQL Server 資料庫執行個體會有增加的寫入和遞交延遲。這可能是資料庫執行個體之間的同步資料複寫造成。儘管 AWS 在可用區域間設計了低延遲網路連線，但如果您的部署容錯移轉到待命複本，延遲時間可能會變更。

**注意**  
對於生產應用程式，我們建議使用佈建 IOPS (每秒輸入/輸出操作) 資料庫執行個體類別來取得快速、一致的效能。如需資料庫執行個體類別的詳細資訊，請參閱 [Amazon RDS Custom for SQL Server 的需求和限制](custom-reqs-limits-MS.md)。

**Topics**
+ [區域和版本可用性](#custom-sqlserver-multiaz.regionversion)
+ [RDS Custom for SQL Server 多可用區部署的限制](#custom-sqlserver-multiaz.limitations)
+ [RDS Custom for SQL Server 多可用區部署的先決條件](custom-sqlserver-multiaz.prerequisites.md)
+ [建立 RDS Custom for SQL Server 多可用區部署](#custom-sqlserver-multiaz.creating)
+ [將 RDS Custom for SQL Server 單一可用區部署修改為多可用區部署](custom-sqlserver-multiaz.modify-saztomaz.md)
+ [將 RDS Custom for SQL Server 多可用區部署修改為單一可用區部署](custom-sqlserver-multiaz.modify-maztosaz.md)
+ [RDS Custom for SQL Server 多可用區部署的容錯移轉程序](custom-sqlserver-multiaz.failover.md)

## 區域和版本可用性
<a name="custom-sqlserver-multiaz.regionversion"></a>

下列 SQL Server 版次支援 RDS Custom for SQL Server 的多可用區部署：
+ SQL Server 2022 和 2019：Enterprise、Standard、Web 和 Developer Edition

**注意**  
SQL Server 2019 CU8 (15.00.4073.23) 或更低版本不支援 RDS Custom for SQL Server 的多可用區域部署。

RDS Custom for SQL Server 的多可用區部署可在所有可用 RDS Custom for SQL Server 的區域使用。如需詳細了解 RDS Custom for SQL Server 多可用區部署的區域可用性，請參閱 [支援的 RDS Custom for SQL Server 區域和資料庫引擎](Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.md#Concepts.RDS_Fea_Regions_DB-eng.Feature.RDSCustom.sq)。

## RDS Custom for SQL Server 多可用區部署的限制
<a name="custom-sqlserver-multiaz.limitations"></a>

RDS Custom for SQL Server 多可用區部署具有下列限制：
+ 不支援跨區域多可用區部署。
+ 您無法設定次要資料庫執行個體來接受資料庫讀取活動。
+ 當您搭配使用自訂引擎版本 (CEV) 與多可用區部署時，次要資料庫執行個體也會使用相同的 CEV。次要資料庫執行個體不能使用不同的 CEV。

# RDS Custom for SQL Server 多可用區部署的先決條件
<a name="custom-sqlserver-multiaz.prerequisites"></a>

如果您有現有的 RDS Custom for SQL Server 單一可用區部署，您需要下列其他先決條件，才能將其修改為多可用區部署。您可以選擇手動完成先決條件，或使用提供的 CloudFormation 範本。最新的 CloudFormation 範本包含單一可用區和多可用區部署的先決條件。

**重要**  
若要簡化設定，建議您使用網路設定指示中提供的最新 CloudFormation 範本檔案來建立先決條件。如需更多詳細資訊，請參閱 [使用 設定 CloudFormation](custom-setup-sqlserver.md#custom-setup-sqlserver.cf)。

**注意**  
當您將現有 RDS Custom for SQL Server 單一可用區部署修改為多可用區部署時，您必須完成這些先決條件。若您未完成先決條件，不可進行多可用區設定。請遵循 [將 RDS Custom for SQL Server 單一可用區部署修改為多可用區部署](custom-sqlserver-multiaz.modify-saztomaz.md) 中的步驟以完成先決條件。
+ 更新 RDS 安全群組輸入和輸出規則，以允許連接埠 1120。
+ 在您的私人網路存取控制清單 (ACL) 中新增規則，以允許資料庫執行個體 VPC 使用 TCP 連接埠 `0-65535`。
+ 建立新的 Amazon SQS VPC 端點，讓 RDS Custom for SQL Server 資料庫執行個體與 SQS 通訊。
+ 更新執行個體設定檔角色中的 SQS 權限。

## 建立 RDS Custom for SQL Server 多可用區部署
<a name="custom-sqlserver-multiaz.creating"></a>

若要建立 RDS Custom for SQL Server 多可用區部署，請遵循 [建立並連線至 Amazon RDS Custom for SQL Server 的資料庫執行個體](custom-creating-sqlserver.md) 中的步驟。

**重要**  
若要簡化設定，建議您使用網路設定指示中提供的最新 CloudFormation 範本檔案。如需更多詳細資訊，請參閱 [使用 設定 CloudFormation](custom-setup-sqlserver.md#custom-setup-sqlserver.cf)。

多可用區部署的建立需要幾分鐘。

# 將 RDS Custom for SQL Server 單一可用區部署修改為多可用區部署
<a name="custom-sqlserver-multiaz.modify-saztomaz"></a>

您可以將現有 RDS Custom for SQL Server 資料庫執行個體從單一可用區部署修改為多可用區部署。當您修改資料庫執行個體時，Amazon RDS 會執行多個動作：
+ 拍攝主要資料庫執行個體的快照。
+ 從快照為待命複本建立新磁碟區。這些磁碟區會在背景中初始化，並在資料完全初始化之後達到最大磁碟區效能。
+ 開啟主要和次要資料庫執行個體之間的同步區塊層級複本。

**重要**  
建議您避免在尖峰活動期間，將 RDS Custom for SQL Server 資料庫執行個體從單一可用區修改為生產資料庫執行個體上的多可用區部署。

AWS 當您從單一可用區轉換為異地同步備份時， 會使用快照來建立待命執行個體，以避免停機時間，但在轉換為異地同步備份期間和之後，效能可能會受到影響。對於對寫入延遲敏感的工作負載而言，這個影響可能很重大。雖然此功能可以從快照中快速還原大量磁碟區，但由於是同步複寫，可能會導致 I/O 作業延遲。此延遲可能會影響您的資料庫效能。

**注意**  
如果您在 2024 年 8 月 29 日之前建立 RDS Custom for SQL Server 資料庫執行個體，在修改之前，請修補至最新的次要版本。  
針對 SQL Server 2019 執行個體，請將資料庫引擎版本升級至 `15.00.4410.1.v1` 或更高版本。
針對 SQL Server 2022 執行個體，請將資料庫引擎版本升級至 `16.00.4150.1.v1` 或更高版本。

**Topics**
+ [設定先決條件，以使用 CloudFormation 將單一可用區修改為多可用區部署](#custom-sqlserver-multiaz.modify-saztomaz-prereqs.cf)
+ [設定先決條件，以手動將單一可用區修改為多可用區部署](#custom-sqlserver-multiaz.modify-saztomaz-prereqs.manual)
+ [使用 RDS 主控台、 AWS CLI 或 RDS API 修改 。](#custom-sqlserver-multiaz.modify-saztomaz-afterprereqs)

## 設定先決條件，以使用 CloudFormation 將單一可用區修改為多可用區部署
<a name="custom-sqlserver-multiaz.modify-saztomaz-prereqs.cf"></a>

若要使用多可用區部署，請確保您已套用具有先決條件的最新 CloudFormation 範本，或手動設定最新的先決條件。若您已套用最新的 CloudFormation 先決條件範本，可以略過這些步驟。

使用 CloudFormation 設定 RDS Custom for SQL Server 多可用區部署先決條件

1. 開啟位於 https：//[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) 的 CloudFormation 主控台。

1. 若要啟動「建立堆疊」精靈，請選取您用來建立單一可用區部署的現有堆疊，然後選擇**更新**。

   **建立堆疊**頁面隨即出現。

1. 對於**先決條件 - 準備範本**，請選擇**取代現有範本**。

1. 針對 **Specify template** 執行下列操作：

   1. 下載最新的 CloudFormation 範本檔案。開啟連結 [custom-sqlserver-onboard.zip](samples/custom-sqlserver-onboard.zip) 的內容 (滑鼠右鍵) 功能表，然後選擇 **Save Link As** (另存連結為)。

   1. 將 `custom-sqlserver-onboard.json` 檔案儲存並擷取到您的電腦。

   1. 針對 **Template source** (範本來源)，選擇 **Upload a template file** (上傳範本檔案)。

   1. 針對 **Choose file** (選擇檔案)，導覽至 `custom-sqlserver-onboard.json` 並加以選擇。

1. 選擇**下一步**。

   **Specify stack details** (指定堆疊詳細資訊) 頁面隨即出現。

1. 若要保留預設選項，請選擇 **Next** (下一步)。

   **進階選項**頁面旋即出現。

1. 若要保留預設選項，請選擇 **Next** (下一步)。

1. 若要保留預設選項，請選擇 **Next** (下一步)。

1. 在**檢閱變更**頁面上，執行下列動作：

   1. 針對 **Capabilities (功能)**，選取 ****I acknowledge that CloudFormation might create IAM resources with custom names**** (確認可能使用自訂名稱建立 IAM 資源) 核取方塊。

   1. 選擇**提交**。

1. 確認更新是否成功。成功作業的狀態會顯示 `UPDATE_COMPLETE`。

如果更新失敗，更新過程指定的任何新組態都會復原。現有的資源仍然可以使用。例如，如果您新增編號為 18 和 19 的網路 ACL 規則，但現有規則的編號相同，則更新會傳回下列錯誤：`Resource handler returned message: "The network acl entry identified by 18 already exists.` 在此情況中，您可以將現有 ACL 規則修改為使用小於 18 的數字，然後重試更新。

## 設定先決條件，以手動將單一可用區修改為多可用區部署
<a name="custom-sqlserver-multiaz.modify-saztomaz-prereqs.manual"></a>

**重要**  
為了簡化設定，我們建議您使用網路設定說明中提供的最新 CloudFormation 範本檔案。如需詳細資訊，請參閱[設定先決條件，以使用 CloudFormation 將單一可用區修改為多可用區部署](#custom-sqlserver-multiaz.modify-saztomaz-prereqs.cf)。

如果您選擇手動設定先決條件，請執行以下任務。

1. 在 [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) 開啟 Amazon VPC 主控台。

1. 選擇**端點**。**Create Endpoint** (建立端點) 頁面隨即出現。

1. 在**服務類別**中，選擇​ **AWS 服務**。

1. 在**服務**中，搜尋 *SQS*

1. 在 **VPC** 中，選擇部署 RDS Custom for SQL Server 資料庫執行個體的 VPC。

1. 在**子網路**中，選擇部署 RDS Custom for SQL Server 資料庫執行個體的子網路。

1. 在**安全群組**中，選擇 *-vpc-endpoint-sg* 群組。

1. 針對**政策**，選擇**自訂**

1. 在您的自訂政策中，以您自己的值取代 *AWS 分割區*、*區域*、*accountId* 和 *IAM-Instance-role*。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Condition": {
                   "StringLike": {
                       "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver"
                   }
               },
               "Action": [
                   "SQS:SendMessage",
                   "SQS:ReceiveMessage",
                   "SQS:DeleteMessage",
                   "SQS:GetQueueUrl"
               ],
               "Resource": "arn:aws:sqs:us-east-1:111122223333:do-not-delete-rds-custom-*",
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:role/{IAM-Instance-role}"
               }
           }
       ]
   }
   ```

------

1.  以 Amazon SQS 存取權限更新**執行個體設定檔**。以您自己的值取代 *AWS 分割區*、*區域* 和 *accountId*。

   ```
                           {
       "Sid": "SendMessageToSQSQueue",
       "Effect": "Allow",
       "Action": [
         "SQS:SendMessage",
         "SQS:ReceiveMessage",
         "SQS:DeleteMessage",                                    
         "SQS:GetQueueUrl"
   
       ],
       "Resource": [
         {
           "Fn::Sub": "arn:${AWS::Partition}:sqs:${AWS::Region}:${AWS::AccountId}:do-not-delete-rds-custom-*"
         }
       ],
       "Condition": {
         "StringLike": {
           "aws:ResourceTag/AWSRDSCustom": "custom-sqlserver"
         }
       }
     } 
                           >
   ```

1. 更新 Amazon RDS 安全群組輸入和輸出規則，以允許連接埠 1120。

   1. 在**安全群組**中，選擇 *-rds-custom-instance-sg* 群組。

   1. 針對**輸入規則**，請建立**自訂 TCP** 規則，以允許來自來源 *-rds-custom-instance-sg* 群組的連接埠 *1120*。

   1. 針對**輸出規則**，請建立**自訂 TCP** 規則，以允許到目的地 *-rds-custom-instance-sg* 群組的連接埠 *1120*。

1. 在您的私人網路存取控制清單 (ACL) 中新增規則，以允許資料庫執行個體的來源子網路使用 TCP 連接埠 `0-65535`。
**注意**  
建立**輸入規則**和**輸出規則**時，請記下現有最高的**規則編號**。您建立的新規則必須具有小於 100 的**規則編號**，且不重複任何現有的**規則編號**。

   1. 在**網路 ACL** 中，選擇 *-private-network-acl* 群組。

   1. 針對**輸入規則**，請建立**所有 TCP** 規則，以允許來自來源 *privatesubnet1* 和 *privatesubnet2* 的 TCP 連接埠 `0-65535`。

   1. 針對**輸出規則**，請建立**所有 TCP** 規則，以允許到目的地 *privatesubnet1* 和 *privatesubnet2* 的 TCP 連接埠 `0-65535`。

## 使用 RDS 主控台、 AWS CLI 或 RDS API 修改 。
<a name="custom-sqlserver-multiaz.modify-saztomaz-afterprereqs"></a>

完成先決條件後，您可以使用 RDS 主控台、 AWS CLI 或 RDS API，將 RDS Custom for SQL Server 資料庫執行個體從單一可用區修改為多可用區部署。

### 主控台
<a name="custom-sqlserver-multiaz.modify-saztomaz.Console"></a>

**將現有 RDS Custom for SQL Server 單一可用區修改為多可用區部署**

1. 登入 AWS 管理主控台 ，並在 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)：// 開啟 Amazon RDS 主控台。

1. 在 Amazon RDS 主控台，選擇 **Databases (資料庫)**。

   **Databases (資料庫)** 窗格隨即出現。

1. 選擇您想要修改的 RDS Custom for SQL Server 資料庫執行個體。

1. 從**動作**中，選擇**轉換為多可用區部署**。

1. 在**確認**頁面上，選擇**立即套用**，來立即套用變更。選擇此選項並不會產生停機時間，但可能會對效能產生影響。或者，您也可以選擇在下個維護時段套用更新。如需詳細資訊，請參閱[使用排程修改設定](USER_ModifyInstance.ApplyImmediately.md)。

1. 在**確認**頁面上，選擇**轉換為多可用區**。

### AWS CLI
<a name="custom-sqlserver-multiaz.modify-saztomaz.CLI"></a>

若要使用 轉換為多可用區域資料庫執行個體部署 AWS CLI，請呼叫 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 命令並設定 `--multi-az`選項。指定資料庫執行個體識別符，以及您要修改的其他選項值。如需每個選項的詳細資訊，請參閱[資料庫執行個體的設定](USER_ModifyInstance.Settings.md)。

**Example**  
下列代碼包含 `--multi-az` 選項，以修改 `mycustomdbinstance`。使用 `--no-apply-immediately`，會在下一次維護時段期間由系統套用變更。使用 `--apply-immediately` 可立即套用變更。如需詳細資訊，請參閱[使用排程修改設定](USER_ModifyInstance.ApplyImmediately.md)。  
在 Linux、macOS 或 Unix 中：  

```
aws rds modify-db-instance \
    --db-instance-identifier mycustomdbinstance \
    --multi-az \
    --no-apply-immediately
```
在 Windows 中：  

```
aws rds modify-db-instance ^
    --db-instance-identifier mycustomdbinstance ^
    --multi-az  \ ^
    --no-apply-immediately
```

### RDS API
<a name="custom-sqlserver-multiaz.modify-saztomaz.API"></a>

若要使用 RDS API 轉換為多個可用區資料庫執行個體部署，請呼叫 [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 操作，並將 `MultiAZ` 參數設為 true。

# 將 RDS Custom for SQL Server 多可用區部署修改為單一可用區部署
<a name="custom-sqlserver-multiaz.modify-maztosaz"></a>

您可以將現有 RDS Custom for SQL Server 資料庫執行個體從多可用區部署修改為單一可用區部署。

## 主控台
<a name="custom-sqlserver-multiaz.modify-maztosaz.Console"></a>

**將 RDS Custom for SQL Server 資料庫執行個體從多可用區部署修改為單一可用區部署。**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在 Amazon RDS 主控台，選擇 **Databases (資料庫)**。

   **Databases (資料庫)** 窗格隨即出現。

1. 選擇您想要修改的 RDS Custom for SQL Server 資料庫執行個體。

1. 針對**多可用區部署**，請選擇**否**。

1. 在**確認**頁面上，選擇**立即套用**，來立即套用變更。選擇此選項並不會產生停機時間，但可能會對效能產生影響。或者，您也可以選擇在下個維護時段套用更新。如需更多詳細資訊，請參閱 [使用排程修改設定](USER_ModifyInstance.ApplyImmediately.md)。

1. 在**確認**頁面上，選擇**修改資料庫執行個體**。

## AWS CLI
<a name="custom-sqlserver-multiaz.modify-maztosaz.CLI"></a>

若要使用 AWS CLI 將多可用區部署修改為單一可用區部署，請呼叫 [modify-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) 命令並包括 `--no-multi-az` 選項。指定資料庫執行個體識別符，以及您要修改的其他選項值。如需每個選項的詳細資訊，請參閱[資料庫執行個體的設定](USER_ModifyInstance.Settings.md)。

**Example**  
下列代碼包含 `--no-multi-az` 選項，以修改 `mycustomdbinstance`。使用 `--no-apply-immediately`，會在下一次維護時段期間由系統套用變更。使用 `--apply-immediately` 可立即套用變更。如需更多詳細資訊，請參閱 [使用排程修改設定](USER_ModifyInstance.ApplyImmediately.md)。  
在 Linux、macOS 或 Unix 中：  

```
aws rds modify-db-instance \
    --db-instance-identifier mycustomdbinstance \
    --no-multi-az  \
    --no-apply-immediately
```
在 Windows 中：  

```
aws rds modify-db-instance ^
    --db-instance-identifier mycustomdbinstance ^
    --no-multi-az \ ^
    --no-apply-immediately
```

## RDS API
<a name="custom-sqlserver-multiaz.modify-maztosaz.API"></a>

若要使用 RDS API 將多可用區部署修改為單一可用區部署，請呼叫 [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 操作並將參數 `MultiAZ` 設為 `false`。

# RDS Custom for SQL Server 多可用區部署的容錯移轉程序
<a name="custom-sqlserver-multiaz.failover"></a>

如果您已啟用多可用區域，當您的資料庫執行個體因為基礎設施瑕疵而發生計劃中或非計劃的中斷時，Amazon RDS 會自動切換到另一個可用區域中的待命複本。完成容錯移轉所需的時間取決於主要資料庫執行個體失效時的資料庫活動和其他條件。通常容錯移轉時間是 60–120 秒。不過，大型交易或冗長復原程序可能會增加容錯移轉時間。容錯移轉完成後，RDS 控制台使用者界面可能需要多一點時間來顯示新的可用區域。

**注意**  
重新啟動容錯移轉的資料庫執行個體時，您可以手動強制容錯移轉。如需重新啟動資料庫執行個體的相關資訊，請參閱 [在資料庫執行個體](USER_RebootInstance.md) 

Amazon RDS 會自動處理容錯移轉，因此您可以盡快恢復資料庫操作，而無須人為介入管理。如果發生下表所述的任何條件，主要資料庫執行個體會自動切換至待命複本。您可以在 RDS 事件日誌中檢視這些容錯移轉原因。


****  

| 容錯移轉原因 | 描述 | 
| --- | --- | 
| `The operating system for the RDS Custom for SQL Server Multi-AZ DB instance is being patched in an offline operation` | 作業系統修補或安全更新的維護期間觸發容錯移轉。如需更多詳細資訊，請參閱 [維持資料庫執行個體](USER_UpgradeDBInstance.Maintenance.md)。 | 
| `The primary host of the RDS Custom for SQL Server Multi-AZ DB instance is unhealthy.` | 多可用區域資料庫執行個體部署偵測到主要資料庫執行個體受損並容錯移轉。 | 
| `The primary host of the RDS Custom for SQL Server Multi-AZ DB instance is unreachable due to loss of network connectivity.` | RDS 監控偵測到主要資料庫執行個體的網路連線失敗，並觸發容錯移轉。 | 
| `The RDS Custom for SQL Server Multi-AZ DB instance was modified by the customer.` | 資料庫執行個體修改觸發了容錯移轉。如需更多詳細資訊，請參閱 [修改 RDS Custom for SQL Server 資料庫執行個體](custom-managing.modify-sqlserver.md)。 | 
| `The storage volume of the primary host of the RDS Custom for SQL Server Multi-AZ DB instance experienced a failure.` | 多可用區域資料庫執行個體部署在主要資料庫執行個體上偵測到儲存問題並容錯移轉。 | 
| `The user requested a failover of the RDS Custom for SQL Server Multi-AZ DB instance.` | RDS Custom for SQL Server 多可用區資料庫執行個體已透過容錯移轉重新啟動。如需更多詳細資訊，請參閱 [在資料庫執行個體](USER_RebootInstance.md)。 | 
| `The RDS Custom for SQL Server Multi-AZ primary DB instance is busy or unresponsive.` | 主要資料庫執行個體沒有回應。建議您採取下列步驟： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-sqlserver-multiaz.failover.html)  | 

若要判斷您的多可用區域資料庫執行個體是否已容錯移轉，您可以執行下列動作：
+ 設定資料庫事件訂閱，透過電子郵件或 SMS 通知您已啟動容錯移轉。如需事件的詳細資訊，請參閱[使用 Amazon RDS 事件通知](USER_Events.md)。
+ 您可以使用 RDS 主控台或 API 操作來檢視資料庫事件。
+ 您可以使用 RDS 主控台、CLI 和 API 操作，檢視 RDS Custom for SQL Server 多可用區域資料庫執行個體部署的目前狀態。

## 使用 RDS Custom for SQL Server 多可用區部署的應用程式存留時間 (TTL) 設定
<a name="custom-sqlserver-multiaz.ttldns"></a>

容錯移轉機制會自動將資料庫執行個體的網域名稱系統 (DNS) 記錄變更為指向待命資料庫執行個體。因此，您必須重新建立資料庫執行個體任何現有的連線。請確定任何 DNS 快取存留時間 (TTL) 組態值都很低，且您的應用程式不會長時間快取 DNS。高 TTL 值可能導致應用程式在容錯移轉後，無法快速重新連線至資料庫執行個體。

# 備份與還原 Amazon RDS Custom for SQL Server 資料庫執行個體
<a name="custom-backup-sqlserver"></a>

就像是 Amazon RDS 一樣，RDS Custom 會在啟用備份保留時，建立並儲存 RDS Custom for SQL Server 資料庫執行個體的自動備份。您也可以手動備份您的資料庫執行個體。自動備份由快照備份和交易日誌備份組成。快照備份會在指定的備份時段期間，針對資料庫執行個體的整個儲存磁碟區進行。交易日誌備份會定期針對符合 PITR 資格的資料庫進行。RDS Custom 會根據您的指定備份保留期間，儲存資料庫執行個體的自動備份。您可以使用自動備份，將資料庫執行個體復原至備份保留期間內的某個時間點。

您也可以手動進行快照備份。您可以隨時從這些快照備份建立新的資料庫執行個體。如需手動建立資料庫快照的詳細資訊，請參閱 [建立 RDS Custom for SQL Server 快照](custom-backup-sqlserver.creating.md)。

雖然快照備份可做為完整備份運作，但只會向您收取增量儲存用量的費用。RDS Custom 資料庫執行個體的第一個快照會包含完整的資料庫執行個體資料。相同資料庫的後續快照均採用遞增處理，這表示系統僅會儲存上次執行快照後有所變更的資料。

**Topics**
+ [建立 RDS Custom for SQL Server 快照](custom-backup-sqlserver.creating.md)
+ [從 RDS Custom for SQL Server 資料庫快照還原](custom-backup-sqlserver.restoring.md)
+ [將 RDS Custom for SQL Server 執行個體還原至某個時間點](custom-backup.pitr-sqs.md)
+ [刪除 RDS Custom for SQL Server 快照](custom-backup-sqlserver.deleting.md)
+ [刪除 RDS Custom for SQL Server 自動備份](custom-backup-sqlserver.deleting-backups.md)

# 建立 RDS Custom for SQL Server 快照
<a name="custom-backup-sqlserver.creating"></a>

RDS Custom for SQL Server 會建立資料庫執行個體的儲存體磁碟區快照，因此會備份整個資料庫執行個體，而不只是個別的資料庫。建立 RDS Custom 快照時，請指定要備份哪個 RDS Custom for SQL Server 資料庫執行個體。為快照命名，稍後即可從該快照進行還原。

建立快照時，RDS Custom for SQL Server 會為磁碟區 `(D:)` 建立 Amazon EBS 快照，這是連接到資料庫執行個體的資料庫磁碟區。為了讓快照更容易與特定資料庫執行個體產生關聯，它們透過 `DBSnapshotIdentifier`、`DbiResourceId` 和`VolumeType` 加上標籤。

建立資料庫快照會導致短暫的輸入/輸出暫停。根據資料庫執行個體的大小和類別，暫停時間會持續幾秒鐘至幾分鐘。快照建立時間會隨著資料庫的總數和大小而有所不同。若要進一步了解符合時間點還原 (PITR) 操作資格的資料庫數目，請參閱 [每個執行個體類別類型符合 PITR 資格的資料庫數目](custom-backup.pitr-sqs.md#custom-backup.pitr.sqlserver.eligiblecountperinstance)。

由於快照包括整個儲存體磁碟區，所以檔案大小 (例如暫存檔案) 也會影響建立快照建立時間。若要進一步了解建立快照，請參閱 [為 Amazon RDS 的單一可用區域資料庫執行個體建立資料庫快照](USER_CreateSnapshot.md)。

使用主控台或 AWS CLI 建立 RDS Custom for SQL Server 快照。

## 主控台
<a name="USER_CreateSnapshot-sqlserver.CON"></a>

**若要建立 RDS Custom 快照**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Databases** (資料庫)。

1. 在 RDS Custom 資料庫執行個體清單中，選擇您要建立快照的執行個體。

1. 針對 **Actions** (動作)，選擇 **Take snapshot** (建立快照)。

   **Take DB Snapshot** (建立資料庫快照) 視窗隨即顯示。

1. 在 **Snapshot name (快照名稱)** 中輸入快照的名稱。

1. 選擇 **Take Snapshot** (擷取快照)。

## AWS CLI
<a name="USER_CreateSnapshot-sqlserver.CLI"></a>

您可以使用 [create-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-snapshot.html) AWS CLI 命令來建立 RDS Custom 資料庫執行個體的快照。

指定下列選項：
+ `--db-instance-identifier` – 識別您要備份的 RDS Custom 資料庫執行個體
+ `--db-snapshot-identifier` – 為您的 RDS Custom 快照命名以便稍後從該快照還原

在此範例中，您會為名稱為 `my-custom-instance` 的 RDS Custom 資料庫執行個體建立名稱為 *`my-custom-snapshot`* 的資料庫快照。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds create-db-snapshot \
2.     --db-instance-identifier my-custom-instance \
3.     --db-snapshot-identifier my-custom-snapshot
```
在 Windows 中：  

```
1. aws rds create-db-snapshot ^
2.     --db-instance-identifier my-custom-instance ^
3.     --db-snapshot-identifier my-custom-snapshot
```

# 從 RDS Custom for SQL Server 資料庫快照還原
<a name="custom-backup-sqlserver.restoring"></a>

還原 RDS Custom for SQL Server 資料庫執行個體時，您要提供資料庫快照的名稱和新執行個體的名稱。您無法從快照還原至現有的 RDS Custom 資料庫執行個體。還原時，會建立新的 RDS Custom for SQL Server 資料庫執行個體。

從快照還原會將儲存體磁碟區還原至拍攝快照的時間點。這將包括 `(D:)` 磁碟區上存在的所有資料庫和任何其他檔案。

## 主控台
<a name="custom-backup-sqlserver.restoring.console"></a>

**若要從資料庫快照還原 RDS Custom 資料庫執行個體**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Snapshots** (快照)。

1. 選擇想要從中還原的資料庫執行個體。

1. 針對 **Actions** (動作)，選擇 **Restore snapshot** (還原快照)。

1. 在 **Restore DB Instance** (還原資料庫執行個體) 頁面上，針對 **DB Instance Identifier (資料庫執行個體識別符)**，輸入您還原的 RDS Custom 資料庫執行個體的名稱。

1. 選擇 **Restore DB instance** (還原資料庫執行個體)。

## AWS CLI
<a name="custom-backup-sqlserver.restoring.CLI"></a>

您可以使用 [restore-db-instance-from-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html) AWS CLI 命令來還原 RDS Custom 資料庫快照。

如果您要從中還原的快照適用於私有資料庫執行個體，請務必指定正確的 `db-subnet-group-name` 和 `no-publicly-accessible`。否則，資料庫執行個體預設為可公開存取。下列選項是必要的：
+ `db-snapshot-identifier` – 識別要從中進行還原的快照
+ `db-instance-identifier` – 指定要從資料庫快照建立之 RDS Custom 資料庫執行個體的名稱
+ `custom-iam-instance-profile` – 指定與 RDS Custom 資料庫執行個體的基礎 Amazon EC2 執行個體關聯的執行個體設定檔。

下列程式碼會為 `my-custom-instance` 還原名稱為 `my-custom-snapshot` 的快照。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
aws rds restore-db-instance-from-db-snapshot \
  --db-snapshot-identifier my-custom-snapshot \
  --db-instance-identifier my-custom-instance \
  --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance \
  --no-publicly-accessible
```
在 Windows 中：  

```
aws rds restore-db-instance-from-db-snapshot ^
  --db-snapshot-identifier my-custom-snapshot ^
  --db-instance-identifier my-custom-instance ^
  --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance ^
  --no-publicly-accessible
```

# 將 RDS Custom for SQL Server 執行個體還原至某個時間點
<a name="custom-backup.pitr-sqs"></a>

您可以將資料庫執行個體還原至特定時間點 (PITR)，建立新的資料庫執行個體。若要支援 PITR，您的資料庫執行個體必須啟用備份保留。

RDS Custom for SQL Server 資料庫執行個體的最晚可還原時間取決於許多因素，但通常是目前時間的 5 分鐘內。若要查看資料庫執行個體的最新可還原時間，請使用AWS CLI[describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html) 命令，並查看資料庫執行個體`LatestRestorableTime`欄位中傳回的值。若要在 Amazon RDS 主控台中查看每個資料庫執行個體的最新可還原時間，請選擇**自動備份**。

您可以還原至備份保留期間內的任何時間點。若要查看每個資料庫執行個體的最早可還原時間，請在 Amazon RDS 主控台中選擇**自動備份**。

如需 PITR 的一般資訊，請參閱 [將 Amazon RDS 的資料庫執行個體還原至指定時間](USER_PIT.md)。

**Topics**
+ [RDS Custom for SQL Server 的 PITR 考量](#custom-backup.pitr.sqlserver)
+ [每個執行個體類別類型符合 PITR 資格的資料庫數目](#custom-backup.pitr.sqlserver.eligiblecountperinstance)
+ [使資料庫不符合 PITR 的資格](#custom-backup.pitr.sqlserver.ineligible)
+ [Amazon S3 中的交易日誌](#custom-backup.pitr.sqlserver.tlogs)
+ [使用 AWS 管理主控台、 AWS CLI或 RDS API 還原 PITR。](#custom-backup.pitr-sqs-concli)

## RDS Custom for SQL Server 的 PITR 考量
<a name="custom-backup.pitr.sqlserver"></a>

在 RDS Custom for SQL Server 中，PITR 與 Amazon RDS 中的 PITR 有以下的重要不同：
+ PITR 只會還原資料庫執行個體中的資料庫。它不會還原作業系統或 C: 磁碟機上的檔案。
+ 對於 RDS Custom for SQL Server 資料庫執行個體，資料庫會自動備份，而且只有在下列條件下符合 PITR 的資格：
  + 資料庫在線上。
  + 其復原模型設定為 `FULL`。
  + 可寫入。
  + 在 D: 磁碟機上有實體檔案。
  + 並未列在 `rds_pitr_blocked_databases` 資料表中。如需詳細資訊，請參閱[使資料庫不符合 PITR 的資格](#custom-backup.pitr.sqlserver.ineligible)。
+ 符合 PITR 資格的資料庫是由其資料庫 ID 的順序決定。RDS Custom for SQL Server 最多允許每個資料庫執行個體有 5,000 個資料庫。但是 RDS Custom for SQL Server 資料庫執行個體的 PITR 操作還原的資料庫數上限取決於執行個體類別類型。如需詳細資訊，請參閱[每個執行個體類別類型符合 PITR 資格的資料庫數目](#custom-backup.pitr.sqlserver.eligiblecountperinstance)。

  其他不屬於 PITR 一部分的資料庫可以從資料庫快照還原，包括用於 PITR 的自動快照備份。
+ 新增資料庫、重新命名資料庫或還原符合 PITR 資格的資料庫，會啟動資料庫執行個體的快照。
+ 當資料庫執行個體經過擴展運算操作時，符合 PITR 資格的資料庫數目上限會變更，取決於目標執行個體類別類型。如果執行個體向上擴展，允許執行個體上的更多資料庫符合 PITR 的資格，則會擷取新的快照。
+ 還原的資料庫名稱與來源資料庫執行個體中的名稱相同。您無法指定不同的名稱。
+ `AWSRDSCustomSQLServerIamRolePolicy` 需要存取其他 AWS服務。如需詳細資訊，請參閱[將存取政策新增至 AWSRDSCustomSQLServerInstanceRole](custom-setup-sqlserver.md#custom-setup-sqlserver.iam.add-policy)。
+ 不支援 RDS Custom for SQL Server 的時區變更。如果您變更作業系統或資料庫執行個體時區，PITR (和其他自動化) 無法運作。

## 每個執行個體類別類型符合 PITR 資格的資料庫數目
<a name="custom-backup.pitr.sqlserver.eligiblecountperinstance"></a>

下表顯示根據執行個體類別類型符合 PITR 資格的資料庫數目上限。


| 執行個體類別類型 | PITR 合格資料庫的數目上限 | 
| --- | --- | 
| db.\$1.large | 100 | 
| db.\$1.xlarge 到 db.\$1.2xlarge | 150 | 
| db.\$1.4xlarge 到 db.\$1.8xlarge | 300 | 
| db.\$1.12xlarge 到 db.\$1.16xlarge | 600 | 
| db.\$1.24xlarge、db.\$132xlarge | 1000 | 

`*` *表示不同的執行個體類別類型。*

資料庫執行個體上符合 PITR 資格的資料庫數目上限取決於執行個體類別類型。在 RDS Custom for SQL Server 支援的執行個體類別類型上，數字範圍從最小 100 到最大 1000。SQL 伺服器系統資料庫 `(master, model, msdb, tempdb)` 不包含在此限制中。當資料庫執行個體向上擴展或縮減時，RDS Custom 會根據目標執行個體類別類型，自動更新符合 PITR 資格的資料庫數目。RDS Custom for SQL Server 會在資料庫執行個體上符合 PITR 資格的資料庫數目上限變更時傳送 `RDS-EVENT-0352`。如需詳細資訊，請參閱[自訂引擎版本事件](USER_Events.Messages.md#USER_Events.Messages.CEV)。

**注意**  
PITR 對超過 100 個資料庫的支援僅適用於 2023 年 8 月 26 日之後建立的資料庫執行個體。對於 2023 年 8 月 26 日之前建立的執行個體，無論執行個體類別為何，符合 PITR 資格的資料庫數目上限為 100。若要在 2023 年 8 月 26 日之前建立的資料庫執行個體上啟用超過 100 個資料庫的 PITR 支援，您可以執行下列動作：  
將資料庫引擎版本升級至 15.00.4322.2.v1 或更新版本

在 PITR 操作期間，RDS Custom 會在還原時間還原來源資料庫執行個體上屬於 PITR 一部分的所有資料庫。一旦目標資料庫執行個體完成還原操作，如果啟用備份保留，資料庫執行個體將根據目標資料庫執行個體上符合 PITR 資格的資料庫數目上限開始備份。

例如，如果您的資料庫執行個體在具有 200 個資料庫的 `db.*.xlarge` 上執行：

1. RDS Custom for SQL Server 會為 PITR 備份選擇依資料庫 ID 排序的前 150 個資料庫。

1. 您可以修改執行個體以向上擴展至 db.\$1.4xlarge。

1. 擴展運算操作完成後，RDS Custom for SQL Server 會為 PITR 備份選擇依資料庫 ID 排序的前 300 個資料庫。滿足 PITR 要求條件的 200 個資料庫現在都符合 PITR 的資格。

1. 您現在修改執行個體以縮減至 db.\$1.xlarge。

1. 擴展運算操作完成後，RDS Custom for SQL Server 會為 PITR 備份再次選取依資料庫 ID 排序的前 150 個資料庫。

## 使資料庫不符合 PITR 的資格
<a name="custom-backup.pitr.sqlserver.ineligible"></a>

您可以選擇從 PITR 排除個別資料庫。若要做到這一點，請將它們的 `database_id` 值放到 `rds_pitr_blocked_databases` 資料表。使用下列 SQL 指令碼以建立資料表。

**若要建立 rds\$1pitr\$1blocked\$1databases 資料表**
+ 執行以下 SQL 指令碼。

  ```
  create table msdb..rds_pitr_blocked_databases
  (
  database_id INT NOT NULL,
  database_name SYSNAME NOT NULL,
  db_entry_updated_date datetime NOT NULL DEFAULT GETDATE(),
  db_entry_updated_by SYSNAME NOT NULL DEFAULT CURRENT_USER,
  PRIMARY KEY (database_id)
  );
  ```

如需符合資格和不符合資格資料庫的清單，請參閱 Amazon S3 儲存貯體 `do-not-delete-rds-custom-$ACCOUNT_ID-$REGION-unique_identifier` 的 `RDSCustomForSQLServer/Instances/DB_instance_resource_ID/TransactionLogMetadata` 目錄中的 `RI.End` 檔案。如需 `RI.End` 詳細資訊，請參閱 [Amazon S3 中的交易日誌](#custom-backup.pitr.sqlserver.tlogs)。

您也可以使用下列 SQL 指令碼來判斷 PITR 的合格資料庫清單。將 `@limit` 變數設定為符合執行個體類別 PITR 資格的資料庫數目上限。如需詳細資訊，請參閱[每個執行個體類別類型符合 PITR 資格的資料庫數目](#custom-backup.pitr.sqlserver.eligiblecountperinstance)。

**判斷資料庫執行個體類別上 PITR 的合格資料庫清單**
+ 執行以下 SQL 指令碼。

  ```
  DECLARE @Limit INT;
  SET @Limit = (insert-database-instance-limit-here);
  
  USE msdb;
  IF (EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbo' AND  TABLE_NAME = 'rds_pitr_blocked_databases'))
      WITH TABLE0 AS (
          SELECT hdrs.database_id as DatabaseId, sdb.name as DatabaseName, 'ALWAYS_ON_NOT_WRITABLE_REPLICA' as Reason, NULL as DatabaseNameOnPitrTable
          FROM sys.dm_hadr_database_replica_states hdrs
          INNER JOIN sys.databases sdb ON sdb.database_id = hdrs.database_id
          WHERE (hdrs.is_local = 1 AND hdrs.is_primary_replica = 0) 
          OR (sys.fn_hadr_is_primary_replica (sdb.name) = 1 AND DATABASEPROPERTYEX (sdb.name, 'Updateability') = 'READ_ONLY')
      ),
      TABLE1 as (
              SELECT dbs.database_id as DatabaseId, sysdbs.name as DatabaseName, 'OPTOUT' as Reason,
              CASE WHEN dbs.database_name = sysdbs.name THEN NULL ELSE dbs.database_name END AS DatabaseNameOnPitrTable
              FROM msdb.dbo.rds_pitr_blocked_databases dbs
              INNER JOIN sys.databases sysdbs ON dbs.database_id = sysdbs.database_id
              WHERE sysdbs.database_id > 4
              ),
      TABLE2 as (
              SELECT
              db.name AS DatabaseName,
              db.create_date AS CreateDate,
              db.state_desc AS DatabaseState,
              db.database_id AS DatabaseId,
              rs.database_guid AS DatabaseGuid,
              rs.last_log_backup_lsn AS LastLogBackupLSN,
              rs.recovery_fork_guid RecoveryForkGuid,
              rs.first_recovery_fork_guid AS FirstRecoveryForkGuid,
              db.recovery_model_desc AS RecoveryModel,
              db.is_auto_close_on AS IsAutoClose,
              db.is_read_only as IsReadOnly,
              NEWID() as FileName,
              CASE WHEN(db.state_desc = 'ONLINE'
                      AND db.recovery_model_desc != 'SIMPLE' 
                      AND((db.is_auto_close_on = 0 and db.collation_name IS NOT NULL) OR db.is_auto_close_on = 1)) 
                      AND db.is_read_only != 1
                      AND db.user_access = 0
                      AND db.source_database_id IS NULL
                      AND db.is_in_standby != 1
                      THEN 1 ELSE 0 END AS IsPartOfSnapshot,
              CASE WHEN db.source_database_id IS NULL THEN 0 ELSE 1 END AS IsDatabaseSnapshot
              FROM sys.databases db
              INNER JOIN sys.database_recovery_status rs
              ON db.database_id = rs.database_id
              WHERE DB_NAME(db.database_id) NOT IN('tempdb') AND
              db.database_id NOT IN (SELECT DISTINCT DatabaseId FROM TABLE1) AND
              db.database_id NOT IN (SELECT DISTINCT DatabaseId FROM TABLE0)
          ),
          TABLE3 as(
              Select @Limit+count(DatabaseName) as TotalNumberOfDatabases from TABLE2 where TABLE2.IsPartOfSnapshot=1 and DatabaseName in ('master','model','msdb')
          )
          SELECT TOP(SELECT TotalNumberOfDatabases from TABLE3)  DatabaseName,CreateDate,DatabaseState,DatabaseId from TABLE2 where TABLE2.IsPartOfSnapshot=1
          ORDER BY TABLE2.DatabaseID ASC
  ELSE
      WITH TABLE0 AS (
          SELECT hdrs.database_id as DatabaseId, sdb.name as DatabaseName, 'ALWAYS_ON_NOT_WRITABLE_REPLICA' as Reason, NULL as DatabaseNameOnPitrTable
          FROM sys.dm_hadr_database_replica_states hdrs
          INNER JOIN sys.databases sdb ON sdb.database_id = hdrs.database_id
          WHERE (hdrs.is_local = 1 AND hdrs.is_primary_replica = 0) 
          OR (sys.fn_hadr_is_primary_replica (sdb.name) = 1 AND DATABASEPROPERTYEX (sdb.name, 'Updateability') = 'READ_ONLY')
      ),
      TABLE1 as (
              SELECT
              db.name AS DatabaseName,
              db.create_date AS CreateDate,
              db.state_desc AS DatabaseState,
              db.database_id AS DatabaseId,
              rs.database_guid AS DatabaseGuid,
              rs.last_log_backup_lsn AS LastLogBackupLSN,
              rs.recovery_fork_guid RecoveryForkGuid,
              rs.first_recovery_fork_guid AS FirstRecoveryForkGuid,
              db.recovery_model_desc AS RecoveryModel,
              db.is_auto_close_on AS IsAutoClose,
              db.is_read_only as IsReadOnly,
              NEWID() as FileName,
              CASE WHEN(db.state_desc = 'ONLINE'
                      AND db.recovery_model_desc != 'SIMPLE' 
                      AND((db.is_auto_close_on = 0 and db.collation_name IS NOT NULL) OR db.is_auto_close_on = 1)) 
                      AND db.is_read_only != 1
                      AND db.user_access = 0
                      AND db.source_database_id IS NULL
                      AND db.is_in_standby != 1
                      THEN 1 ELSE 0 END AS IsPartOfSnapshot,
              CASE WHEN db.source_database_id IS NULL THEN 0 ELSE 1 END AS IsDatabaseSnapshot
              FROM sys.databases db
              INNER JOIN sys.database_recovery_status rs
              ON db.database_id = rs.database_id
              WHERE DB_NAME(db.database_id) NOT IN('tempdb') AND
              db.database_id NOT IN (SELECT DISTINCT DatabaseId FROM TABLE0)
          ),
          TABLE2 as(
              SELECT @Limit+count(DatabaseName) as TotalNumberOfDatabases from TABLE1 where TABLE1.IsPartOfSnapshot=1 and DatabaseName in ('master','model','msdb')
          )
          select top(select TotalNumberOfDatabases from TABLE2)  DatabaseName,CreateDate,DatabaseState,DatabaseId from TABLE1 where TABLE1.IsPartOfSnapshot=1
          ORDER BY TABLE1.DatabaseID ASC
  ```

**注意**  
僅有符號連結的資料庫也會從符合 PITR 操作資格的資料庫排除。上述查詢不會根據此準則進行篩選。

## Amazon S3 中的交易日誌
<a name="custom-backup.pitr.sqlserver.tlogs"></a>

備份保留期決定是否會自動擷取 RDS Custom for SQL Server 資料庫執行個體的交易日誌並上傳到 Amazon S3。非零值表示會建立自動備份，而且 RDS Custom 代理程式每 5 分鐘會將交易日誌上傳到 S3。

S3 上的交易日誌檔會使用您在建立資料庫執行個體時提供的 AWS KMS key 進行靜態加密。如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》**中的[使用伺服器端加密保護資料](https://docs.aws.amazon.com/AmazonS3/latest/userguide/serv-side-encryption.html)。

每個資料庫的交易日誌會上傳至名稱為 `do-not-delete-rds-custom-$ACCOUNT_ID-$REGION-unique_identifier` 的 S3 儲存貯體。S3 儲存貯體中的 `RDSCustomForSQLServer/Instances/DB_instance_resource_ID` 目錄包含兩個子目錄：
+ `TransactionLogs` – 包含每個資料庫的交易日誌及其各自的中繼資料。

  交易日誌檔名稱遵循 `yyyyMMddHHmm.database_id.timestamp` 模式，例如：

  ```
  202110202230.11.1634769287
  ```

  具有尾碼 `_metadata` 的相同檔案名稱包含交易日誌的相關資訊，例如日誌序號、資料庫名稱和 `RdsChunkCount`。`RdsChunkCount` 會決定多少實體檔案表示單一交易日誌檔。您可能會看到具有尾碼 `_0001`、`_0002` 等等的檔案，這表示交易日誌檔的實際區塊。如果您想要使用區塊的交易日誌檔，請務必在下載區塊之後合併。

  請考量具有下列檔案的案例：
  + `202110202230.11.1634769287`
  + ` 202110202230.11.1634769287_0001`
  + ` 202110202230.11.1634769287_0002 `
  + ` 202110202230.11.1634769287_metadata`

  `RdsChunkCount` 為 `3`。合併檔案的順序如下：`202110202230.11.1634769287`、` 202110202230.11.1634769287_0001`、`202110202230.11.1634769287_0002`。
+ `TransactionLogMetadata` – 包含交易日誌擷取之每個反覆項目的相關中繼資料資訊。

  `RI.End` 檔案包含其交易日誌已擷取之所有資料庫的資訊，以及已存在但是其交易日誌未擷取之所有資料庫的資訊。`RI.End` 檔案名稱遵循 `yyyyMMddHHmm.RI.End.timestamp` 模式，例如：

  ```
  202110202230.RI.End.1634769281
  ```

## 使用 AWS 管理主控台、 AWS CLI或 RDS API 還原 PITR。
<a name="custom-backup.pitr-sqs-concli"></a>

您可以使用 AWS CLI、 或 RDS APIAWS 管理主控台，將 RDS Custom for SQL Server 資料庫執行個體還原至某個時間點。

### 主控台
<a name="custom-backup-sqs.pitr2.CON"></a>

**若要將 RDS Custom 資料庫執行個體還原至指定時間**

1. 登入 AWS 管理主控台並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Automated backups** (自動備份)。

1. 選擇您想要還原的 RDS Custom 資料庫執行個體。

1. 針對 **Actions** (動作)，選擇 **Restore to point in time** (還原至時間點)。

   **Restore to point in time (還原到時間點)** 視窗隨即出現。

1. 選擇 **Latest restorable time (最近的可還原時間)** 以還原最近一次的可能時間，或選擇 **Custom (自訂)** 以選擇一個時間。

   如果您選擇 **Custom (自訂)**，請輸入您希望執行個體叢集還原到什麼日期和時間。

   會以您的當地時區顯示時間，根據國際標準時間 (UTC) 的時差來表示。例如，UTC-5 是東部標準時間/中部日光節約時間。

1. 對於 **DB Instance Identifier** (資料庫執行個體識別符)，輸入目標還原 RDS Custom 資料庫執行個體的名稱。名稱必須是唯一的。

1. 視需要選擇其他選項，例如資料庫執行個體類別。

1. 選擇 **Restore to point in time (還原至時間點)**。

### AWS CLI
<a name="custom-backup-sqs.pitr2.CLI"></a>

您可以使用 [ restore-db-instance-to-point-in-time](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html) AWS CLI 命令來建立新的 RDS Custom 資料庫執行個體，將資料庫執行個體還原至指定時間。

使用下列其中一個選項來指定要從中還原的備份：
+ `--source-db-instance-identifier mysourcedbinstance`
+ `--source-dbi-resource-id dbinstanceresourceID`
+ `--source-db-instance-automated-backups-arn backupARN`

`custom-iam-instance-profile` 選項為必要項目。

下列範例會將 `my-custom-db-instance` 還原至名稱為 `my-restored-custom-db-instance` 的新資料庫執行個體，截至指定的時間。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds restore-db-instance-to-point-in-time \
2.     --source-db-instance-identifier my-custom-db-instance\
3.     --target-db-instance-identifier my-restored-custom-db-instance \
4.     --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance \
5.     --restore-time 2022-10-14T23:45:00.000Z
```
在 Windows 中：  

```
1. aws rds restore-db-instance-to-point-in-time ^
2.     --source-db-instance-identifier my-custom-db-instance ^
3.     --target-db-instance-identifier my-restored-custom-db-instance ^
4.     --custom-iam-instance-profile AWSRDSCustomInstanceProfileForRdsCustomInstance ^
5.     --restore-time 2022-10-14T23:45:00.000Z
```

# 刪除 RDS Custom for SQL Server 快照
<a name="custom-backup-sqlserver.deleting"></a>

當您不再需要時，可以刪除由 RDS Custom for SQL Server 管理的資料庫快照。Amazon RDS 與 RDS Custom 資料庫執行個體的刪除程序相同。

二進位和根磁碟區的 Amazon EBS 快照會在您的帳戶中保留較長的時間，因為這些快照可能會連結到您帳戶中執行的某些執行個體或其他 RDS Custom for SQL Server 快照。這些 EBS 快照不再與任何現有 RDS Custom for SQL Server 資源 (資料庫執行個體或備份) 相關之後，會自動刪除這些快照。

## 主控台
<a name="USER_DeleteSnapshot-sqlserver.CON"></a>

**若要刪除 RDS Custom 資料庫執行個體的快照**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Snapshots** (快照)。

1. 選擇想要刪除的資料庫快照。

1. 針對 **Actions** (動作)，選擇 **Delete Snapshot** (刪除快照)。

1. 在確認頁面上，選擇 **Delete (刪除)**。

## AWS CLI
<a name="USER_DeleteSnapshot-sqlserver.CLI"></a>

若要刪除 RDS Custom 快照，請使用 AWS CLI 命令 [delete-db-snapshot](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-snapshot.html)。

下列選項是必要的：
+ `--db-snapshot-identifier` – 要刪除的快照

以下範例會刪除 `my-custom-snapshot` 資料庫快照。

**Example**  
在 Linux、macOS 或 Unix 中：  

```
1. aws rds delete-db-snapshot \  
2.   --db-snapshot-identifier my-custom-snapshot
```
在 Windows 中：  

```
1. aws rds delete-db-snapshot ^
2.   --db-snapshot-identifier my-custom-snapshot
```

# 刪除 RDS Custom for SQL Server 自動備份
<a name="custom-backup-sqlserver.deleting-backups"></a>

不再需要保留 RDS Custom for SQL Server 的自動備份時，刪除即可。該程序與刪除 Amazon RDS 備份的程序相同。

## 主控台
<a name="USER_WorkingWithAutomatedBackups-sqlserver-Deleting.CON"></a>

**刪除保留的自動備份**

1. 登入 AWS 管理主控台，開啟位於 [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Automated backups** (自動備份)。

1. 選擇 **Retained (已保留)**。

1. 選擇您要刪除的已保留自動備份。

1. 對於 **Actions** (動作)，請選擇 **Delete** (刪除)。

1. 在確認頁面上，輸入 **delete me**，然後選擇 **Delete (刪除)**。

## AWS CLI
<a name="USER_WorkingWithAutomatedBackups-sqlserver-Deleting.CLI"></a>

您可以使用 AWS CLI 命令 [delete-db-instance-automated-backup](https://docs.aws.amazon.com/cli/latest/reference/rds/delete-db-instance-automated-backup.html) 刪除保留的自動備份。

下列選項用來刪除保留的自動備份：
+ `--dbi-resource-id` – 來源 RDS Custom 資料庫執行個體的資源識別符。

  您可以使用 AWS CLI 命令 [describe-db-instance-automated-backups](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instance-automated-backups.html)，刪除已保留自動備份的來源資料庫執行個體的來源識別符。

下列範例刪除來源資料庫執行個體識別符為 `custom-db-123ABCEXAMPLE` 的已保留自動備份。

**Example**  
對於 Linux、macOS 或 Unix：  

```
1. aws rds delete-db-instance-automated-backup \
2.     --dbi-resource-id custom-db-123ABCEXAMPLE
```
在 Windows 中：  

```
1. aws rds delete-db-instance-automated-backup ^
2.     --dbi-resource-id custom-db-123ABCEXAMPLE
```

# 複製 Amazon RDS Custom for SQL Server 資料庫快照
<a name="custom-copying-snapshot-sqlserver"></a>

透過 RDS Custom for SQL Server，即可複製自動備份和手動資料庫​快照。複製快照之後，您建立的複本即為手動快照。您可以製作自動備份或手動快照的多個複本，但每個複本都必須具有唯一的識別符。

您只能在可使用 RDS Custom for SQL Server 的不同 AWS AWS 區域 帳戶中複製快照。目前不支援下列作業：
+ 在相同的 AWS 區域中複製資料庫快照。
+ 跨帳戶複製資料庫快照 AWS 。

RDS Custom for SQL Server 支援增量快照複製。如需詳細資訊，請參閱[增量快照複製的考量事項](USER_CopySnapshot.md#USER_CopySnapshot.Incremental)。

**Topics**
+ [限制](#custom-copying-snapshot-sqlserver.Limitations)
+ [處理加密](#custom-copying-snapshot-sqlserver.Encryption)
+ [跨區域複製](#custom-copying-snapshot-sqlserver.XRCopy)
+ [使用自訂引擎版本 (CEV) 建立的資料庫執行個體快照](#custom-copying-snapshot-sqlserver.CEVSnap)
+ [將所需的許可授予您的 IAM 主體](#custom-copying-snapshot-sqlserver.GrantPermIAM)
+ [複製資料庫快照](#custom-copying-snapshot-sqlserver.CopyingDBSnapshot)

## 限制
<a name="custom-copying-snapshot-sqlserver.Limitations"></a>

下列限制適用於複製 RDS Custom for SQL Server 的資料庫快照：
+ 如果您在目標快照變成可用之前刪除來源快照，則快照複本可能會失敗。刪除來源快照之前，請確認目標快照的狀態為 `AVAILABLE`。
+ 您無法在資料庫快照複製請求中指定選項群組名稱或複製選項群組。
+ 如果您在複製程序之前或期間刪除來源資料庫快照的任何相依 AWS 資源，您的複製快照請求可能會以非同步方式失敗。
  + 如果您刪除儲存在帳戶中 RDS Custom 受管 S3 儲存貯體中之來源資料庫執行個體的服務主金鑰 (SMK) 備份檔案，資料庫快照複本就會以非同步方式成功。不過，依賴 SMK 的 SQL Server 功能 (例如啟用 TDE 的資料庫) 會遇到問題。如需詳細資訊，請參閱[針對 RDS Custom for SQL Server 中已啟用 TDE 之資料庫的 PENDING\$1RECOVERY 狀態進行故障診斷](custom-troubleshooting-sqlserver.md#custom-troubleshooting-sqlserver.pending_recovery)。
+  AWS 區域 目前不支援在相同 內複製資料庫快照。
+ 目前不支援跨 AWS 帳戶複製資料庫快照。

複製 Amazon RDS 資料庫快照的限制也適用於 RDS Custom for SQL Server。如需詳細資訊，請參閱[限制](USER_CopySnapshot.md#USER_CopySnapshot.Limitations)。

## 處理加密
<a name="custom-copying-snapshot-sqlserver.Encryption"></a>

所有 RDS Custom for SQL Server 資料庫執行個體和資料庫快照皆使用 KMS 金鑰加密。您只能將加密的快照複製到加密的快照，因此您必須 AWS 區域 為資料庫快照複製請求指定目的地中有效的 KMS 金鑰。

在整個複製過程中來源快照仍會保持加密狀態。Amazon RDS 使用封套加密，可在具有指定目的地 AWS 區域 KMS 金鑰的複製作業期間保護資料。如需詳細資訊，請參閱《AWS Key Management Service 開發人員指南》中的[封套加密](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping)。

## 跨區域複製
<a name="custom-copying-snapshot-sqlserver.XRCopy"></a>

您可跨 AWS 區域複製資料庫快照。但是，跨區域快照複製具有特定的限制和考量。

### 授權 RDS 跨 進行通訊 AWS 區域 以進行快照複製
<a name="custom-copying-snapshot-sqlserver.XRCopy.Authorize"></a>

成功處理跨區域資料庫快照複製請求後，RDS 隨即啟動複製。系統會建立 RDS 存取來源快照的授權請求。此授權請求會將來源資料庫快照連結至目標資料庫快照。這可讓 RDS 僅複製到指定的目標快照。

RDS 會透過使用服務連結 IAM 角色中的 `rds:CrossRegionCommunication` 許可來驗證授權。如果授權複本，RDS 即可與來源區域通訊並完成複本作業。

對於之前未透過 CopyDBSnapshot 請求授權的資料庫快照，RDS 將無法存取。複製完成後，即會撤銷授權。

RDS 使用服務連結的角色來驗證來源區域中的授權。如果您在複製程序期間刪除服務連結的角色，則複本會失敗。

如需詳細資訊，請參閱《AWS Identity and Access Management 使用者指南》**中的[使用服務連結角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)。

### 使用 AWS Security Token Service 登入資料
<a name="custom-copying-snapshot-sqlserver.XRCopy.STS"></a>

來自 global AWS Security Token Service (AWS STS) 端點的工作階段權杖僅在預設啟用 AWS 區域 的 中有效 （商業區域）。如果您在 中使用來自 `assumeRole` API 操作的登入資料 AWS STS，如果來源區域是選擇加入區域，請使用區域端點。否則，請求將失敗。您的登入資料在兩個區域中都必須有效，只有在您使用區域 AWS STS 端點時，才適用於選擇加入區域。

若要使用全域端點，請確保操作時在這兩個區域均已將其啟用。在 AWS STS 帳戶設定`Valid`中的所有 AWS 區域 中，將全域端點設定為 。

如需詳細資訊，請參閱《AWS Identity and Access Management 使用者指南》**中的[管理 AWS 區域中的 AWS STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)。

## 使用自訂引擎版本 (CEV) 建立的資料庫執行個體快照
<a name="custom-copying-snapshot-sqlserver.CEVSnap"></a>

對於使用[自訂引擎版本 (CEV)](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev-sqlserver.html) 的資料庫執行個體之資料庫快照，RDS 會將 CEV 與資料庫快照建立關聯。若要跨 複製與 CEV 相關聯的來源資料庫快照 AWS 區域，RDS 會將 CEV 以及來源資料庫快照複製到目的地區域。

如果您要將多個與相同 CEV 相關聯的資料庫快照複製到相同的目的地區域，則第一個複製請求會複製相關聯的 CEV。下列請求的複製程序會尋找最初複製的 CEV，並將其與下列資料庫快照複本建立關聯。現有的 CEV 複本必須處於 `AVAILABLE` 狀態，才能與資料庫快照複本建立關聯。

若要複製與 CEV 相關聯的資料庫快照，請求者的 IAM 政策必須具有許可，可同時授權資料庫快照複製和相關聯 CEV 複製。請求者的 IAM 政策需要下列許可，才能允許相關聯的 CEV 複製：
+ `rds:CopyCustomDBEngineVersion` - 您的申請者 IAM 主體需要具有許可，可將來源 CEV 與來源資料庫快照複製到目標區域。如果您的請求者 IAM 主體未獲授權複製來源 CEV，則快照複製請求會因授權錯誤而失敗。
+ `ec2:CreateTags` - 來源 CEV 的基礎 EC2 AMI 會複製到目標區域，做為 CEV 複本的一部分。RDS Custom 在複製 AMI 之前，會嘗試使用 `AWSRDSCustom` 標籤來標記 AMI。請確定您的請求者 IAM 主體具有許可，可針對來源區域中來源 CEV 基礎的 AMI 建立標籤。

如需更多 CEV 複製許可的相關資訊，請參閱 [將所需的許可授予您的 IAM 主體](#custom-copying-snapshot-sqlserver.GrantPermIAM)。

## 將所需的許可授予您的 IAM 主體
<a name="custom-copying-snapshot-sqlserver.GrantPermIAM"></a>

請確定您有足夠的存取權，可複製 RDS Custom for SQL Server 資料庫快照。使用主控台或 CLI 複製資料庫快照的 IAM 角色或使用者 (稱為 IAM 主體) 必須具有下列任一政策，才能成功建立資料庫執行個體：
+ `AdministratorAccess` 政策或
+ 具有下列額外許可的 `AmazonRDSFullAccess` 政策：

  ```
  s3:CreateBucket
  s3:GetBucketPolicy
  s3:PutBucketPolicy
  kms:CreateGrant
  kms:DescribeKey
  ec2:CreateTags
  ```

RDS Custom 在跨 AWS 區域複製快照期間會使用這些許可。這些許可會設定您帳戶中 RDS Custom 作業所需的資源。如需 `kms:CreateGrant` 許可的詳細資訊，請參閱 [AWS KMS key 管理](Overview.Encryption.Keys.md)。

以下範例 JSON 政策授予除 `AmazonRDSFullAccess` 政策之外的必要許可。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "CreateS3BucketAndReadWriteBucketPolicy",
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:PutBucketPolicy",
                "s3:GetBucketPolicy"
            ],
            "Resource": "arn:aws:s3:::do-not-delete-rds-custom-*"
        },
        {
            "Sid": "CreateKmsGrant",
            "Effect": "Allow",
            "Action": [
                "kms:CreateGrant",
                "kms:DescribeKey"
            ],
            "Resource": "*"
        },
        {
            "Sid": "CreateEc2Tags",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**注意**  
確保所列出的許可不受服務控制政策 (SCP)、許可界限或與 IAM 主體相關聯之工作階段政策的限制。

如果您在請求者的 IAM 政策中使用條件與內容索引鍵，則某些條件可能會導致請求失敗。如需 IAM 政策條件所引起常見陷阱的詳細資訊，請參閱 [請求跨區域資料庫快照複本](USER_CopySnapshot.md#USER_CopySnapshot.AcrossRegions.Policy)。

## 複製資料庫快照
<a name="custom-copying-snapshot-sqlserver.CopyingDBSnapshot"></a>

使用以下程序來複製資料庫快照。對於每個 AWS 帳戶，您一次最多可將 20 個資料庫快照從一個 AWS 區域 複製到另一個。如果您將資料庫快照複製到另一個快照 AWS 區域，您可以建立保留在該快照中的手動資料庫快照 AWS 區域。從來源複製資料庫快照 AWS 區域 會產生 Amazon RDS 資料傳輸費用。如需資料傳輸定價的詳細資訊，請參閱 [Amazon RDS 定價](https://aws.amazon.com/rds/pricing/)。

在新的 中建立資料庫快照複本之後 AWS 區域，資料庫快照複本的行為會與其中的所有其他資料庫快照相同 AWS 區域。

您可以使用 AWS 管理主控台 AWS CLI或 Amazon RDS API 複製資料庫快照。

------
#### [ Console ]

下列程序會使用 AWS 管理主控台來複製 RDS Custom for SQL Server 資料庫快照。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/) 的 Amazon RDS 主控台。

1. 在導覽窗格中，選擇 **Snapshots** (快照)。

1. 選取您要複製的 RDS Custom for SQL Server 資料庫快照。

1. 在**動作**下拉式清單中，選擇**複製快照**。  
![\[Amazon RDS 主控台中的複製快照頁面。設定會載入頁面。\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/images/XRSC-Snapshot-Copy.png)

1. 若要將資料庫快照複製到不同的 AWS 區域，請將**目的地區域**設定為所需的值。
**注意**  
目的地 AWS 區域 必須具有與來源相同的資料庫引擎版本 AWS 區域。

1. 在**新資料庫快照識別符**中，輸入資料庫快照的唯一名稱。您可以製作自動備份或手動快照的多個複本，但每個複本都必須具有唯一的識別符。

1. (選用) 選取 **Copy Tags (複製標籤)**，將快照中的標籤和值複製到快照的複本。

1. 在**加密**中，指定用來加密資料庫快照複本的 KMS 金鑰識別符。
**注意**  
RDS Custom for SQL Server 會加密所有資料庫快照。您無法建立未加密的資料庫快照。

1. 選擇 **Copy Snapshot (複製快照)**。

RDS Custom for SQL Server 會在您選取的 AWS 區域 中建立資料庫執行個體的資料庫快照複本。

------
#### [ AWS CLI ]

您可以使用 AWS CLI 命令 複製 RDS Custom for SQL Server 資料庫快照[https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/copy-db-snapshot.html)。如果您要將快照複製到新的 AWS 區域，請在新的 中執行 命令 AWS 區域。下列選項用來複製資料庫快照。並非所有情況需要使用所有選項。
+ `--source-db-snapshot-identifier` ‐ 來源資料庫快照的識別符。
  + 如果來源快照位於 AWS 區域 與複本不同的 中，請指定有效的資料庫快照 ARN。例如 `arn:aws:rds:us-west-2:123456789012:snapshot:instance1-snapshot-12345678`。
+ `--target-db-snapshot-identifier` – 資料庫快照之新複本的識別符。
+ `--kms-key-id` – 加密資料庫快照的 KMS 金鑰識別符。KMS 金鑰識別碼是 KMS 金鑰的 Amazon 資源名稱 (ARN)、金鑰識別碼或金鑰別名。
  + 如果您將加密的快照複製到不同的 AWS 區域，則必須指定目的地 AWS 區域的 KMS 金鑰。KMS 金鑰專屬於在 中建立 AWS 區域 的 ，除非使用多區域金鑰， AWS 區域 否則您無法在另一個 AWS 區域 中使用加密金鑰。如需多區域 KMS 金鑰的詳細資訊，請參閱[使用 AWS KMS中的多區域金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)。
+ `--copy-tags` – 包含從來源快照到快照複本的標籤和值。

複製 RDS Custom for SQL Server 資料庫快照時不支援下列選項：
+ `--copy-option-group `
+ `--option-group-name`
+ `--pre-signed-url`
+ `--target-custom-availability-zone`

下列程式碼範例會在 US East (N. Virginia) 區域中，從美國西部 (奧勒岡) 區域複製到已加密的資料庫快照。在目的地 (us-east-1) 區域中執行命令。

針對 Linux、macOS 或 Unix：

```
aws rds copy-db-snapshot \
     --region us-east-1 \
    --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:instance1-snapshot-12345678 \
    --target-db-snapshot-identifier mydbsnapshotcopy \
    --kms-key-id a1b2c3d4-1234-5678-wxyz-a1b2c3d4d5e6
```

針對 Windows：

```
aws rds copy-db-snapshot ^
     --region us-east-1 ^
    --source-db-snapshot-identifier arn:aws:rds:us-west-2:123456789012:snapshot:instance1-snapshot-12345678 ^
    --target-db-snapshot-identifier mydbsnapshotcopy ^
    --kms-key-id a1b2c3d4-1234-5678-wxyz-a1b2c3d4d5e6
```

------
#### [ RDS API ]

您可以使用 Amazon RDS API 作業 [CopyDBSnapshot](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CopyDBSnapshot.html) 來複製 RDS Custom for SQL Server 資料庫快照。如果您要將快照複製到新的 AWS 區域，請在新的 AWS 區域中執行此動作。下列參數用來複製資料庫快照。並非所有參數皆為必要參數：
+ `SourceDBSnapshotIdentifier` ‐ 來源資料庫快照的識別符。
  + 如果來源快照位於 AWS 區域 與複本不同的 中，請指定有效的資料庫快照 ARN。例如 `arn:aws:rds:us-west-2:123456789012:snapshot:instance1-snapshot-12345678`。
+ `TargetDBSnapshotIdentifier` – 資料庫快照之新複本的識別符。
+ `KmsKeyId` – 加密資料庫快照的 KMS 金鑰識別符。KMS 金鑰識別碼是 KMS 金鑰的 Amazon 資源名稱 (ARN)、金鑰識別碼或金鑰別名。
  + 如果您將加密的快照複製到不同的 AWS 區域，則必須指定目的地 AWS 區域的 KMS 金鑰。KMS 金鑰專屬於在 中建立 AWS 區域 的 ，除非使用多區域金鑰， AWS 區域 否則您無法在另一個 AWS 區域 中使用加密金鑰。如需多區域 KMS 金鑰的詳細資訊，請參閱[使用 AWS KMS中的多區域金鑰](https://docs.aws.amazon.com/kms/latest/developerguide/multi-region-keys-overview.html)。
+ `CopyTags` – 將此參數設為 `true`，將來源快照中的標籤和值複製到快照的複本。預設值為 `false`。

複製 RDS Custom for SQL Server 資料庫快照時，不支援下列選項：
+ `CopyOptionGroup`
+ `OptionGroupName`
+ `PreSignedUrl`
+ `TargetCustomAvailabilityZone`

下列程式碼會在 US East (N. Virginia) 區域中使用新名稱 `mydbsnapshotcopy` 來建立快照的複本。

```
https://rds.us-east-1.amazonaws.com/
    ?Action=CopyDBSnapshot
    &KmsKeyId=a1b2c3d4-1234-5678-wxyz-a1b2c3d4d5e6
    &SourceDBSnapshotIdentifier=arn%3Aaws%3Ards%3Aus-west-2%3A123456789012%3Asnapshot%3Ainstance1-snapshot-12345678
    &TargetDBSnapshotIdentifier=mydbsnapshotcopy
    &Version=2014-10-31
    &X-Amz-Algorithm=AWS4-HMAC-SHA256
    &X-Amz-Credential=AKIADQKE4SARGYLE/20161117/us-east-1/rds/aws4_request
    &X-Amz-Date=20161117T221704Z
    &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
    &X-Amz-Signature=da4f2da66739d2e722c85fcfd225dc27bba7e2b8dbea8d8612434378e52adccf
```

------

# 將內部部署資料庫遷移到 Amazon RDS Custom for SQL Server
<a name="custom-migrating"></a>

您可以使用下列程序，使用原生備份和還原將內部部署 Microsoft SQL Server 資料庫遷移到 Amazon RDS Custom for SQL Server：

1. 對內部部署資料庫執行個體上的資料庫進行完整備份。

1. 將備份檔案上傳到 Amazon S3。

1. 將備份檔案從 S3 下載至 RDS Custom for SQL Server 資料庫執行個體。

1. 使用 RDS Custom for SQL Server 資料庫執行個體上下載的備份檔案還原資料庫。

此程序說明如何使用原生完整備份和還原，將資料庫從內部部署遷移到 RDS Custom for SQL Server。若要減少遷移程序期間的切換時間，您也可以考慮使用差異或日誌備份。

如需 RDS for SQL Server 其原生備份和還原的一般資訊，請參閱 [使用原生備份和還原，匯入和匯出 SQL Server 資料庫](SQLServer.Procedural.Importing.md)。

**Topics**
+ [先決條件](#custom-migrating.prereqs)
+ [備份內部部署資料庫](#custom-migrating.backup)
+ [將備份檔案上傳到 Amazon S3](#custom-migrating.upload)
+ [從 Amazon S3 下載備份檔案](#custom-migrating.upload)
+ [將備份檔案還原至 RDS Custom for SQL Server 資料庫執行個體](#custom-migrating.restore)

## 先決條件
<a name="custom-migrating.prereqs"></a>

在遷移資料庫之前，請先執行以下任務：

1. 為 RDS Custom for SQL Server 資料庫執行個體設定遠端桌面連線 (RDP)。如需更多詳細資訊，請參閱 [使用 RDS 連線到您的 RDS Custom 資料庫執行個體](custom-creating-sqlserver.rdp.md)。

1. 設定對 Amazon S3 的存取權限，以便上傳和下載資料庫備份檔案。

## 備份內部部署資料庫
<a name="custom-migrating.backup"></a>

您可以使用 SQL Server 原生備份，在內部部署資料庫執行個體上取得資料庫的完整備份。

下列範例顯示名為 `mydatabase` 的資料庫備份，已指定 `COMPRESSION` 選項以減少備份檔案大小。

**若要備份內部部署資料庫**

1. 使用 SQL Server Management Studio (SSMS)，連接至內部部署 SQL Server 執行個體。

1. 執行下列 T-SQL 命令。

   ```
   backup database mydatabase to
   disk ='C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\mydb-full-compressed.bak'
   with compression;
   ```

## 將備份檔案上傳到 Amazon S3
<a name="custom-migrating.upload"></a>

您可以使用 AWS 管理主控台 將備份檔案 `mydb-full-compressed.bak` 上傳到 Amazon S3。

**若要將備份檔案上傳到 S3**

1. 登入 AWS 管理主控台，並開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 針對 **Buckets** (儲存貯體)，選擇您要上傳檔案的目標儲存貯體名稱。

1. 選擇 **Upload** (上傳)。

1. 在 **Upload (上傳)** 視窗中，執行下列其中一個操作︰
   + 將 `mydb-full-compressed.bak` 拖放到 **Upload (上傳)** 視窗。
   + 選擇 **Add file (新增檔案)**、選擇 `mydb-full-compressed.bak`，然後選擇 **Open (開啟)**。

   Amazon S3 會將備份檔案上傳為 S3 物件。上傳完成後，您可以在 **Upload: status** (上傳：狀態) 頁面上看到成功訊息。

## 從 Amazon S3 下載備份檔案
<a name="custom-migrating.upload"></a>

您可以使用主控台將備份檔案從 S3 下載到 RDS Custom for SQL Server 資料庫執行個體。

**若要從 S3 下載備份檔案**

1. 使用 RDP，連接至 RDS Custom for SQL Server 資料庫執行個體。

1. 登入 AWS 管理主控台，並開啟位於 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 的 Amazon S3 主控台。

1. 在 **Buckets** (儲存貯體) 清單中，選擇其中包含您的備份檔案的儲存貯體名稱。

1. 選擇備份檔案 `mydb-full-compressed.bak`。

1. 針對 **Actions** (動作)，選擇 **Download as** (下載為)。

1. 開啟提供之連結的內容 (右鍵) 功能表，然後選擇 **Save As** (另存新檔)。

1. 將 `mydb-full-compressed.bak` 儲存到 `D:\rdsdbdata\BACKUP` 目錄。

## 將備份檔案還原至 RDS Custom for SQL Server 資料庫執行個體
<a name="custom-migrating.restore"></a>

您使用 SQL Server 原生還原將備份檔案還原至 RDS Custom for SQL Server 資料庫執行個體。

在此範例中會指定 `MOVE` 選項，因為資料和日誌檔目錄與內部部署資料庫執行個體不同。

**若要還原備份檔案**

1. 使用 SSMS，連接至 RDS Custom for SQL Server 資料庫執行個體。

1. 執行下列 T-SQL 命令。

   ```
   restore database mydatabase from disk='D:\rdsdbdata\BACKUP\mydb-full-compressed.bak'
   with move 'mydatabase' to 'D:\rdsdbdata\DATA\mydatabase.mdf',
   move 'mydatabase_log' to 'D:\rdsdbdata\DATA\mydatabase_log.ldf';
   ```

# RDS Custom for SQL Server 作業系統更新
<a name="custom-os-upgrade"></a>

RDS Custom for SQL Server 提供下列方法來將作業系統更新套用至 RDS 提供的引擎版本 (RPEV) 執行個體：
+ *system-update 維護動作*
+ *資料庫次要版本升級*
  + 使用 RPEV 的資料庫次要引擎版本升級包含最新的作業系統更新。如果您想要將作業系統更新與 SQL Server 次要版本升級結合，此方法特別有用。如需詳細資訊，請參閱[升級 Amazon RDS Custom for SQL Server 資料庫執行個體](custom-upgrading-sqlserver.md)。

## 作業系統更新的案例
<a name="custom-os-upgrade.Scenarios"></a>

有兩種方式可以管理 RDS Custom for SQL Server 執行個體的作業系統更新：
+ 對於單一可用區執行個體，執行個體在作業系統更新期間無法使用。
+ 對於異地同步備份部署，RDS 會以下列方式套用作業系統更新：
  + 首先，RDS 會在待命執行個體上執行作業系統更新。
  + RDS 會容錯移轉至升級的待命資料庫執行個體，使其成為新的主要資料庫執行個體。
  + 最後，RDS 會在新的待命資料庫執行個體上執行作業系統更新。

異地同步備份部署的停機時間是容錯移轉所需的時間。

## 使用系統更新維護動作套用作業系統更新
<a name="custom-os-upgrade.SystemUpdates"></a>

若要將作業系統更新套用至 Amazon RDS RPEV 執行個體，您可以使用 AWS CLI AWS 管理主控台或 RDS API。如需詳細資訊，請參閱[RDS 資料庫執行個體的作業系統更新](USER_UpgradeDBInstance.Maintenance.md#OS_Updates)。

**Example**  
在 Linux、macOS 或 Unix 中：  
**步驟 1：檢查是否有可用的更新**  
使用 `describe-pending-maintenance-actions`命令來查看您的執行個體是否可使用作業系統更新：  

```
aws rds describe-pending-maintenance-actions
```
回應範例：  

```
{
    "PendingMaintenanceActions": [
        {
            "ResourceIdentifier": "arn:aws:rds:us-east-1:111122223333:db:my-sqlserver-instance",
            "PendingMaintenanceActionDetails": [
                {
                    "Action": "system-update",
                    "Description": "New Operating System update is available"
                }
            ]
        }
    ]
}
```
動作類型 `system-update` 表示您的執行個體可使用作業系統更新。  
**步驟 2：套用作業系統更新**  
使用 `apply-pending-maintenance-action`命令來排程更新：  

```
aws rds apply-pending-maintenance-action \ 
                --resource-identifier arn:aws:rds:us-east-1:111122223333:db:my-sqlserver-instance \ 
                --apply-action system-update \ 
                --opt-in-type immediate
```
`opt-in-type` 輸入具有下列選項：  
+ `immediate`：立即套用更新
+ `next-maintenance`：在下一個排定的維護時段套用更新
+ `undo-opt-in`：取消先前排定的更新
回應範例：  

```
{
    "ResourcePendingMaintenanceActions": {
        "ResourceIdentifier": "arn:aws:rds:us-east-1:111122223333:db:my-sqlserver-instance",
        "PendingMaintenanceActionDetails": [
            {
                "Action": "system-update",
                "AutoAppliedAfterDate": "2024-04-10T20:41:01.695000+00:00",
                "ForcedApplyDate": "2024-04-10T20:41:01.694000+00:00",
                "CurrentApplyDate": "2024-04-10T20:41:01.695000+00:00",
                "Description": "New Operating System update is available"
            }
        ]
    }
}
```

## 作業系統更新通知
<a name="custom-os-upgrade.OSNotifications"></a>

若要在新的選用作業系統修補程式可用時收到通知，您可以訂閱安全修補事件類別中的 [RDS-EVENT-0230](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Messages.html#RDS-EVENT-0230)。如需訂閱 RDS 事件的資訊，請參閱[訂閱 Amazon RDS 事件通知](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Events.Subscribing.html)。

## 考量事項
<a name="custom-os-upgrade.Considerations"></a>

下列考量和限制適用於作業系統更新：
+ 在作業系統更新期間，不會對 C：\$1 磁碟機進行任何作業系統自訂。
+ 我們建議您在套用更新之前先手動拍攝快照。

# 升級 Amazon RDS Custom for SQL Server 資料庫執行個體
<a name="custom-upgrading-sqlserver"></a>

您可以藉由將 Amazon RDS Custom for SQL Server 資料庫執行個體修改為使用新的資料庫引擎版本來進行升級。如需與升級資料庫執行個體相關的一般資訊，請參閱 [升級資料庫執行個體 引擎版本](USER_UpgradeDBInstance.Upgrading.md)。

**Topics**
+ [RDS Custom for SQL Server 中的升級概觀](#custom-upgrading-sqlserver.Overview)
+ [升級主要和次要引擎版本](#custom-upgrading-sqlserver.Upgrade)
+ [資料庫相容性等級](#custom-upgrading-sqlserver.Major.Compatibility)

## RDS Custom for SQL Server 中的升級概觀
<a name="custom-upgrading-sqlserver.Overview"></a>

Amazon RDS Custom for SQL Server 支援主要和次要版本升級。次要版本升級可能包括安全性修補程式、錯誤修正和引擎改進。Microsoft 會將這些更新發佈為累積更新 (CU)。主要版本升級會在版本之間引入新功能和引擎變更，例如從 SQL Server 2019 升級到 2022。您可以立即或在排定的維護時段期間套用這兩個升級。為了避免潛在的回溯相容性問題，建議您先在非生產環境中測試應用程式，然後再進行升級。

RDS Custom for SQL Server 可讓您升級 RDS 提供的引擎版本 (RPEV) 或自訂引擎版本 (CEV)。
+ RDS 提供的引擎版本 (RPEV) 包含最新的作業系統 (OS) 修補程式和 SQL Server 累積更新 (CU)。
+ 對於自訂引擎版本 (CEV)，您必須遵循兩步驟程序。首先，使用目標 SQL Server 版本建立新的 CEV，請參閱 [準備建立 RDS Custom for SQL Server 的 CEV](custom-cev-sqlserver.preparing.md)。此目標版本必須等於或大於您目前的版本。建立新的 CEV 後，請修改資料庫執行個體以使用此新版本。如需詳細資訊，請參閱[使用多可用區域執行 Amazon RDS Custom for SQL Server CEV 的次要版本升級](https://aws.amazon.com/blogs/database/performing-a-minor-version-upgrade-for-amazon-rds-custom-for-sql-server-cev-with-multi-az/)。

  請勿將 SQL Server 累積更新就地套用至執行中的 RDS Custom 執行個體。使用特定 SQL Server 版本 (例如 SQL Server 2022 CU16) 建立 CEV 之後，直接將較新的累積更新套用至執行個體，即可將其移出支援周邊並報告錯誤 `SP-S3006`。若要使用 CEV 修補現有的 SQL Server 執行個體，請建立新的 CEV，其中包含所需的累積更新，然後修改現有的執行個體以切換至新的 CEV。

如果您在多可用區域部署中升級 RDS Custom for SQL Server 資料庫執行個體，RDS Custom for SQL Server 會為您的執行個體執行滾動升級。此方法透過一次升級一個執行個體，將停機時間降至最低。RDS 會執行下列動作來執行滾動升級：

1. 升級待命資料庫執行個體。

1. 容錯移轉至升級的待命資料庫執行個體，使其成為新的主要資料庫執行個體。

1. 升級新的待命資料庫執行個體。

多可用區域部署的資料庫執行個體停機時間是容錯移轉所需的時間。

升級 RDS Custom for SQL Server 資料庫執行個體時有下列限制：
+ 不支援自訂資料庫選項和參數群組。
+ 升級後，不會連接您連接至 RDS Custom for SQL Server 資料庫執行個體的任何其他儲存磁碟區。
+ 對於 CEV，不支援就地套用 SQL Server 累積更新，並且會導致執行個體被移出支援周邊。

## 升級主要和次要引擎版本
<a name="custom-upgrading-sqlserver.Upgrade"></a>

主要和次要引擎版本升級皆為不可復原，且必須一律更新至較新的版本。若要識別可用的目標版本，請使用 AWS 管理主控台，並在修改資料庫執行個體時，從可用的版本中進行選擇。或者，使用 [https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-engine-versions.html) CLI 命令或 [DescribeDBEngineVersions](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_DescribeDBEngineVersions.html) RDS API 命令。

在 Linux、macOS 或 Unix 中：

```
aws rds describe-db-engine-versions \
    --engine custom-sqlserver-se \
    --engine-version 15.00.4322.2.v1 \
    --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" \
    --output table
```

在 Windows 中：

```
aws rds describe-db-engine-versions ^
    --engine custom-sqlserver-se ^
    --engine-version 15.00.4322.2.v1 ^
    --query "DBEngineVersions[*].ValidUpgradeTarget[*].{EngineVersion:EngineVersion}" ^
    --output table
```

輸出會顯示可用的目標引擎版本：

```
--------------------------
|DescribeDBEngineVersions|
+------------------------+
|      EngineVersion     |
+------------------------+
|  15.00.4410.1.v1       |
|  15.00.4415.2.v1       |
|  15.00.4430.1.v1       |
|  16.00.4165.4.v1       |
|  16.00.4175.1.v1       |
|  16.00.4185.3.v1       |
+------------------------+
```

識別目標版本後，請使用 AWS 管理主控台 並遵循 [修改 RDS Custom for SQL Server 資料庫執行個體](custom-managing.modify-sqlserver.md) 中的指示。或者，使用 [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) CLI 命令或 [ModifyDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) RDS API 命令。

在 Linux、macOS 或 Unix 中：

```
aws rds modify-db-instance \
    --db-instance-identifier DB_INSTANCE_IDENTIFIER \
    --engine-version ENGINE_VERSION \
    --allow-major-version-upgrade \
    --region Region \
    --no-apply-immediately
```

在 Windows 中：

```
aws rds modify-db-instance ^
    --db-instance-identifier DB_INSTANCE_IDENTIFIER ^
    --engine-version ENGINE_VERSION ^
    --allow-major-version-upgrade ^
    --region Region ^
    --no-apply-immediately
```

**注意**  
您必須包含 `--allow-major-version-upgrade` 參數才能執行主要版本升級。

## 資料庫相容性等級
<a name="custom-upgrading-sqlserver.Major.Compatibility"></a>

您可以使用 Microsoft SQL Server 資料庫相容性等級來調整某些資料庫行為，以模仿舊版的 SQL Server。如需詳細資訊，請參閱 Microsoft 文件中的[相容性等級](https://msdn.microsoft.com/en-us/library/bb510680.aspx)。

升級資料庫執行個體時，所有現有的資料庫都會保持其原來的相容性等級。例如，如果從 SQL Server 2019 升級到 SQL Server 2022，則所有現有資料庫的相容性等級均為 150。升級後建立的任何新資料庫都具有相容性等級 160。

您可以使用 ALTER DATABASE 命令來變更資料庫的相容性等級。例如，若要將名為 `customeracct` 的資料庫變更為與 SQL Server 2022 相容，可使用以下命令：

```
1. ALTER DATABASE customeracct SET COMPATIBILITY_LEVEL = 160
```

# 針對 Amazon RDS Custom for SQL Server 的資料庫問題進行故障診斷
<a name="custom-troubleshooting-sqlserver"></a>

RDS Custom 的共同的責任模型提供作業系統殼層層級存取權和資料庫管理員存取權。RDS Custom 會執行您的帳戶中的資源，不像是 Amazon RDS，它會執行系統帳戶中的資源。責任越大，存取權也越大。在下列各節中，您可以了解如何針對 Amazon RDS Custom for SQL Server 資料庫執行個體的問題進行故障診斷。

**注意**  
本節說明如何對 RDS Custom for SQL Server 進行故障診斷。若要對 RDS Custom for Oracle 進行故障診斷，請參閱 [針對 Amazon RDS Custom for Oracle 的資料庫問題進行故障診斷](custom-troubleshooting.md)。

**Topics**
+ [檢視 RDS Custom 事件](#custom-troubleshooting-sqlserver.support-perimeter.viewing-events)
+ [訂閱 RDS Custom 事件](#custom-troubleshooting-sqlserver.support-perimeter.subscribing)
+ [針對 RDS Custom for SQL Server 的 CEV 錯誤進行疑難排解](#custom-troubleshooting-sqlserver.cev)
+ [修正 RDS Custom for SQL Server 中不支援的組態](#custom-troubleshooting-sqlserver.fix-unsupported)
+ [針對 RDS Custom for SQL Server 中的 `Storage-Full` 進行故障診斷](#custom-troubleshooting-storage-full)
+ [針對 RDS Custom for SQL Server 中已啟用 TDE 之資料庫的 PENDING\$1RECOVERY 狀態進行故障診斷](#custom-troubleshooting-sqlserver.pending_recovery)

## 檢視 RDS Custom 事件
<a name="custom-troubleshooting-sqlserver.support-perimeter.viewing-events"></a>

RDS Custom 和 Amazon RDS 資料庫執行個體的檢視事件程序相同。如需詳細資訊，請參閱[檢視 Amazon RDS 事件](USER_ListEvents.md)。

若要使用 檢視 RDS Custom 事件通知 AWS CLI，請使用 `describe-events`命令。RDS Custom 引入數個新事件。事件類別與 Amazon RDS 的類別相同。如需事件清單，請參閱 [ Amazon RDS 事件類別和事件訊息](USER_Events.Messages.md)。

下列範例會擷取針對指定 RDS Custom 資料庫執行個體發生之事件的詳細資訊。

```
1. aws rds describe-events \
2.     --source-identifier my-custom-instance \
3.     --source-type db-instance
```

## 訂閱 RDS Custom 事件
<a name="custom-troubleshooting-sqlserver.support-perimeter.subscribing"></a>

RDS Custom 與 Amazon RDS 資料庫執行個體的訂閱事件程序相同。如需詳細資訊，請參閱[訂閱 Amazon RDS 事件通知](USER_Events.Subscribing.md)。

若要使用 CLI 來訂閱 RDS Custom 事件通知，請使用 `create-event-subscription` 命令。包含下列必要參數：
+ `--subscription-name`
+ `--sns-topic-arn`

下列範例會在目前 AWS 帳戶中建立 RDS Custom 資料庫執行個體之備份和復原事件的訂閱。通知會傳送至 Amazon Simple Notification Service (Amazon SNS) 主題，由 `--sns-topic-arn` 指定。

```
1. aws rds create-event-subscription \
2.     --subscription-name my-instance-events \
3.     --source-type db-instance \
4.     --event-categories '["backup","recovery"]' \
5.     --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events
```

## 針對 RDS Custom for SQL Server 的 CEV 錯誤進行疑難排解
<a name="custom-troubleshooting-sqlserver.cev"></a>

當您嘗試建立 CEV 時，其可能會失敗。在此情況下，RDS Custom 會發出 `RDS-EVENT-0198` 事件訊息。如需檢視 RDS 事件的詳細資訊，請參閱 [ Amazon RDS 事件類別和事件訊息](USER_Events.Messages.md)。

使用下列資訊來協助您處理可能的原因。


****  

| 訊息 | 故障診斷建議 | 
| --- | --- | 
| `Custom Engine Version creation expected a Sysprep’d AMI. Retry creation using a Sysprep’d AMI.` | 在您從 AMI 建立的 EC2 執行個體上執行 Sysprep。如需使用 Sysprep 準備 AMI 的詳細資訊，請參閱[使用 Sysprep 建立標準化 Amazon Machine Image (AMI)](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/Creating_EBSbacked_WinAMI.html#sysprep-using-ec2launchv2)。 | 
| `EC2 Image permissions for image (AMI_ID) weren't found for customer (Customer_ID). Verify customer (Customer_ID) has valid permissions on the EC2 Image.` | 驗證用於建立的帳戶和設定檔是否在所選 AMI 的 `create EC2 Instance` 和 `Describe Images` 上具有所需的許可。 | 
| `Failed to rebuild databases with server collation (collation name) due to missing setup.exe file for SQL Server.` | 確認 `setup` 檔案位於 `C:\Program Files\Microsoft SQL Server\nnn\Setup Bootstrap\SQLnnnn\setup.exe`。 | 
| `Image (AMI_ID) doesn't exist in your account (ACCOUNT_ID). Verify (ACCOUNT_ID) is the owner of the EC2 image.` | 確定 AMI 存在於相同的客戶帳戶中。 | 
| `Image id (AMI_ID) isn't valid. Specify a valid image id, and try again.` | AMI 的名稱不正確。確定提供了正確的 AMI ID。 | 
| `Image (AMI_ID) operating system platform isn't supported. Specify a valid image, and try again.` |  選擇具有 Windows Server 搭配 SQL Server Enterprise、Standard 或 Web Edition 的受支援 AMI。從 EC2 Marketplace 選擇具有下列其中一個使用操作的 AMI： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-troubleshooting-sqlserver.html)  | 
| `SQL Server Web Edition isn't supported for creating a Custom Engine Version using Bring Your Own Media. Specify a valid image, and try again.` | 使用包含受支援 SQL Server版本的 AMI。如需詳細資訊，請參閱[RDS Custom for SQL Server CEV 的版本支援](custom-cev-sqlserver.preparing.md#custom-cev-sqlserver.preparing.VersionSupport)。 | 
| `The custom engine version can't be the same as the OEV engine version. Specify a valid CEV, and try again.` | 不支援傳統 RDS Custom for SQL Server 引擎版本。例如，版本 **15.00.4073.23.v1**。使用支援的版本號碼。 | 
| `The custom engine version isn't in an active state. Specify a valid CEV, and try again.` | CEV 必須處於 `AVAILABLE` 狀態才能完成操作。將 CEV 從 `INACTIVE` 修改為 `AVAILABLE`。 | 
| `The custom engine version isn't valid for an upgrade. Specify a valid CEV with an engine version greater or equal to (X), and try again.` | 目標 CEV 無效。檢查有效升級路徑的需求。 | 
| `The custom engine version isn't valid. Names can include only lowercase letters (a-z), dashes (-), underscores (_), and periods (.). Specify a valid CEV, and try again.` | 遵循所需的 CEV 命名慣例。如需詳細資訊，請參閱[RDS Custom for SQL Server CEV 的要求](custom-cev-sqlserver.preparing.md#custom-cev-sqlserver.preparing.Requirements)。 | 
| `The custom engine version isn't valid. Specify valid database engine version, and try again. Example: 15.00.4073.23-cev123.` | 已提供不受支援的 DB 引擎版本。請使用支援的資料庫引擎版本。 | 
| `The expected architecture is (X) for image (AMI_ID), but architecture (Y) was found.` | 使用建置在 **x86\$164** 架構上的 AMI。 | 
| `The expected owner of image (AMI_ID) is customer account ID (ACCOUNT_ID), but owner (ACCOUNT_ID) was found.` | 從您對其具有許可的 AMI 建立 EC2 執行個體。在 EC2 執行個體上執行 Sysprep，以建立並儲存基礎映像。 | 
| `The expected platform is (X) for image (AMI_ID), but platform (Y) was found.` | 使用透過 Windows 平台建置的 AMI。 | 
| `The expected root device type is (X) for image %s, but root device type (Y) was found.` | 使用 EBS 裝置類型建立 AMI。 | 
| `The expected SQL Server edition is (X), but (Y) was found.` |  選擇具有 Windows Server 搭配 SQL Server Enterprise、Standard 或 Web Edition 的受支援 AMI。從 EC2 Marketplace 選擇具有下列其中一個使用操作的 AMI： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonRDS/latest/UserGuide/custom-troubleshooting-sqlserver.html)  | 
| `The expected state is (X) for image (AMI_ID), but the following state was found: (Y).` | 確定 AMI 處於 `AVAILABLE` 的狀態。 | 
| `The provided Windows OS name (X) isn’t valid. Make sure the OS is one of the following: (Y).` | 使用支援的 Windows 作業系統。 | 
| `Unable to find bootstrap log file in path.` | 確認日誌檔案位於 `C:\Program Files\Microsoft SQL Server\nnn\Setup Bootstrap\Log\Summary.txt`。 | 
| `RDS expected a Windows build version greater than or equal to (X), but found version (Y).`. | 使用最低作業系統組建版本為 **14393** 的 AMI。 | 
| `RDS expected a Windows major version greater than or equal to (X), but found version (Y).`. | 使用最低作業系統主要版本為 **10.0** 或更新版本的 AMI。 | 

## 修正 RDS Custom for SQL Server 中不支援的組態
<a name="custom-troubleshooting-sqlserver.fix-unsupported"></a>

由於採取共同的責任模型，您必須負責修正讓 RDS Custom for SQL Server 資料庫執行個體進入 `unsupported-configuration` 狀態的組態問題。如果問題出在 AWS 基礎設施，您可以使用 主控台或 AWS CLI 進行修正。如果問題與作業系統或資料庫組態相關，您可以登入主機進行修正。

**注意**  
本節說明如何修正 RDS Custom for SQL Server 中不支援的組態。如需 RDS Custom for Oracle 的相關資訊，請參閱 [修正 RDS Custom for Oracle 中不支援的組態](custom-troubleshooting.md#custom-troubleshooting.fix-unsupported)。

您可以在下表中找到支援周邊所傳送通知和事件的說明，以及了解如何進行修正。這些通知和支援周邊可能會變更。如需支援周邊的相關背景，請參閱 [RDS Custom 支援周邊](custom-concept.md#custom-troubleshooting.support-perimeter)。如需事件說明，請參閱 [ Amazon RDS 事件類別和事件訊息](USER_Events.Messages.md)。


| 事件代碼 | 組態區域 | RDS 事件訊息 | 驗證程序 | 
| --- | --- | --- | --- | 
|  `SP-S0000`  |  手動不支援的組態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：`X`。  |  若要解決此問題，請建立支援案例。  | 

**AWS 資源 （基礎設施）**


| 事件代碼 | 組態區域 | RDS 事件訊息 | 驗證程序 | 
| --- | --- | --- | --- | 
|  `SP-S1001`  |  EC2 執行個體狀態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：基礎 EC2 執行個體 %s 已停止，但未停止 RDS 執行個體。您可以透過啟動基礎 EC2 執行個體，並確保連接二進位和資料磁碟區來解決此問題。如果您打算停止 RDS 執行個體，請先確定基礎 EC2 執行個體處於可用狀態，然後使用 RDS 主控台或 CLI 來停止 RDS 執行個體。  |  若要檢查資料庫執行個體的狀態，請使用主控台或執行下列 AWS CLI 命令： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep DBInstanceStatus<br />                            </pre>  | 
|  `SP-S1002`  |  EC2 執行個體狀態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：RDS 資料庫執行個體狀態設定為 `STOPPED`，但基礎 EC2 執行個體 %s 已啟動。您可以停止基礎 EC2 執行個體來解決此問題。如果您打算啟動 RDS 執行個體，請使用主控台或 CLI。  |   使用下列 AWS CLI 命令來檢查資料庫執行個體的狀態： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep DBInstanceStatus</pre> 您還可以使用 EC2 主控台來檢查 EC2 執行個體的狀態。 若要啟動資料庫執行個體，請使用主控台或執行下列 AWS CLI 命令： <pre>aws rds start-db-instance \<br />    --db-instance-identifier db-instance-name</pre>  | 
|  `SP-S1003`   |  EC2 執行個體類別  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：EC2 主機的預期和設定的資料庫執行個體類別不相符。您可以透過將資料庫執行個體類別修改為其原始類別類型來解決此問題。  |   使用下列 CLI 命令來檢查預期的資料庫執行個體類別： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep DBInstanceClass</pre>  | 
|  `SP-S1004`  |  EBS 儲存磁碟區無法存取  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：目前無法存取與 EC2 執行個體相關聯的原始 EBS 儲存磁碟區 %s。  |    | 
|  `SP-S1005`  |  EBS 儲存磁碟區已分離  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：未連接原始 EBS 儲存磁碟區 "volume-id"。您可以透過連接與 EC2 執行個體相關聯的 EBS 磁碟區來解決此問題。  |   重新連接 EBS 磁碟區後，請使用下列 CLI 命令來檢查 EBS 磁碟區 'volume-id' 是否已正確連接至 RDS 執行個體： <pre>aws ec2 describe-volumes \<br />    --volume-ids volume-id |grep InstanceId</pre>  | 
|  `SP-S1006`  |  EBS 儲存磁碟區大小  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：EBS 儲存磁碟區 "volume-id" 的預期和設定的設定不相符。磁碟區大小已在 EC2 層級從其原始值 [%s] 手動變更過。若要解決此問題，請建立支援案例。  |   使用下列 CLI 命令來比較 EBS 磁碟區 'volume-id' 詳細資訊和 RDS 執行個體詳細資訊的磁碟區大小： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep AllocatedStorage</pre>  使用下列 CLI 命令來檢視實際配置的磁碟區大小： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep Size</pre>  | 
|  `SP-S1007`  |  EBS 儲存磁碟區組態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：EBS 儲存磁碟區 "volume-id" 的預期和設定的設定不相符。您可以透過在 EC2 層級將 EBS 儲存磁碟區組態 [IOPS、輸送量、磁碟區類型] 修改為其原始值 [IOPS：%s、輸送量：%s、磁碟區類型：%s] 來解決此問題。對於未來的儲存體修改，請使用 RDS 主控台或 CLI。磁碟區大小也已在 EC2 層級從其原始值 [%s] 手動變更過。若要解決此問題，請建立支援案例。  |   使用下列 CLI 命令來比較 EBS 磁碟區 'volume-id' 詳細資訊和 RDS 執行個體詳細資訊的磁碟區類型：確定 EBS 層級的值符合 RDS 層級的值： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep StorageType</pre> 若要在 RDS 層級取得儲存輸送量的預期值： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep StorageThroughput</pre>  若要在 RDS 層級取得磁碟區 IOPS 的預期值： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep Iops</pre> 若要在 EC2 層級取得目前的儲存類型： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep VolumeType</pre>  若要在 EC2 層級取得儲存輸送量的目前值： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep Throughput</pre> 若要在 EC2 層級取得磁碟區 IOPS 的目前值： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep Iops</pre>  | 
|  `SP-S1008`  |  EBS 儲存磁碟區大小和組態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：EBS 儲存磁碟區 "volume-id" 的預期和設定的設定不相符。您可以透過在 EC2 層級將 EBS 儲存磁碟區組態 [IOPS、輸送量、磁碟區類型] 修改為其原始值 [IOPS：%s、輸送量：%s、磁碟區類型：%s] 來解決此問題。對於未來的儲存體修改，請使用 RDS 主控台或 CLI。磁碟區大小也已在 EC2 層級從其原始值 [%s] 手動變更過。若要解決此問題，請建立支援案例。  |   使用下列 CLI 命令來比較 EBS 磁碟區 'volume-id' 詳細資訊和 RDS 執行個體詳細資訊的磁碟區類型：確定 EBS 層級的值符合 RDS 層級的值： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep StorageType</pre> 若要在 RDS 層級取得儲存輸送量的預期值： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep StorageThroughput</pre>  若要在 RDS 層級取得磁碟區 IOPS 的預期值： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep Iops</pre> 若要在 EC2 層級取得目前的儲存類型： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep VolumeType</pre>  若要在 EC2 層級取得儲存輸送量的目前值： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep Throughput</pre> 若要在 EC2 層級取得磁碟區 IOPS 的目前值： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep Iops</pre> 若要取得預期的已配置磁碟區大小： <pre>aws rds describe-db-instances \<br />    --db-instance-identifier db-instance-name |grep AllocatedStorage</pre> 若要取得實際的已配置磁碟區大小： <pre>aws ec2 describe-volumes \<br />    --volume-ids |grep Size</pre>  | 
|  `SP-S1009`  |  SQS 許可  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：IAM 執行個體設定檔缺少 Amazon Simple Queue Service (SQS) 許可。您可以透過確保與主機相關聯的 IAM 設定檔具有下列許可：["SQS:SendMessage","SQS:ReceiveMessage","SQS:DeleteMessage","SQS:GetQueueUrl"] 來解決此問題。  |    | 
|  `SP-S1010`  |  SQS VPC 端點  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：VPC 端點政策會封鎖 Amazon Simple Queue Service (SQS) 作業。您可以透過修改 VPC 端點政策以允許必要的 SQS 動作來解決此問題。  |    | 
|  `SP-S1011`  |  事件匯流排政策  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：事件匯流排 arn:aws:events:region-1:123456789012:event-bus/default 拒絕 Amazon CloudWatch Events：PutEvents 動作的資源型政策。透過修改資源型政策以允許 EventBus %s 的 events:PutEvents 動作來解決此問題。  |    | 
|  `SP-S1012`  |  CloudWatch VPC 許可  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：VPC 端點政策缺少存取 Amazon CloudWatch Events 的許可。透過修改 VPC 端點政策以在 EventBus arn:aws:events:region-1:123456789012:event-bus/default 上允許 events:PutEvents 來解決此問題。  |    | 
|  `SP-S1013`  |  服務控制政策  |  RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】，因為：您 中的服務控制政策 AWS Organizations 缺少存取 Amazon CloudWatch 事件的許可。透過修改服務控制政策以在 EventBus arn:aws:events:region-1:123456789012:event-bus/default 上允許 events:PutEvents 來解決此問題。  |    | 
|  `SP-S1014`  |  IAM 執行個體描述檔  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：您的 IAM 執行個體設定檔 %s 許可拒絕 Amazon CloudWatch Events。透過將 ["events:PutEvents"] 設定為 'Allow'，並在與執行個體相關聯的 IAM 設定檔中，在 EventBus arn:aws:events:region-1:123456789012:event-bus/default 上允許 events:PutEvents 來解決此問題。  |    | 
|  `SP-S1015`  |  IAM 執行個體描述檔  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：您的 IAM 執行個體設定檔 %s 缺少 Amazon CloudWatch Events 許可。透過包含 ["events:PutEvents"] 許可，並在與執行個體相關聯的 IAM 設定檔中，在 EventBus arn:aws:events:region-1:123456789012:event-bus/default 上允許 events:PutEvents 來解決此問題。  |    | 
|  `SP-S1016`  |  IAM 許可界限  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：您的 IAM 執行個體設定檔 %s 有許可界限，拒絕 Amazon CloudWatch Events。透過在您的 IAM 執行個體設定檔許可界限中，針對 EventBus arn:aws:events:region-1:123456789012:event-bus/default，將 ["events:PutEvents"] 設定為 'Allow' 來解決此問題。  |    | 

**作業系統**


| 事件代碼 | 組態區域 | RDS 事件訊息 | 驗證程序 | 
| --- | --- | --- | --- | 
|  `SP-S2001`  |  SQL 服務狀態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：SQL Server 服務未啟動。您可以透過在主機上重新啟動 SQL Server 服務來解決此問題。如果此資料庫執行個體是多可用區域資料庫執行個體且重新啟動失敗，則停止然後啟動主機，以啟動容錯移轉。  |  | 
|  `SP-S2002`  |  RDS Custom 代理程式狀態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：RDS Custom Agent 服務未安裝或無法啟動。您可以透過檢閱 Windows 事件日誌以判斷服務無法啟動的原因，並採取適當的步驟以修正問題來解決此問題。如需其他協助，請建立支援案例。  |  登入主機並確定 RDS Custom 代理程式正在執行。 您可以使用下列命令來檢視代理程式狀態。 <pre>$name = "RDSCustomAgent"<br />$service = Get-Service $name<br />Write-Host $service.Status</pre> 如果狀態不是 `Running`，您可以使用下列命令啟動服務： <pre>Start-Service $name</pre> 如果代理程式無法啟動，請檢查 Windows 事件，以了解無法啟動的原因。代理程式需要 Windows 使用者才能啟動服務。確保 Windows 使用者存在，並具有執行服務的權限。  | 
|  `SP-S2003`  |  SSM 代理程式狀態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：無法連線 Amazon SSM Agent 服務。您可以透過使用 `Get-Service AmazonSSMAgent` PowerShell 命令檢查服務狀態，或使用 `Start-Service AmazonSSMAgent` 啟動服務，對此進行故障診斷。確保允許 HTTPS (連接埠 443) 傳出流量至 **ssm**、**ssmmessages** 和 **ec2messages** 區域端點。  |  如需詳細資訊，請參閱[針對 SSM Agent 進行故障診斷](https://docs.aws.amazon.com/systems-manager/latest/userguide/troubleshooting-ssm-agent.html)。 若要對 SSM 端點進行故障診斷，請參閱[無法連線至 SSM 端點](https://docs.aws.amazon.com/systems-manager/latest/userguide/troubleshooting-ssm-agent.html#systems-manager-ssm-agent-troubleshooting-endpoint-access)和[使用 ssm-cli 對受管節點可用性進行故障診斷](https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-cli.html#agent-ts-ssm-cli)。  | 
|  `SP-S2004`  |  RDS Custom Agent 登入  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：SQL `"$HOSTNAME/RDSAgent”` 登入時發生非預期問題。若要解決此問題，請建立支援案例。  |  | 
|  `SP-S2005`  |  時區  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：Amazon EC2 執行個體 [%s] 上的時區已變更。您可以透過將時區修改回執行個體建立期間所指定的設定來解決此問題。如果您想要建立具有特定時區的執行個體，請參閱 RDS Custom 文件。  |  執行 `Get-Timezone` PowerShell 命令以確認時區。 如需詳細資訊，請參閱[RDS Custom for SQL Server 資料庫執行個體的本機時區](custom-reqs-limits-MS.TimeZone.md)。  | 
|  `SP-S2006`  |  高可用性軟體解決方案版本  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：目前執行個體的高可用性軟體解決方案與預期的版本不同。若要解決此問題，請建立支援案例。  |  | 
|  `SP-S2007`  |  高可用性軟體解決方案組態  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：執行個體 %s 上高可用性軟體解決方案的組態設定已修改為非預期的值。若要修正此問題，請重新啟動 EC2 執行個體。當您重新啟動 EC2 執行個體時，它會自動將設定更新為高可用性軟體解決方案所需的組態。  |    | 
| SP-S2008 |  SQL Server 服務   |  RDS Custom 資料庫執行個體設定為 [不支援的組態]：SQLServer (MSSQLServer) 服務不存在於主機上。若要解決此問題，請建立支援案例。  |  您可以使用下列命令來檢視代理程式狀態。 <pre>$name = "MSSQLServer"<br />$service = Get-Service $name<br />Write-Host $service.Status</pre>  | 
| SP-S2009 | SSL 憑證 |  RDS Custom 資料庫執行個體設定為 [不支援的組態]，原因：在 RDS 中導致中斷的非自我簽署 SSL 憑證。若要解決此問題，請從信任的根憑證存放區移除非自我簽署憑證。  |  執行下列 PowerShell 命令來檢閱非自我簽署憑證。 <pre>Get-ChildItem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject -and $_.Issuer -notlike "*RDSCustomAgentCA*"}</pre> 如需詳細資訊，請參閱[嘗試存取 IIS 上託管的網站時，發生 HTTP Error 403.16](https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/iis/site-behavior-performance/http-403-forbidden-access-website)。  | 
| SP-S2010 | 根磁碟區儲存狀態 |  RDS Custom 資料庫執行個體設定為 [不支援的組態]，原因：根磁碟區儲存已滿。若要解決此問題，請釋出根 EBS 磁碟區 "volume-id" 中至少 500 MiB 的儲存空間，或增加磁碟區大小，並在 EC2 執行個體 "instance-id" 上調整 C 磁碟機的大小。當您取代 EC2 執行個體時，根磁碟區大小變更不會持續存在。  |  使用下列命令來檢視根 (C:) 磁碟區上的可用儲存。 <pre>(Get-PSDrive -Name C).Free / 1MB</pre> 如需修改 EBS 根磁碟區的詳細資訊，請參閱[方法](https://forums.aws.amazon.com/knowledge-center/expand-ebs-root-volume-windows)  | 

**資料庫**


| 事件代碼 | 組態區域 | RDS 事件訊息 | 驗證程序 | 
| --- | --- | --- | --- | 
|  `SP-S3001`  |  SQL Server 共用記憶體通訊協定  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：SQL Server 共用記憶體通訊協定已停用。您可以透過在 SQL Server Configuration Manager 中啟用共用記憶體通訊協定來解決此問題。  |  您可以透過檢查：**SQL Server Configuration Manager > SQL Server Network 組態 > MSSQLSERVER 的協定 > 共用記憶體** 為 [已啟用] 來進行驗證。啟用通訊協定之後，請重新啟動 SQL Server 程序。  | 
|  `SP-S3002`  |  服務主金鑰  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：RDS 自動化無法在新的 SMK 產生過程中採用備份服務主金鑰 (SMK)。若要解決此問題，請建立支援案例。  |    | 
|  `SP-S3003`  |  服務主金鑰  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：與服務主金鑰 (SMK) 相關的中繼資料遺失或不完整。若要解決此問題，請建立支援案例。  |    | 
|  `SP-S3004`  |  資料庫引擎版本  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：預期和已安裝的 SQL Server 版本不相符：RDS Custom for SQL Server 不支援修改 SQL Server 版本。此外，不支援在 RDS Custom EC2 執行個體上手動變更 SQL Server 版本。若要解決此問題，請建立支援案例。  |   執行下列查詢以取得 SQL 版本： <pre>select @@version</pre>  執行下列 AWS CLI 命令以取得 RDS SQL 引擎版本和版本： <pre>aws rds describe-db-instances \<br />--db-instance-identifier db-instance-name |grep EngineVersion<br />aws rds describe-db-instances \<br />--db-instance-identifier db-instance-name |grep Engine</pre> 如需詳細資訊，請參閱[修改 RDS Custom for SQL Server 資料庫執行個體](custom-managing.modify-sqlserver.md)及[升級資料庫執行個體 引擎版本](USER_UpgradeDBInstance.Upgrading.md)。  | 
|  `SP-S3005`   |  資料庫引擎版本  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：目前的 SQL Server 版本不符合預期的 SQL Server 版本 [%s]：RDS Custom for SQL Server 不支援修改 SQL Server 版本。若要解決此問題，請建立支援案例。  |   執行下列查詢以取得 SQL 版本： 

**Example**  

```
select @@version
```  執行下列 AWS CLI 命令以取得 RDS SQL 引擎版本： <pre>aws rds describe-db-instances \<br />--db-instance-identifier db-instance-name |grep Engine</pre>  | 
|  `SP-S3006`   |  資料庫引擎版本  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：目前的 SQL Server 版本不符合預期的 SQL Server 版本 [%s]：您無法手動變更 RDS Custom EC2 執行個體上的 SQL Server 版本。若要解決此問題，請建立支援案例。對於 SQL Server 版本的任何未來修改，您可以從 AWS RDS 主控台或透過 modify-db-instance CLI 命令修改執行個體。  |   執行下列查詢以取得 SQL 版本： 

**Example**  

```
select @@version
```  執行下列 AWS CLI 命令以取得 RDS SQL 引擎版本： <pre>aws rds describe-db-instances \<br />--db-instance-identifier db-instance-name |grep EngineVersion</pre> 如需詳細資訊，請參閱[修改 RDS Custom for SQL Server 資料庫執行個體](custom-managing.modify-sqlserver.md)及[升級資料庫執行個體 引擎版本](USER_UpgradeDBInstance.Upgrading.md)。  | 
|  `SP-S3007`  |  資料庫檔案位置  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：資料庫檔案是在 D:\$1 磁碟機外部進行設定。您可以透過確保所有資料庫檔案 (包括 ROW、LOG、FILESTREAM 等) 皆存放在 D:\$1 磁碟機上來解決此問題。  |  執行下列查詢，列出不在預設路徑中的資料庫檔案之位置： <pre>USE master;<br />SELECT physical_name as  files_not_in_default_path<br />FROM sys.master_files<br />WHERE SUBSTRING(physical_name,1,3)!='D:\';<br /></pre>  | 
|  `SP-S3008`  |  超過資料庫計數限制  |  RDS Custom 資料庫執行個體狀態設定為 [不支援的組態]，原因：資料庫執行個體上的資料庫總數超過上限 5000。若要解決此問題，請將資料庫數量減少到支援的上限以下。  |  使用下列命令來檢視資料庫總計數： <pre>SELECT COUNT(name) as databaseCount<br />FROM sys.databases<br />WHERE name not in ('tempdb','master','model','msdb','DWDiagnostics','DWConfiguration','DWQueue');</pre>  | 

## 針對 RDS Custom for SQL Server 中的 `Storage-Full` 進行故障診斷
<a name="custom-troubleshooting-storage-full"></a>

RDS Custom 也會監控根 (C:) 磁碟區。當根磁碟區可用磁碟空間少於 500 MiB 時，RDS Custom for SQL Server 資料庫執行個體會轉移為 `unsupported-configuration` 狀態。請參閱[修正 RDS Custom for SQL Server 中不支援的組態](#custom-troubleshooting-sqlserver.fix-unsupported)中的`Event SP-S2010`。

## 針對 RDS Custom for SQL Server 中已啟用 TDE 之資料庫的 PENDING\$1RECOVERY 狀態進行故障診斷
<a name="custom-troubleshooting-sqlserver.pending_recovery"></a>

如果自動解密遇到問題，啟用透明資料加密 (TDE) 的 SQL Server 資料庫可能會維持 `PENDING_RECOVERY` 狀態。如果在還原完成之前就已刪除存放在您帳戶中 RDS Custom 受管 S3 儲存貯體中的來源資料庫執行個體服務主金鑰 (SMK) 備份檔案，則通常會在資料庫執行個體還原之後發生這種情況。

若要啟用自動解密並使已啟用 TDE 的資料庫上線，您需要使用其密碼開啟資料庫主金鑰 (DMK)，並使用 SMK 來加密 DMK。

使用下列 SQL Server 命令做為參考：

```
-- Identify PENDING_RECOVERY TDE databases
USE MASTER;
GO
SELECT name, is_encrypted, state_desc FROM sys.databases;
GO

-- Open DMK using password
OPEN MASTER KEY DECRYPTION BY PASSWORD = '<password>';
GO

-- Encrypt DMK using SMK
ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY;
GO

-- Close SMK
CLOSE MASTER KEY;
GO

-- Bring the TDE databases online
ALTER DATABASE <database_name> SET ONLINE;
GO

-- Verify TDE databases are now in ONLINE state
SELECT name, is_encrypted, state_desc FROM sys.databases;
GO
```