疑難排解 Amazon SQL 伺服器RDS自訂的資料庫問題 - Amazon Relational Database Service

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

疑難排解 Amazon SQL 伺服器RDS自訂的資料庫問題

RDSCustom 的共同責任模型提供作業系統殼層級的存取權限和資料庫管理員存取權。RDS自訂會在您的帳戶中執行資源RDS,不同於 Amazon 在系統帳戶中執行資源。責任越大,存取權也越大。在以下各節中,您可以了解如何針對SQL伺服器資料庫執行個體的 Amazon RDS 自訂問題進行疑難排解。

注意

本節說明如何疑難排解SQL伺服器的RDS自訂問題。如需 Oracle 的RDS自訂疑難排解,請參閱針對 Amazon RDS Custom for Oracle 的資料庫問題進行故障診斷

檢視RDS自訂事件

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

若要使用檢視RDS自訂事件通知 AWS CLI,使用指describe-events令。RDS自定義引入了幾個新事件。事件類別與 Amazon 相同RDS。如需事件清單,請參閱 Amazon RDS事件類別和事件訊息

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

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

訂閱RDS自訂事件

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

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

  • --subscription-name

  • --sns-topic-arn

下列範例會針對目前的 RDS Custom 資料庫執行個體建立備份和復原事件的訂閱 AWS 帳戶。通知會傳送至 Amazon 簡單通知服務 (AmazonSNS) 主題,由指定--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

疑難排解SQL伺服器的RDS自訂CEV錯誤

當你嘗試創建一個時CEV,它可能會失敗。在此情況下,「RDS自訂」會發出RDS-EVENT-0198事件訊息。如需檢視RDS事件的詳細資訊,請參閱 Amazon RDS事件類別和事件訊息

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

訊息 故障診斷建議

Custom Engine Version creation expected a Sysprep’d AMI. Retry creation using a Sysprep’d AMI.

在您從中建立的執行EC2個體上執行 Sysprep。AMI如需有關使用 Sysprep 準備的詳細資訊,請參閱AMI使用 Sysprep 建立標準化的 Amazon 機器映像 (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.

確認用於建立的帳戶和設定檔具有所選帳戶create EC2 Instance和設定檔Describe Images的必要權限AMI。

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 伺服器AMI的支援伺SQL服器企業版、標準版或網頁版本。從 EC2 Marketplace 中選擇AMI具有以下使用操作代碼之一:

  • RunInstances:0102-帶企業伺服器的SQL視窗

  • RunInstances:0006-配備伺服器標準的SQL視窗

  • RunInstances:0202-帶有網頁伺服器的SQL視窗

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.

使用包AMI含受支援版本的SQL伺服器。如需詳細資訊,請參閱RDS Custom for SQL Server 的版本支援 CEVs

The custom engine version can't be the same as the OEV engine version. Specify a valid CEV, and try again.

不支援SQL伺服器引擎版本的傳統RDS自訂。例如,版本 15.00.4073.23.v1。使用支援的版本號碼。

The custom engine version isn't in an active state. Specify a valid CEV, and try again.

必CEV須處於AVAILABLE狀態才能完成作業。INACTIVE將CEV從修改為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 的需求 CEVs

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.

使用一個AMI建立在 x86_ 64 架構上的。

The expected owner of image (AMI_ID) is customer account ID (ACCOUNT_ID), but owner (ACCOUNT_ID) was found.

從您有權限的EC2AMI執行個體建立執行個體。在執行個EC2體上執行 Sysprep 以建立並儲存基礎映像檔。

The expected platform is (X) for image (AMI_ID), but platform (Y) was found.

使用AMI內置的視窗平台。

The expected root device type is (X) for image %s, but root device type (Y) was found.

AMI使用EBS設備類型創建。

The expected SQL Server edition is (X), but (Y) was found.

選擇具有 Windows 伺服器AMI的支援伺SQL服器企業版、標準版或網頁版本。從 EC2 Marketplace 中選擇AMI具有以下使用操作代碼之一:

  • RunInstances:0102-帶企業伺服器的SQL視窗

  • RunInstances:0006-配備伺服器標準的SQL視窗

  • RunInstances:0202-帶有網頁伺服器的SQL視窗

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)..

使AMI用 10.0 或更高版本的最低操作系統主要版本。

修正SQL伺服器RDS自訂中不受支援的組態

由於共同的責任模型,您有責任修正讓SQL伺服器資料庫執行個體進入狀態的組unsupported-configuration態問題。RDS如果問題出在 AWS 基礎結構,您可以使用控制台或 AWS CLI 修復它。如果問題與作業系統或資料庫組態相關,您可以登入主機進行修正。

注意

本節說明如何修正「SQL伺服器RDS自訂」中不支援的組態。如需 Oracle RDS 自訂的相關資訊,請參閱修正 RDS Custom for Oracle 中不支援的組態

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

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

SP-S0000

手動不支援的組

由於以下原因,RDS自訂資料庫執行個體狀態設定為 [不支援的組態]:X

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

