針對 Amazon RDS Custom for SQL Server 的資料庫問題進行故障診斷 - Amazon Relational Database Service

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

針對 Amazon RDS Custom for SQL Server 的資料庫問題進行故障診斷

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 的資料庫問題進行故障診斷

檢視 RDS Custom 事件

RDS Custom 和 Amazon RDS 資料庫執行個體的檢視事件程序相同。如需詳細資訊,請參閱查看 Amazon RDS 活動

若要使用 檢視 RDS Custom 事件通知 AWS CLI,請使用 describe-events命令。RDS Custom 引入數個新事件。事件類別與 Amazon RDS 的類別相同。如需事件清單,請參閱 Amazon RDS 事件類別和事件訊息

下列範例會擷取針對指定 RDS Custom 資料庫執行個體發生之事件的詳細資訊。

aws rds describe-events \ --source-identifier my-custom-instance \ --source-type db-instance

訂閱 RDS Custom 事件

RDS Custom 與 Amazon RDS 資料庫執行個體的訂閱事件程序相同。如需詳細資訊,請參閱訂閱 Amazon RDS 事件通知

若要使用 CLI 來訂閱 RDS Custom 事件通知,請使用 create-event-subscription 命令。包含下列必要參數:

  • --subscription-name

  • --sns-topic-arn

下列範例會在目前 AWS 帳戶中建立 RDS Custom 資料庫執行個體之備份和復原事件的訂閱。通知會傳送至 Amazon Simple Notification Service (Amazon SNS) 主題,由 --sns-topic-arn 指定。

aws rds create-event-subscription \ --subscription-name my-instance-events \ --source-type db-instance \ --event-categories '["backup","recovery"]' \ --sns-topic-arn arn:aws:sns:us-east-1:123456789012:interesting-events

針對 RDS Custom for SQL Server 的 CEV 錯誤進行疑難排解

當您嘗試建立 CEV 時,其可能會失敗。在此情況下,RDS Custom 會發出 RDS-EVENT-0198 事件訊息。如需檢視 RDS 事件的詳細資訊,請參閱 Amazon RDS 事件類別和事件訊息

使用下列資訊來協助您處理可能的原因。

訊息 故障診斷建議

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)

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 InstanceDescribe 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:

  • RunInstances:0102 - Windows with SQL Server Enterprise

  • RunInstances:0006 - Windows with SQL Server Standard

  • RunInstances:0202 - Windows with SQL Server Web

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 的版本支援

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 的要求

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_64 架構上的 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:

  • RunInstances:0102 - Windows with SQL Server Enterprise

  • RunInstances:0006 - Windows with SQL Server Standard

  • RunInstances:0202 - Windows with SQL Server Web

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 中不支援的組態

由於採取共同的責任模型,您必須負責修正讓 RDS Custom for SQL Server 資料庫執行個體進入 unsupported-configuration 狀態的組態問題。如果問題出在 AWS 基礎設施,您可以使用 主控台或 AWS CLI 進行修正。如果問題與作業系統或資料庫組態相關,您可以登入主機進行修正。

注意

本節說明如何修正 RDS Custom for SQL Server 中不支援的組態。如需 RDS Custom for Oracle 的相關資訊,請參閱 修正 RDS Custom for Oracle 中不支援的組態

在下表中,您可以找到支援周邊傳送的通知和事件描述,以及如何修正這些通知和事件。這些通知和支援周邊可能會變更。如需支援周邊的相關背景,請參閱 RDS Custom 支援周邊。如需事件說明,請參閱 Amazon RDS 事件類別和事件訊息

事件代碼 組態區域 RDS 事件訊息 驗證程序

SP-S0000

手動不支援的組態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:X

若要解決此問題,請建立支援案例。

AWS 資源 (基礎設施)

事件代碼 組態區域 RDS 事件訊息 驗證程序

SP-S1001

