为什么SQL Server无法使用SQL Server连接器连接到Azure密钥保管库

时间:2018-01-30 08:54:04

标签: azure azure-keyvault tde

我正在尝试使用TDE加密Azure VM中的sql server数据库,其中EKM将使用Azure Key保管库。我一直在遵循以下链接中列出的步骤。

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;

Msg 33028,Level 16,State 1,Line 14 无法打开加密提供程序“AzureKeyVault_EKM_Prov”的会话。提供程序错误代码:3303。(提供程序错误 - 无法解释,请参阅EKM提供商了解详细信息)

请让我知道如何修复它。

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题,提供程序尝试创建注册表项,但没有创建该注册表项的权限,因此失败。请尝试从此blogpost

采取的以下步骤

打开注册表编辑器

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