AWS 資源 (基礎架構)

SP-S1001

EC2實例狀態

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:基礎EC2執行個體 %s 已停止而未停止RDS執行個體。您可以啟動基礎EC2執行個體,並確保已連接二進位磁碟區和資料磁碟區來解決此問題。如果您想要停止RDS執行個體,請先確定基礎EC2執行個體處於AVAILABLE狀態,然後使用RDS主控台或停CLI止RDS執行個體。

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

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

SP-S1002

EC2實例狀態

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是: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自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:EC2主機的預期和已設定的資料庫執行個體類別不相符。您可以將資料庫執行個體類別修改為其原始類別類型來解決此問題。

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

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

SP-S1004

EBS無法存取儲存磁碟區

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

SP-S1005

EBS分離儲存磁碟區

RDS自定義數據庫實例狀態設置為 [不支持的配置],原因是:未附加原始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自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:EBS儲存磁碟區「volume-id」的預期和已設定設定設定不相符。磁碟區大小已從原始值 [%s] 的EC2層級手動變更。若要解決此問題,請建立支援案例。

使用下列CLI指令來比較磁碟區 '卷冊 ID' 詳細資料的EBS磁碟區大小和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自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:EBS儲存磁碟區「volume-id」的預期和已設定設定設定不相符。您可以在EC2層級將EBS儲存磁碟區組態 [IOPS,輸送量,磁碟區類型] 修改為其原始值 [IOPS: %s,輸送量:%s,磁碟區類型:%s] 來解決此問題。對於 future 的存儲修改,請使用RDS控制台或CLI. 磁碟區大小也已從其原始值 [%s] 的EC2層級手動變更。若要解決此問題,請建立支援案例。

使用下列CLI命令來比較磁碟區 'volume-id' 詳細資料的EBS磁碟區類型和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

要獲得該級別的體積IOPS的預期RDS值:

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

要獲取「級別」的「體積」IOPS 的當前EC2值:

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

SP-S1008

EBS儲存磁碟區大小與組態

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:EBS儲存磁碟區「volume-id」的預期和已設定設定設定不相符。您可以在EC2層級將EBS儲存磁碟區組態 [IOPS,輸送量,磁碟區類型] 修改為其原始值 [IOPS: %s,輸送量:%s,磁碟區類型:%s] 來解決此問題。對於 future 的存儲修改,請使用RDS控制台或CLI. 磁碟區大小也已從其原始值 [%s] 的EC2層級手動變更。若要解決此問題,請建立支援案例。

使用下列CLI命令來比較磁碟區 'volume-id' 詳細資料的EBS磁碟區類型和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

要獲得該級別的體積IOPS的預期RDS值:

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

要獲取「級別」的「體積」IOPS 的當前EC2值:

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自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:Amazon 簡單佇列服務 (SQS) 許可遺失IAM執行個體設定檔。您可以確定與主機關聯的設定IAM檔具有下列權限來解決此問題SQS:SendMessage[」SQS: ReceiveMessage「,」SQS:「,」: DeleteMessage「,」SQS: GetQueueUrl「]。

SP-S1010

SQSVPC端點

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:VPC端點政策會封鎖 Amazon 簡單佇列服務 (SQS) 操作。您可以修改VPC端點策略以允許所需的處理SQS行動來解決此問題。

作業系統

SP-S2001

SQL服務狀態

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:SQL伺服器服務未啟動。您可以透過在主機上重新啟動SQL伺服器服務來解決此問題。如果此資料庫執行個體是異地同步備份資料庫執行個體,且重新啟動失敗,請停止並啟動主機以啟動容錯移轉。

SP-S2002

RDS自定義代理程式

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:RDS自訂代理程式服務未安裝或無法啟動。您可以檢閱 Windows 事件記錄檔來判斷服務無法啟動的原因,並採取適當的步驟來解決此問題。如需其他協助,請建立支援案例。

SP-S1009

SQS權限

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:Amazon 簡單佇列服務 (SQS) 許可遺失IAM執行個體設定檔。您可以確定與主機關聯的設定IAM檔具有下列權限來解決此問題SQS:SendMessage[」SQS: ReceiveMessage「,」SQS:「,」: DeleteMessage「,」SQS: GetQueueUrl「]。

SP-S1010

SQSVPC端點

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:VPC端點政策會封鎖 Amazon 簡單佇列服務 (SQS) 操作。您可以修改VPC端點策略以允許所需的處理SQS行動來解決此問題。

作業系統

SP-S2001

SQL服務狀態

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:SQL伺服器服務未啟動。您可以透過在主機上重新啟動SQL伺服器服務來解決此問題。如果此資料庫執行個體是異地同步備份資料庫執行個體,且重新啟動失敗,請停止並啟動主機以啟動容錯移轉。

SP-S2002

RDS自定義代理程式

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:RDS自訂代理程式服務未安裝或無法啟動。您可以檢閱 Windows 事件記錄檔來判斷服務無法啟動的原因,並採取適當的步驟來解決此問題。如需其他協助,請建立支援案例。

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