EC2 執行個體狀態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:基礎 EC2 執行個體 %s 已停止,但未停止 RDS 執行個體。您可以透過啟動基礎 EC2 執行個體並確保連接二進位和資料磁碟區來解決此問題。如果您打算停止 RDS 執行個體,請先確定基礎 EC2 執行個體處於可用狀態,然後使用 RDS 主控台或 CLI 來停止 RDS 執行個體。

若要檢查資料庫執行個體的狀態,請使用 主控台或執行下列 AWS CLI 命令:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep DBInstanceStatus

SP-S1002

EC2 執行個體狀態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:RDS 資料庫執行個體狀態設定為 ,STOPPED但基礎 EC2 執行個體 %s 已啟動。您可以停止基礎 EC2 執行個體來解決此問題。如果您打算啟動 RDS 執行個體,請使用 主控台或 CLI。

使用下列 AWS CLI 命令來檢查資料庫執行個體的狀態:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep DBInstanceStatus

您也可以使用 EC2 主控台檢查 EC2 執行個體的狀態。

若要啟動資料庫執行個體,請使用 主控台或執行下列 AWS CLI 命令:

aws rds start-db-instance \ --db-instance-identifier db-instance-name

SP-S1003

EC2 執行個體類別

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為 EC2 主機的預期和設定的資料庫執行個體類別不相符。您可以將資料庫執行個體類別修改為其原始類別類型來解決此問題。

使用下列 CLI 命令來檢查預期的資料庫執行個體類別:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep DBInstanceClass

SP-S1004

EBS 儲存磁碟區無法存取

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:目前無法存取與 EC2 執行個體相關聯的原始 EBS 儲存磁碟區 %s。

SP-S1005

EBS 儲存磁碟區已分離

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:未連接原始 EBS 儲存磁碟區 "volume-id"。您可以連接與 EC2 執行個體相關聯的 EBS 磁碟區來解決此問題。

重新連接 EBS 磁碟區後,請使用下列 CLI 命令來檢查 EBS 磁碟區 'volume-id' 是否已正確連接至 RDS 執行個體:

aws ec2 describe-volumes \ --volume-ids volume-id |grep InstanceId

SP-S1006

EBS 儲存磁碟區大小

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:EBS 儲存磁碟區 "volume-id" 的預期和設定不相符。磁碟區大小已在 EC2 層級從原始值 【%s) 手動變更。若要解決此問題,請建立支援案例。

使用下列 CLI 命令來比較 EBS 磁碟區 'volume-id' 詳細資訊和 RDS 執行個體詳細資訊的磁碟區大小:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep AllocatedStorage

使用下列 CLI 命令來檢視實際配置的磁碟區大小:

aws ec2 describe-volumes \ --volume-ids |grep Size

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 層級的值:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep StorageType

若要在 RDS 層級取得儲存輸送量的預期值:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep StorageThroughput

若要在 RDS 層級取得磁碟區 IOPS 的預期值:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep Iops

若要在 EC2 層級取得目前的儲存類型:

aws ec2 describe-volumes \ --volume-ids |grep VolumeType

若要在 EC2 層級取得儲存輸送量的目前值:

aws ec2 describe-volumes \ --volume-ids |grep Throughput

若要在 EC2 層級取得磁碟區 IOPS 的目前值:

aws ec2 describe-volumes \ --volume-ids |grep Iops

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 層級的值:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep StorageType

若要在 RDS 層級取得儲存輸送量的預期值:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep StorageThroughput

若要在 RDS 層級取得磁碟區 IOPS 的預期值:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep Iops

若要在 EC2 層級取得目前的儲存類型:

aws ec2 describe-volumes \ --volume-ids |grep VolumeType

若要在 EC2 層級取得儲存輸送量的目前值:

aws ec2 describe-volumes \ --volume-ids |grep Throughput

若要在 EC2 層級取得磁碟區 IOPS 的目前值:

aws ec2 describe-volumes \ --volume-ids |grep Iops

若要取得預期的已配置磁碟區大小:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep AllocatedStorage

