为什么 SQL 服务器无法使用 SQL 服务器连接器连接到 Azure Key Vault

Why is SQL server unable to connect to Azure key vault using SQL Server connector

我正在尝试使用 TDE 加密 Azure VM 中的 sql 服务器数据库,其中 EKM 将使用 Azure Key vault。我一直在按照下面 link 中概述的步骤进行操作。

setup steps for EKM using Azure Key Vault

我完全遵循了所有步骤,包括下面的步骤,我们需要为 SECRET(不带连字符的应用程序 ID + Azure 保险库密钥)提供值。

USE master;  
CREATE CREDENTIAL sysadmin_ekm_cred   
    WITH IDENTITY = 'keyvaultname',  
    SECRET = 
 'ef509ab6e52649388e65283e9378b0a171ccf2d0a8004abbbaaf93ab8f5909c0'   
  FOR CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov; 

我在尝试 运行 下面的代码

时遇到以下错误
CREATE ASYMMETRIC KEY CONTOSO_KEY   
FROM PROVIDER [AzureKeyVault_EKM_Prov]  
WITH PROVIDER_KEY_NAME = 'Azurevaultkeyname',  
CREATION_DISPOSITION = OPEN_EXISTING;

消息 33028,级别 16,状态 1,第 14 行 无法打开加密提供程序 'AzureKeyVault_EKM_Prov' 的会话。提供商错误代码:3303。(提供商错误 - 无可用解释,请咨询 EKM 提供商了解详情)

请告诉我如何解决它。

我 运行 遇到了类似的问题,提供商试图创建一个注册表项,但没有这样做的权限,因此失败了。尝试从 blogpost

采取的以下步骤

打开注册表编辑器

  1. 导航至 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  2. 创建一个名为“SQL Server Cryptographic Provider”的新密钥(不带引号)
  3. 右键单击该键,从上下文菜单中select‘权限。
  4. 将此密钥的完全控制权限授予 Windows 服务帐户 运行 SQL 服务器