您可以使用下列命令來檢視代理程式狀態。

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

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

Start-Service $name

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

SP-S2003

SSM代理狀態

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:Amazon SSM 代理程式服務無法連線。您可以使用Get-Service AmazonSSMAgent PowerShell命令檢查服務狀態或使用啟動服務來進行疑難排解Start-Service AmazonSSMAgent。確定 HTTPS (連接埠 443) 輸出流量到 ssmssm訊息和 ec2 訊息區域端點被允許。

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

如果要疑難排解SSM端點,請參閱無法連線到SSM端點使用 ssm-cli 疑難排解受管節點可用性。

SP-S2004

RDS自定義代理登錄

SP-S2004RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:SQL登入時發生未預期的問題"$HOSTNAME/RDSAgent”。若要解決此問題,請建立支援案例。

SP-S2005

時區

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

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

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

SP-S2006

高可用性軟體解決方案版

RDSCustom DB 執行個體狀態設定為 [不支援的組態],原因是:目前執行個體的高可用性軟體解決方案與預期的版本不同。若要解決此問題,請建立支援案例。

SP-S2007

高可用性軟體解決方案組

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

資料庫

SP-S3001

SQL服務器共享內存協議

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:SQL伺服器共用記憶體通訊協定已停用。您可以在SQL伺服器組態管理員中啟用共用記憶體通訊協定來解決此問題。

您可以核取以下方式來驗證此項:SQL伺服器組態管理員 > SQL 伺服器網路組態 > 通訊協定 MSSQLSERVER > 共用記憶體為已啟用。啟用通訊協定之後,請重新啟動SQL伺服器處理序。

SP-S3002

服務主要金鑰

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:自RDS動化無法將服務主要金鑰 (SMK) 的備份做為新SMK一代的一部分。若要解決此問題,請建立支援案例。

SP-S3003

服務主要金鑰

由於以下原因,RDS自訂資料庫執行個體狀態設定為 [不支援的組態]:與服務主要金鑰 (SMK) 相關的中繼資料遺失或不完整。若要解決此問題,請建立支援案例。

SP-S3004

資料庫引擎版本和版本

預期和安裝的SQL伺服器版本與版本不相符。SQL伺服器RDS自訂不支援修改SQL伺服器版本。此外,不支援手動變更RDS自訂EC2執行個體上的SQL伺服器版本。若要解決此問題,請建立支援案例。

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

select @@version

運行以下 AWS CLI 獲取RDSSQL引擎版本和版本的命令:

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

資料庫引擎版本

目前的SQL伺服器版本與預期的SQL伺服器版本 [%s] 不符。SQL伺服器RDS自訂不支援修改SQL伺服器版本。若要解決此問題,請建立支援案例。

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

select @@version

運行以下 AWS CLI 獲取RDSSQL引擎版本的命令:

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

SP-S3006

資料庫引擎版本

目前的SQL伺服器版本與預期的SQL伺服器版本 [%s] 不符。您無法手動變更RDS自訂EC2執行個體上的SQL伺服器版本。若要解決此問題,請建立支援案例。對於 future 對SQL伺服器版本的任何修改,您可以從 AWS RDS控制台或通過 modify-db-instance CLI命令。

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

select @@version

運行以下 AWS CLI 獲取RDSSQL引擎版本的命令:

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

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

SP-S3007

資料庫檔案位置

RDS自訂資料庫執行個體狀態設定為 [不支援的組態],原因是:資料庫檔案設定在 D:\ 磁碟機之外。您可以通過確保所有數據庫文件(包括 ROW LOGFILESTREAM,等)都存儲在 D:\ 驅動器上來解決此問題。

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

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

SQL伺服器RDS自訂Storage-Full中的疑難排解

RDS自訂會監控SQL伺服器資料庫執行個體RDS自訂的根 (C:) 和資料 (D:) 磁碟區的可用空間。RDS當任一磁碟區的可用磁碟空間少於 500 MiB 時,「自訂」會將執行個體Storage-Full狀態移至狀態。若要擴展執行個體儲存體,請參閱修改 RDS Custom for SQL Server 資料庫執行個體的儲存體

注意

擴展儲存後,執行個體最多Storage-Full可能需要 30 分鐘才能解決問題。

SQL伺服器RDS自訂中TDE已啟用資料庫的疑難排解 PENDING _ RECOVERY 狀態

SQL如果自動解密遇到問題,啟用通透資料加密 (TDE) 的伺服器資料庫可能會保持在PENDING_RECOVERY狀態。如果存放在帳戶的 RDS Custom Managed S3 儲存貯體中的來源資料庫執行個體服務主金鑰 (SMK) 備份檔案已在還原完成之前刪除,通常會在資料庫執行個體還原之後發生這種情況。

若要啟用自動解密並使TDE啟用的資料庫連線,您需要使用其密碼開啟資料庫主要金鑰 (DMK),然後DMK使用. SMK

使用下列SQL伺服器指令作為參考:

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