

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

# 針對 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
```