若要取得實際配置的磁碟區大小:

aws ec2 describe-volumes \ --volume-ids |grep Size

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 動作來解決此問題。

作業系統

事件代碼 組態區域 RDS 事件訊息 驗證程序

SP-S2001

SQL 服務狀態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:SQL Server 服務未啟動。您可以透過重新啟動主機上的 SQL Server 服務來解決此問題。如果此資料庫執行個體是多可用區域資料庫執行個體且重新啟動失敗,則停止並啟動主機以啟動容錯移轉。

SP-S2002

RDS 自訂代理程式狀態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:RDS Custom Agent 服務未安裝或無法啟動。您可以檢閱 Windows 事件日誌以判斷服務為何無法啟動,並採取適當的步驟來修正問題,藉此解決此問題。如需其他協助,請建立支援案例。

登入主機並確定 RDS Custom 代理程式正在執行。

您可以使用下列命令來檢視客服人員狀態。

$name = "RDSCustomAgent" $service = Get-Service $name Write-Host $service.Status

如果狀態不是 Running,您可以使用下列命令啟動服務:

Start-Service $name

如果代理程式無法啟動,請檢查 Windows 事件,了解無法啟動的原因。代理程式需要 Windows 使用者才能啟動服務。確保 Windows 使用者存在並具有執行服務的權限。

SP-S2003

SSM 代理程式狀態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:無法連線 Amazon SSM Agent 服務。您可以使用 Get-Service AmazonSSMAgent PowerShell 命令檢查服務狀態,或使用 啟動服務,對此進行疑難排解Start-Service AmazonSSMAgent。確保允許 HTTPS (連接埠 443) 傳出流量到 ssmssmmessagesec2messages 區域端點。

如需詳細資訊,請參閱針對 SSM Agent 進行疑難排解

若要對 SSM 端點進行故障診斷,請參閱無法連線至 SSM 端點使用 ssm-cli 對受管節點可用性進行故障診斷

SP-S2004

RDS 自訂代理程式登入

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:SQL 登入 發生非預期問題"$HOSTNAME/RDSAgent”。若要解決此問題,請建立支援案例。

SP-S2005

時區

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:Amazon EC2 執行個體 【%s】 上的時區已變更。您可以將時區修改回執行個體建立期間指定的設定,以解決此問題。如果您想要建立具有特定時區的執行個體,請參閱 RDS Custom 文件。

執行 Get-Timezone PowerShell 命令以確認時區。

如需詳細資訊,請參閱RDS Custom for SQL Server 資料庫執行個體的本機時區

SP-S2006

高可用性軟體解決方案版本

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:目前執行個體的高可用性軟體解決方案與預期的版本不同。若要解決此問題,請建立支援案例。

SP-S2007

高可用性軟體解決方案組態

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:高可用性軟體解決方案的組態設定已修改為執行個體 %s 上非預期的值。若要修正此問題,請重新啟動 EC2 執行個體。當您重新啟動 EC2 執行個體時,它會自動將設定更新為高可用性軟體解決方案所需的組態。

SP-S2008

SQL Server 服務

RDS Custom 資料庫執行個體設定為 【不支援的組態】:SQLServer (MSSQLServer) 服務不存在於主機上。若要解決此問題,請建立支援案例。

您可以使用下列命令來檢視客服人員狀態。

$name = "MSSQLServer" $service = Get-Service $name Write-Host $service.Status
SP-2009 SSL 憑證

RDS Custom 資料庫執行個體設定為 【不支援的組態】,因為:非自我簽署 SSL 憑證 (導致 RDS) 中斷。若要解決此問題,請從信任的根憑證存放區移除非自我簽署憑證 (S)。

執行下列 PowerShell 命令來檢閱非自我簽署的憑證 (憑證)。

Get-ChildItem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject -and $_.Issuer -notlike "*RDSCustomAgentCA*"}

如需詳細資訊,請參閱嘗試存取 IIS 上託管的網站時的 HTTP 錯誤 403.16

