本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
疑難排解 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事件類別和事件訊息。
使用下列資訊來協助您處理可能的原因。
訊息 | 故障診斷建議 |
---|---|
|
在您從中建立的執行EC2個體上執行 Sysprep。AMI如需有關使用 Sysprep 準備的詳細資訊,請參閱AMI使用 Sysprep 建立標準化的 Amazon 機器映像 (AMI)。 |
|
確認用於建立的帳戶和設定檔具有所選帳戶 |
|
確認 |
|
確保AMI存在於相同的客戶帳戶中。 |
|
的名稱不AMI正確。確保提供了正確的 AMI ID。 |
|
選擇具有 Windows 伺服器AMI的支援伺SQL服器企業版、標準版或網頁版本。從 EC2 Marketplace 中選擇AMI具有以下使用操作代碼之一:
|
|
使用包AMI含受支援版本的SQL伺服器。如需詳細資訊,請參閱RDS Custom for SQL Server 的版本支援 CEVs。 |
|
不支援SQL伺服器引擎版本的傳統RDS自訂。例如,版本 15.00.4073.23.v1。使用支援的版本號碼。 |
|
必CEV須處於 |
|
目標CEV無效。檢查有效升級路徑的需求。 |
|
遵循所需的CEV命名慣例。如需詳細資訊,請參閱RDS Custom for SQL Server 的需求 CEVs。 |
|
已提供不受支援的 DB 引擎版本。請使用支援的資料庫引擎版本。 |
|
使用一個AMI建立在 x86_ 64 架構上的。 |
|
從您有權限的EC2AMI執行個體建立執行個體。在執行個EC2體上執行 Sysprep 以建立並儲存基礎映像檔。 |
|
使用AMI內置的視窗平台。 |
|
AMI使用EBS設備類型創建。 |
|
選擇具有 Windows 伺服器AMI的支援伺SQL服器企業版、標準版或網頁版本。從 EC2 Marketplace 中選擇AMI具有以下使用操作代碼之一:
|
|
請確AMI定處於的狀態 |
|
使用支援的 Windows 作業系統。 |
|
確認日誌檔案位於 |
|
使用 14393 AMI 的最低操作系統構建版本。 |
|
使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事件訊息 | 驗證程序 |
---|---|---|---|
|
手動不支援的組 |
|
若要解決此問題,請建立支援案例。 |
AWS 資源 (基礎架構) | |||
|
EC2實例狀態 |
|
若要檢查資料庫執行個體的狀態,請使用主控台或執行下列指令 AWS CLI 命令:
|
|
EC2實例狀態 |
|
使用以下 AWS CLI 用於檢查資料庫執行個體狀態的指令:
您也可以使用EC2主控台檢查EC2執行個體的狀態。 若要啟動資料庫執行個體,請使用主控台或執行下列指令 AWS CLI 命令:
|
|
EC2實體類別 |
|
使用下列CLI命令來檢查預期的資料庫執行個體類別:
|
|
EBS無法存取儲存磁碟區 |
|
|
|
EBS分離儲存磁碟區 |
|
重新連接EBS磁碟區後,請使用下列CLI指令來檢查EBS磁碟區 'volume-id' 是否已正確連接至執行個體:RDS
|
|
EBS儲存磁碟區大小 |
|
使用下列CLI指令來比較磁碟區 '卷冊 ID' 詳細資料的EBS磁碟區大小和RDS執行個體詳細資訊:
使用下列CLI命令來檢視實際配置的磁碟區大小:
|
|
EBS儲存磁碟區組態 |
|
使用下列CLI命令來比較磁碟區 'volume-id' 詳細資料的EBS磁碟區類型和RDS執行個體詳細資訊。請確定EBS層級的值與層級的值相RDS符:
若要在層次取得「儲存體輸送量」的預期RDS值:
要獲得該級別的體積IOPS的預期RDS值:
若要取得 [EC2層級] 目前的 [儲存類型]:
若要取得「EC2層次」的「儲存體傳輸量」目前值:
要獲取「級別」的「體積」IOPS 的當前EC2值:
|
|
EBS儲存磁碟區大小與組態 |
|
使用下列CLI命令來比較磁碟區 'volume-id' 詳細資料的EBS磁碟區類型和RDS執行個體詳細資訊。請確定EBS層級的值與層級的值相RDS符:
若要在層次取得「儲存體輸送量」的預期RDS值:
要獲得該級別的體積IOPS的預期RDS值:
若要取得 [EC2層級] 目前的 [儲存類型]:
若要取得「EC2層次」的「儲存體傳輸量」目前值:
要獲取「級別」的「體積」IOPS 的當前EC2值:
若要取得預期的分配磁碟區大小:
要獲取實際分配的卷大小:
|
|
SQS權限 |
|
|
|
SQSVPC端點 |
|
|
作業系統 | |||
|
SQL服務狀態 |
|
|
|
RDS自定義代理程式 |
|
|
|
SQS權限 |
|
|
|
SQSVPC端點 |
|
|
作業系統 | |||
|
SQL服務狀態 |
|
|
|
RDS自定義代理程式 |
|
登入主機,並確RDS定自訂代理程式正在執行。 您可以使用下列命令來檢視代理程式狀態。
如果狀態不是
如果代理程式無法啟動,請檢查 Windows 事件以瞭解無法啟動的原因。代理程式需要 Windows 使用者才能啟動服務。確定 Windows 使用者存在且具有執行服務的權限。 |
|
SSM代理狀態 |
|
如需詳細資訊,請參閱疑難排解 SSM Agent。 如果要疑難排解SSM端點,請參閱無法連線到SSM端點和使用 ssm-cli 疑難排解受管節點可用性。 |
|
RDS自定義代理登錄 |
|
|
|
時區 |
|
執行 如需詳細資訊,請參閱RDS Custom for SQL Server 資料庫執行個體的本機時區。 |
|
高可用性軟體解決方案版 |
|
|
|
高可用性軟體解決方案組 |
|
|
資料庫 | |||
|
SQL服務器共享內存協議 |
|
您可以核取以下方式來驗證此項:SQL伺服器組態管理員 > SQL 伺服器網路組態 > 通訊協定 MSSQLSERVER > 共用記憶體為已啟用。啟用通訊協定之後,請重新啟動SQL伺服器處理序。 |
|
服務主要金鑰 |
|
|
|
服務主要金鑰 |
|
|
|
資料庫引擎版本和版本 |
|
執行下列查詢以取得SQL版本:
運行以下 AWS CLI 獲取RDSSQL引擎版本和版本的命令:
如需詳細資訊,請參閱 修改 RDS Custom for SQL Server 資料庫執行個體 和 升級資料庫執行個體引擎版本。 |
|
資料庫引擎版本 |
|
執行下列查詢以取得SQL版本:
運行以下 AWS CLI 獲取RDSSQL引擎版本的命令:
|
|
資料庫引擎版本 |
|
執行下列查詢以取得SQL版本:
運行以下 AWS CLI 獲取RDSSQL引擎版本的命令:
如需詳細資訊,請參閱 修改 RDS Custom for SQL Server 資料庫執行個體 和 升級資料庫執行個體引擎版本。 |
|
資料庫檔案位置 |
|
執行下列查詢,以列出不在預設路徑中的資料庫檔案位置:
|
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