SP-2010 根磁碟區儲存狀態

RDS Custom 資料庫執行個體設定為 【不支援的組態】,因為:根磁碟區儲存已滿。若要解決此問題,請釋出根 EBS 磁碟區「volume-id」中至少 500 MiB 的儲存空間,或增加磁碟區大小,並在 EC2 執行個體「instance-id」上調整 C 磁碟機的大小。當您取代 EC2 執行個體時,根磁碟區大小變更不會持續存在。

使用下列命令來檢視根 (C:) 磁碟區上的可用儲存。

(Get-PSDrive -Name C).Free / 1MB

如需修改 EBS 根磁碟區的詳細資訊,請參閱如何

資料庫

事件代碼 組態區域 RDS 事件訊息 驗證程序

SP-S3001

SQL Server 共用記憶體通訊協定

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:SQL Server 共用記憶體通訊協定已停用。您可以在 SQL Server Configuration Manager 中啟用共用記憶體通訊協定來解決此問題。

您可以透過檢查:SQL Server Configuration Manager > SQL Server Network Configuration > Protocols for MSSQLSERVER> Shared Memory as Enabled 來進行驗證。啟用通訊協定後,請重新啟動 SQL Server 程序。

SP-S3002

服務主金鑰

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:RDS Automation 無法備份服務主金鑰 (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 版本:

select @@version

執行下列 AWS CLI 命令以取得 RDS SQL 引擎版本和版本:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep EngineVersion aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep Engine

如需詳細資訊,請參閱修改 RDS Custom for SQL Server 資料庫執行個體升級資料庫執行個體引擎版本

SP-S3005

資料庫引擎版本

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:目前的 SQL Server 版本不符合預期的 SQL Server 版本 【%s】:RDS Custom for SQL Server 不支援修改 SQL Server 版本。若要解決此問題,請建立支援案例。

執行下列查詢以取得 SQL 版本:

select @@version

執行下列 AWS CLI 命令以取得 RDS SQL 引擎版本:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep Engine

SP-S3006

資料庫引擎版本

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:目前的 SQL Server 版本不符合預期的 SQL Server 版本 【%s】:您無法在 RDS Custom EC2 執行個體上手動變更 SQL Server 版本。若要解決此問題,請建立支援案例。對於 SQL Server 版本的任何未來修改,您可以從 AWS RDS 主控台或透過 modify-db-instance CLI 命令修改執行個體。

執行下列查詢以取得 SQL 版本:

select @@version

執行下列 AWS CLI 命令以取得 RDS SQL 引擎版本:

aws rds describe-db-instances \ --db-instance-identifier db-instance-name |grep EngineVersion

如需詳細資訊,請參閱修改 RDS Custom for SQL Server 資料庫執行個體升級資料庫執行個體引擎版本

SP-S3007

資料庫檔案位置

RDS Custom 資料庫執行個體狀態設定為 【不支援的組態】,因為:資料庫檔案是在 D:\ 磁碟機外部設定。您可以透過確定所有資料庫檔案都存放在 D:\ 磁碟機上,包括 ROW、LOG、FILESTREAM 等來解決此問題。

執行下列查詢,列出不在預設路徑中的資料庫檔案位置:

USE master; SELECT physical_name as files_not_in_default_path FROM sys.master_files WHERE SUBSTRING(physical_name,1,3)!='D:\';

在 RDS Custom for SQL Server Storage-Full中進行故障診斷

RDS Custom 也會監控根 (C:) 磁碟區。當根磁碟區有少於 500 MiB 的可用磁碟空間時,RDS Custom for SQL Server 資料庫執行個體會移至 unsupported-configuration 狀態。請參閱修正 RDS Custom for SQL Server 中不支援的組態中的Event SP-S2010

針對 RDS Custom for SQL Server 中已啟用 TDE 之資料庫的 PENDING_RECOVERY 狀態進行故障診斷

如果自動解密遇到問題,啟用透明資料加密 (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