SQL Server 커넥터 유지 관리 & 문제 해결SQL Server Connector Maintenance & Troubleshooting

이 항목 적용 대상: 예SQL Server없습니다Azure SQL 데이터베이스없습니다Azure SQL 데이터 웨어하우스 없습니다 병렬 데이터 웨어하우스THIS TOPIC APPLIES TO: yesSQL ServernoAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

SQL ServerSQL Server 커넥터에 대한 추가 정보는 이 항목에서 제공됩니다.Supplemental information about the SQL ServerSQL Server Connector is provided in this topic. SQL ServerSQL Server 커넥터에 대한 자세한 내용은 Azure 주요 자격 증명 모음을 사용한 확장 가능 키 관리 (SQL Server), Azure 주요 자격 증명 모음을 사용한 확장 가능 키 관리 설정 단계SQL 암호화 기능을 통해 SQL Server 커넥터 사용을 참조하세요.For more information about the SQL ServerSQL Server connector, see Extensible Key Management Using Azure Key Vault (SQL Server), Setup Steps for Extensible Key Management Using the Azure Key Vault, and Use SQL Server Connector with SQL Encryption Features.

1.A. SQL ServerSQL Server 커넥터에 대한 유지 관리 지침Maintenance Instructions for SQL ServerSQL Server Connector

키 롤오버Key Rollover

중요

SQL ServerSQL Server 커넥터는 “a-z”, “A-Z”, “0-9” 및 “-” 문자만 키 이름에 사용할 수 있으며, 키 이름은 26자로 제한됩니다.The SQL ServerSQL Server Connector requires the key name to only use the characters “a-z”, “A-Z”, “0-9”, and “-“, with a 26-character limit.
Azure 주요 자격 증명 모음에서 동일한 키 이름의 여러 키 버전은 SQL ServerSQL Server 커넥터와 함께 작동되지 않습니다.Different key versions under the same key name in Azure Key Vault will not work with SQL ServerSQL Server Connector. SQL ServerSQL Server에서 사용되는 Azure 주요 자격 증명 모음 키를 회전하려면 새 키 이름을 사용하는 새 키를 만들어야 합니다.To rotate an Azure Key Vault key that’s being used by SQL ServerSQL Server, a new key with a new key name must be created.

일반적으로 SQL ServerSQL Server 암호화에 대한 서버 비대칭 키는 1-2년마다 버전을 관리해야 합니다.Typically server asymmetric keys for SQL ServerSQL Server encryption need to be versioned every 1-2 years. 주요 자격 증명 모음에서는 키의 버전 관리가 허용되지만 버전 관리를 구현하기 위해 고객이 해당 기능을 사용하면 안 된다는 점에 유의해야 합니다.It's important to note that although the Key Vault allows keys to be versioned, customers should not use that feature to implement versioning. SQL ServerSQL Server 커넥터에서는 주요 자격 증명 모음 키 버전의 변경 사항을 처리할 수 없습니다.The SQL ServerSQL Server Connector cannot deal with changes in Key Vault key version. 키 버전 관리를 구현하려면 고객은 주요 자격 증명 모음에서 새 키를 만든 다음 Management StudioManagement Studio에서 데이터 암호화 키를 다시 암호화해야 합니다.To implement key versioning, the customer must create a new key in the Key Vault and then re-encrypt the data encryption key in Management StudioManagement Studio.

TDE의 경우 이 작업을 수행하는 방법은 다음과 같습니다.For TDE, this is how this would be achieved:

  • PowerShell: 주요 자격 증명 모음에 새 비대칭 키(현재 TDE 비대칭 키와 다른 이름)를 만듭니다.In PowerShell: Create a new asymmetric key (with a different name from your current TDE asymmetric key) in the Key Vault.

    Add-AzureRmKeyVaultKey -VaultName 'ContosoDevKeyVault' `  
      -Name 'Key2' -Destination 'Software'  
    
  • Management StudioManagement Studio 또는 sqlcmd.exe 사용: 섹션 3, 3단계에 표시된 대로 다음 문을 사용합니다.Using Management StudioManagement Studio or sqlcmd.exe: Use the following statements as shown in Step 3, section 3.

    새 비대칭 키를 가져옵니다.Import the new asymmetric key.

    USE master  
    CREATE ASYMMETRIC KEY [MASTER_KEY2]   
    FROM PROVIDER [EKM]   
    WITH PROVIDER_KEY_NAME = 'Key2',   
    CREATION_DISPOSITION = OPEN_EXISTING   
    GO  
    

    TDE 지침 아래에 표시된 대로 새 비대칭 키와 연결할 새 로그인을 만듭니다.Create a new login to be associated with the new asymmetric key (as shown under the TDE instructions).

    USE master  
    CREATE LOGIN TDE_Login2   
    FROM ASYMMETRIC KEY [MASTER_KEY2]  
    GO  
    

    로그인에 매핑될 새 자격 증명을 만듭니다.Create a new credential to be mapped to the login.

    CREATE CREDENTIAL Azure_EKM_TDE_cred2  
        WITH IDENTITY = 'ContosoDevKeyVault',   
       SECRET = 'EF5C8E094D2A4A769998D93440D8115DAADsecret123456789=’   
    FOR CRYPTOGRAPHIC PROVIDER EKM;  
    
    ALTER LOGIN TDE_Login2  
    ADD CREDENTIAL Azure_EKM_TDE_cred2;  
    GO  
    

    다시 암호화할 데이터베이스 암호화 키의 데이터베이스를 선택합니다.Choose the database whose database encryption key you would like to re-encrypt.

    USE [database]  
    GO  
    

    데이터베이스 암호화 키를 다시 암호화합니다.Re-encrypt the database encryption key.

    ALTER DATABASE ENCRYPTION KEY   
    ENCRYPTION BY SERVER ASYMMETRIC KEY [MASTER_KEY2];  
    GO  
    

SQL ServerSQL Server 커넥터 업그레이드Upgrade of SQL ServerSQL Server Connector

1.0.0.440 및 이전 버전은 대체되었으며 프로덕션 환경에서 더 이상 지원되지 않습니다.Versions 1.0.0.440 and older have been replaced and are no longer supported in production environments. 버전 1.0.1.0 이상이 프로덕션 환경에서 지원됩니다.Versions 1.0.1.0 and newer are supported in production environments. 다음 지침을 사용하여 Microsoft 다운로드 센터에서 제공하는 최신 버전으로 업그레이드하세요.Please use the following instructions to upgrade to the latest version available on the Microsoft Download Center.

현재 1.0.1.0 이상 버전을 사용 중인 경우 다음 단계에 따라 SQL ServerSQL Server 커넥터의 최신 버전으로 업데이트하세요.If you are currently using Version 1.0.1.0 or newer, follow these steps to update to the latest version of the SQL ServerSQL Server Connector. 이 지침을 사용하면 SQL ServerSQL Server 인스턴스를 다시 시작하지 않아도 됩니다.These instructions avoid the need to restart the SQL ServerSQL Server instance.

  1. SQL ServerSQL Server Microsoft 다운로드 센터 에서 최신 버전의커넥터를 설치합니다.Install the newest version of the SQL ServerSQL Server Connector from the Microsoft Download Center. 설치 관리자 마법사에서 원래의 SQL ServerSQL Server 커넥터 DLL의 파일 경로와 다른 파일 경로에 새 DLL 파일을 저장합니다.In the installer wizard, save the new DLL file under a file path different from your original SQL ServerSQL Server Connector DLL's file path. 예를 들면 새 파일 경로는 다음과 같습니다. C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\<latest version number>\Microsoft.AzureKeyVaultService.EKM.dllFor example, the new file path could be: C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\<latest version number>\Microsoft.AzureKeyVaultService.EKM.dll

  2. SQL ServerSQL Server인스턴스에서 다음 TRANSACT-SQL 명령을 실행하여 SQL ServerSQL Server 인스턴스가 새 버전의 SQL ServerSQL Server 커넥터를 가리키도록 합니다.In the instance of the SQL ServerSQL Server, run the following Transact-SQL command to point your SQL ServerSQL Server instance to your new version of the SQL ServerSQL Server Connector:

    ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov   
    FROM FILE =   
    'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\<latest version number>\Microsoft.AzureKeyVaultService.EKM.dll'
    GO  
    

현재 1.0.0.440 이전 버전을 사용 중인 경우 다음 단계에 따라 SQL ServerSQL Server 커넥터의 최신 버전으로 업데이트하세요.If you are currently using Version 1.0.0.440 or older, follow these steps to update to the latest version of the SQL ServerSQL Server Connector.

  1. SQL ServerSQL Server인스턴스를 중지합니다.Stop the instance of SQL ServerSQL Server.

  2. SQL ServerSQL Server 커넥터 서비스를 중지합니다.Stop the SQL ServerSQL Server Connector service.

  3. Windows의 프로그램 및 기능을 사용하여 SQL ServerSQL Server 커넥터를 제거합니다.Uninstall the SQL ServerSQL Server Connector using the Windows Programs and Features feature.

    또는 DLL 파일이 들어 있는 폴더 이름을 바꿀 수 있습니다.(Alternatively, you can rename the folder that the DLL file is in. 폴더의 기본 이름은 “ SQL ServerSQL Server for Microsoft Azure Key Vault”입니다.The default name of the folder is “ SQL ServerSQL Server for Microsoft Azure Key Vault”.

  4. Microsoft 다운로드 센터에서 최신 버전의 SQL ServerSQL Server 커넥터를 설치합니다.Install the newest version of the SQL ServerSQL Server Connector from the Microsoft Download Center.

  5. SQL ServerSQL Server인스턴스를 다시 시작합니다.Restart the instance of SQL ServerSQL Server.

  6. 다음 문을 실행하여 EKM 공급자를 변경하고 최신 버전의 SQL ServerSQL Server 커넥터를 사용합니다.Run the following statement to alter the EKM Provider to start using the newest version of the SQL ServerSQL Server Connector. 파일 경로가 최신 버전을 다운로드한 위치를 가리키고 있는지 확인합니다.Make sure that the file path is pointing to where you downloaded the newest version. 원본 버전과 동일한 위치에 새 버전을 설치 중인 경우에는 이 단계를 건너뛸 수 있습니다.(This step can be skipped if the new version is being installed in the same location as the original version.)

    ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM_Prov   
    FROM FILE =   
    'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';  
    GO  
    
  7. TDE를 사용하는 데이터베이스에 액세스할 수 있는지 확인합니다.Check that the databases using TDE are accessible.

  8. 업데이트가 작동하는지 확인한 후, 3단계에서 제거하는 대신 이름을 변경하기로 선택한 경우 이전 SQL ServerSQL Server 커넥터 폴더를 삭제할 수 있습니다.After validating that the update works, you may delete the old SQL ServerSQL Server Connector folder (if you chose to rename it instead of uninstalling in Step 3.)

SQL ServerSQL Server 서비스 사용자 롤링Rolling the SQL ServerSQL Server Service Principal

SQL ServerSQL Server Azure Active Directory에서 만든 서비스 사용자를 자격 증명으로 사용하여 주요 자격 증명 모음에 액세스합니다. uses Service Principals created in Azure Active Directory as credentials to access the Key Vault. 서비스 사용자에게는 클라이언트 ID 및 인증 키가 있습니다.Service Principal has a Client ID and Authentication Key. SQL ServerSQL Server 자격 증명은 VaultName, 클라이언트 ID인증 키를 사용하여 설정됩니다.A SQL ServerSQL Server credential is set up with the VaultName, Client ID, and Authentication Key. 인증 키 는 특정 기간(1년 또는 2년) 동안 유효합니다.The Authentication Key is valid for a certain period of time (1 or 2 years). 기간이 만료되기 전에 서비스 사용자에 대해 Azure AD에서 새 키를 생성해야 합니다.Before the time period expires a new key must be generated in Azure AD for the Service Principal. 그런 다음 SQL ServerSQL Server에서 자격 증명을 변경해야 합니다.Then the credential has to be changed in SQL ServerSQL Server. Management StudioManagement Studio 현재 세션에서 자격 증명에 대한 캐시를 유지 관리하므로 자격 증명이 변경되면 Management StudioManagement Studio 을(를) 다시 시작해야 합니다. maintains a cache for the credential in the current session, so when a credential is changed, Management StudioManagement Studio should be restarted.

키 백업 및 복구Key Backup and Recovery

주요 자격 증명 모음은 정기적으로 백업해야 합니다.The Key vault should be regularly backed up. 자격 증명 모음에 있는 비대칭 키를 분실한 경우 백업에서 복원할 수 있습니다.If an asymmetric key in the vault is lost, it can be restored from backup. 키는 이전과 동일한 이름을 사용하여 복원되어야 하며, Restore PowerShell 명령으로 복원할 수 있습니다(아래 단계 참조).The key must be restored using the same name as before, which the Restore PowerShell command will do (see below steps).
자격 증명 모음이 손실된 경우에는 자격 증명 모음을 다시 만들고 이전과 동일한 이름을 사용하여 자격 증명 모음에 비대칭 키를 복원해야 합니다.If the vault has been lost, you will need to recreate a vault and restore the asymmetric key to the vault using the same name as before. 자격 증명 모음 이름은 이전과 동일하거나, 달라질 수 있습니다.The vault name can be different (or the same as before). 또한 SQL Server 서비스 사용자에게 SQL Server 암호화 시나리오에 필요한 액세스 권한을 부여할 수 있도록 새 자격 증명 모음에 액세스 권한을 설정하고 새 자격 증명 모음 이름이 반영되도록 SQL Server 자격 증명을 조정해야 합니다.You must also set the access permissions on the new vault to grant to the SQL Server service principal the access that is needed for the SQL Server encryption scenarios and then adjust the SQL Server credential so that the new vault name is reflected.
요약하면 다음 단계와 같습니다.In summary, here are the steps:

  • 자격 증명 모음 키를 백업합니다(Backup-AzureKeyVaultKey Powershell cmdlet 사용).Backup the vault key (using the Backup-AzureKeyVaultKey Powershell cmdlet).
  • 자격 증명 모음이 실패하는 경우 동일한 지역에서 새 자격 증명 모음을 만듭니다.In the case of vault failure, create a new vault in the same geographic region. 이 자격 증명 모음을 만드는 사용자는 SQL Server의 서비스 사용자 설정과 같은 기본 디렉터리에 있어야 합니다.The user creating this should be in the same default directory as the service principal setup for SQL Server.
  • 새 자격 증명 모음에 키를 복원합니다(Restore-AzureKeyVaultKey Powershell cmdlet 사용 - 이전과 동일한 이름을 사용하여 키가 복원됨).Restore the key to the new vault (using the Restore-AzureKeyVaultKey Powershell cmdlet – this restores the key using the same name as before). 동일한 이름의 키가 이미 있는 경우 복원이 실패합니다.If there is already a key with the same name, the restore will fail.
  • 이 새 자격 증명 모음을 사용할 수 있도록 SQL Server 서비스 사용자에게 권한을 부여합니다.Grant permissions to the SQL Server service principal to use this new vault.
  • 새 자격 증명 모음 이름이 반영되도록 데이터베이스 엔진에서 사용하는 SQL Server 자격 증명을 수정합니다(필요할 경우).Modify the SQL Server credential used by the Database Engine to reflect the new vault name (if needed).

키 백업은 동일한 지역 또는 국가(미국, 캐나다, 일본, 오스트레일리아, 인도, APAC, 유럽, 브라질, 중국, 미국 정부 또는 독일) 클라우드에 있는 경우 Azure 지역에서 복원할 수 있습니다.Key backups can be restored across Azure regions, as long as they remain in the same geographic region or national cloud: USA, Canada, Japan, Australia, India, APAC, Europe Brazil, China, US Government, or Germany.

2.B. 질문과 대답Frequently Asked Questions

Azure 주요 자격 증명 모음에서On Azure Key Vault

Azure 주요 자격 증명 모음에서 키 작업은 어떻게 작동하나요?How do key operations work with Azure Key Vault?
주요 자격 증명 모음에 있는 비대칭 키는 SQL ServerSQL Server 암호화 키를 보호하는 데 사용됩니다.The asymmetric key in the key vault is used to protect SQL ServerSQL Server encryption keys. 비대칭 키의 공개 부분만 자격 증명 모음을 떠나고 비공개 부분은 자격 증명 모음에서 내보내지 않습니다.Only the public portion of the asymmetric key ever leaves the vault; the private portion is never exported by the vault. 비대칭 키를 사용하는 모든 암호화 작업은 Azure 주요 자격 증명 모음 서비스 내에서 수행되며, 서비스의 보안에 의해 보호됩니다.All cryptographic operations using the asymmetric key are done within the Azure Key Vault service, and are protected by the service’s security.

키 URI는 무엇인가요?What is a Key URI?
Azure 주요 자격 증명 모음의 모든 키에는 응용 프로그램에서 키를 참조하는 데 사용할 수 있는 URI(Uniform Resource Identifier)가 있습니다.Every key in Azure Key Vault has a Uniform Resource Identifier (URI), which you can use to reference the key in your application. 현재 버전을 가져오려면 https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey 형식을 사용하고, 특정 버전을 가져오려면 https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87 형식을 사용합니다.Use the format https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey to get the current version, and use the format https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87 to get a specific version.

구성에서 SQL ServerSQL ServerOn Configuring SQL ServerSQL Server

SQL Server 커넥터에서 액세스해야 하는 끝점은 무엇인가요?What are the endpoints that the SQL Server Connector needs access to? 커넥터는 허용 목록에 포함되어야 하는 두 개의 끝점과 통신합니다.The Connector talks to two endpoints, which need to be whitelisted. Https의 경우 이러한 다른 서비스에 대한 아웃바운드 통신에 필요한 유일한 포트는 443입니다.The only port required for outbound communication to these other services is 443 for Https:

  • login.microsoftonline.com/:443login.microsoftonline.com/:443
  • .vault.azure.net/:443.vault.azure.net/:443

SQL ServerSQL Server의 각 구성 단계에 대해 필요한 최소 권한 수준은 무엇인가요?What are the minimum permission levels required for each configuration step in SQL ServerSQL Server?
sysadmin 고정 서버 역할이 있는 멤버로 구성 단계를 모두 수행할 수는 있지만 MicrosoftMicrosoft 에서는 사용할 권한을 최소화하는 것이 권장됩니다.Though you could perform all the configuration steps as a member of the sysadmin fixed server role, MicrosoftMicrosoft encourages you to minimize the permissions you use. 다음 목록에서는 각 작업에 대한 최소 권한 수준을 정의합니다.The following list defines the minimum permission level for each action.

  • 암호화 공급자를 만들려면 CONTROL SERVER sysadmin 고정 서버 역할에 권한 또는 멤버 자격이 있어야 합니다.To create a cryptographic provider, requires CONTROL SERVER permission or membership in the sysadmin fixed server role.

  • 구성 옵션을 변경하고 RECONFIGURE 문을 실행하려면 ALTER SETTINGS 서버 수준 권한이 있어야 합니다.To change a configuration option and run the RECONFIGURE statement, you must be granted the ALTER SETTINGS server-level permission. sysadmin 및 ALTER SETTINGS serveradmin 고정 서버 역할은 권한을 암시적으로 보유하고 있습니다.The ALTER SETTINGS permission is implicitly held by the sysadmin and serveradmin fixed server roles.

  • 자격 증명을 만들려면 ALTER ANY CREDENTIAL 권한이 필요합니다.To create a credential, requires ALTER ANY CREDENTIAL permission.

  • 로그인에 자격 증명을 추가하려면 ALTER ANY LOGIN 권한이 필요합니다.To add a credential to a login, requires ALTER ANY LOGIN permission.

  • 비대칭 키를 만들려면 CREATE ASYMMETRIC KEY 권한이 필요합니다.To create an asymmetric key, requires CREATE ASYMMETRIC KEY permission.

SQL ServerSQL Server 커넥터에 대해 만든 서비스 주체와 동일한 구독과 Active Directory에서 내 키 자격 증명 모음을 만들려면 내 기본 Active Directory를 어떻게 변경하나요?How do I change my default Active Directory so my key vault is created in the same subscription and Active Directory as the service principal I created for the SQL ServerSQL Server Connector?

aad-change-default-directory-helpsteps

  1. Azure 클래식 포털 https://manage.windowsazure.com로 이동합니다.Go to the Azure classic portal: https://manage.windowsazure.com
  2. 왼쪽 메뉴에서 아래로 스크롤하여 설정을 선택합니다.On the left-hand menu, scroll down and select Settings.
  3. 현재 사용 중인 Azure 구독을 선택하고 화면 맨 아래에 있는 명령에서 디렉터리 편집 을 클릭합니다.Select the Azure subscription you are currently using, and click Edit Directory from the commands at the bottom of the screen.
  4. 팝업 창에서 디렉터리 드롭다운을 사용하여 원하는 Active Directory를 선택합니다.In the pop-up window, use the Directory dropdown to select the Active Directory you'd like to use. 이 디렉터리가 기본 디렉터리로 설정됩니다.This will make it the default Directory.
  5. 본인이 새로 선택한 Active Directory의 전역 관리자인지 확인합니다.Make sure you are the global admin of the newly selected Active Directory. 전역 관리자가 아닌 경우에는 디렉터리를 전환했으므로 관리 권한이 없어졌을 수도 있습니다.If you are not the global admin, so might lose management permissions because you switched directories.
  6. 팝업 창이 닫히고 구독이 표시되지 않으면 새로 업데이트된 Active Directory를 사용하는 구독을 확인하기 위해 화면 오른쪽 위 메뉴에 있는 구독 필터에서 디렉터리로 필터링 필터를 업데이트해야 할 수도 있습니다.Once the pop-up window closes, if you don't see any of your subscriptions, you may need to update the Filter by Directory filter in the Subscriptions filter in the top right hand menu of the screen to see subscriptions using your newly updated Active Directory.

    참고

    Azure 구독에 기본 디렉터리를 실제로 변경할 수 있는 권한이 없을 수 있습니다.You may not have permissions to actually change the default directory on your Azure subscription. 이 경우에는 기본 디렉터리에 AAD 서비스 주체를 만들어 나중에 사용되는 Azure Key Vault와 동일한 디렉터리에 있도록 합니다.In this case, create the AAD service principal within your default directory so that it is in the same directory as the Azure Key Vault used later.

Active Directory에 대한 자세한 내용을 보려면 Azure Active Directory와 관련된 Azure 구독을 참조하세요.To learn more about Active Directory, read How Azure subscription are related to Azure Active Directory

3.C. SQL ServerSQL Server 커넥터에 대한 오류 코드 설명Error Code Explanations for SQL ServerSQL Server Connector

공급자 오류 코드Provider Error Codes:

오류 코드Error code 기호Symbol 설명Description
00 scp_err_Successscp_err_Success 작업이 성공했습니다.The operation has succeeded.
11 scp_err_Failurescp_err_Failure 작업이 실패했습니다.The operation has failed.
22 scp_err_InsufficientBufferscp_err_InsufficientBuffer 이 오류는 엔진에 버퍼에 대해 더 많은 메모리를 할당하라고 알립니다.This error tells engine to allocate more memory for the buffer.
33 scp_err_NotSupportedscp_err_NotSupported 이 작업은 지원되지 않습니다.The operation is not supported. 예를 들어, 지정된 키 유형 또는 알고리즘을 EKM 공급자가 지원하지 않습니다.E.g., the key type or algorithm specified is not supported by the EKM provider.
44 scp_err_NotFoundscp_err_NotFound EKM 공급자가 지정된 키 또는 알고리즘을 찾을 수 없습니다.The specified key or algorithm could not be found by the EKM provider.
55 scp_err_AuthFailurescp_err_AuthFailure EKM 공급자가 인증에 실패했습니다.The authentication has failed with EKM provider.
66 scp_err_InvalidArgumentscp_err_InvalidArgument 제공된 인수가 잘못되었습니다.The provided argument is invalid.
77 scp_err_ProviderErrorscp_err_ProviderError EKM 공급자에 지정되지 않은 오류가 있으며 SQL 엔진에서 발견했습니다.There is an unspecified error happened in EKM provider that is caught by SQL engine.
20492049 scp_err_KeyNameDoesNotFitThumbprintscp_err_KeyNameDoesNotFitThumbprint 키 이름이 너무 길어 SQL 엔진의 지문에 맞지 않습니다.The key name is too long to fit into SQL engine’s thumbprint. 키 이름은 26자를 초과할 수 없습니다.The key name must not exceed 26 characters.
20502050 scp_err_PasswordTooShortscp_err_PasswordTooShort AAD 클라이언트 ID 및 암호의 연결인 암호 문자열이 32자 미만입니다.The secret string which is the concatenation of AAD client id and secret is shorter than 32 characters.
20512051 scp_err_OutOfMemoryscp_err_OutOfMemory SQL 엔진에 메모리가 부족하며 EKM 공급자에 대한 메모리를 할당하지 못했습니다.SQL engine has run out of memory and failed to allocate memory for EKM provider.
20522052 scp_err_ConvertKeyNameToThumbprintscp_err_ConvertKeyNameToThumbprint 키 이름을 지문으로 변환하지 못했습니다.Failed to convert key name to thumbprint.
20532053 scp_err_ConvertThumbprintToKeyNamescp_err_ConvertThumbprintToKeyName 지문을 키 이름으로 변환하지 못했습니다.Failed to convert thumbprint to key name.
30003000 ErrorSuccessErrorSuccess AKV 작업이 성공했습니다.The AKV operation has succeeded.
30013001 ErrorUnknownErrorUnknown 지정되지 않은 오류가 발생했으며 AKV 작업이 실패했습니다.The AKV operation has failed with an unspecified error.
30023002 ErrorHttpCreateHttpClientOutOfMemoryErrorHttpCreateHttpClientOutOfMemory 메모리 부족으로 인해 AKV 작업에 대한 HttpClient를 만들 수 없습니다.Cannot create a HttpClient for AKV operation due to out of memory.
30033003 ErrorHttpOpenSessionErrorHttpOpenSession 네트워크 오류로 인해 Http 세션을 열 수 없습니다.Cannot open a Http session due to network error.
30043004 ErrorHttpConnectSessionErrorHttpConnectSession 네트워크 오류로 인해 Http 세션을 연결할 수 없습니다.Cannot connect a Http session due to network error.
30053005 ErrorHttpAttemptConnectErrorHttpAttemptConnect 네트워크 오류로 인해 연결을 시도할 수 없습니다.Cannot attempt a connect due to network error.
30063006 ErrorHttpOpenRequestErrorHttpOpenRequest 네트워크 오류로 인해 요청을 열 수 없습니다.Cannot open a request due to network error.
30073007 ErrorHttpAddRequestHeaderErrorHttpAddRequestHeader 요청 헤더를 추가할 수 없습니다.Cannot add request header.
30083008 ErrorHttpSendRequestErrorHttpSendRequest 네트워크 오류로 인해 요청을 보낼 수 없습니다.Cannot send a request due to network error.
30093009 ErrorHttpGetResponseCodeErrorHttpGetResponseCode 네트워크 오류로 인해 응답 코드를 가져올 수 없습니다.Cannot get a response code due to network error.
30103010 ErrorHttpResponseCodeUnauthorizedErrorHttpResponseCodeUnauthorized 서버는 요청에 대해 401을 응답했습니다.Server responded 401 for the request.
30113011 ErrorHttpResponseCodeThrottledErrorHttpResponseCodeThrottled 서버에서 요청을 제한했습니다.Server has throttled the request.
30123012 ErrorHttpResponseCodeClientErrorErrorHttpResponseCodeClientError 커넥터에서 보낸 요청이 잘못되었습니다.The request sent from the connector is invalid. 이 문제는 일반적으로 키 이름이 잘못되었거나 잘못된 문자가 포함되었음을 의미합니다.This usually means the key name is invalid or contains invalid characters.
30133013 ErrorHttpResponseCodeServerErrorErrorHttpResponseCodeServerError 서버에서 응답 코드 500 ~ 600을 응답했습니다.Server responded a response code between 500 and 600.
30143014 ErrorHttpQueryHeaderErrorHttpQueryHeader 응답 헤더에 대해 쿼리할 수 없습니다.Cannot query for response header.
30153015 ErrorHttpQueryHeaderOutOfMemoryCopyHeaderErrorHttpQueryHeaderOutOfMemoryCopyHeader 메모리가 부족하여 응답 헤더를 복사할 수 없습니다.Cannot copy the response header due to out of memory.
30163016 ErrorHttpQueryHeaderOutOfMemoryReallocBufferErrorHttpQueryHeaderOutOfMemoryReallocBuffer 버퍼를 재할당할 때 메모리가 부족하여 응답 헤더를 쿼리할 수 없습니다.Cannot query the response header due to out of memory when reallocating a buffer.
30173017 ErrorHttpQueryHeaderNotFoundErrorHttpQueryHeaderNotFound 응답에서 쿼리 헤더를 찾을 수 없습니다.Cannot find the query header in the response.
30183018 ErrorHttpQueryHeaderUpdateBufferLengthErrorHttpQueryHeaderUpdateBufferLength 응답 헤더를 쿼리할 때에 버퍼 길이를 업데이트할 수 없습니다.Cannot update the buffer length when querying the response header.
30193019 ErrorHttpReadDataErrorHttpReadData 네트워크 오류로 인해 응답 데이터를 읽을 수 없습니다.Cannot read response data due to network error.
30763076 ErrorHttpResourceNotFoundErrorHttpResourceNotFound 키 이름을 알 수 없어 서버에서 404로 응답했습니다.The server responded 404, because the key name was not found. 사용자 자격 증명 모음에 키 이름이 있는지 확인하세요.Please make sure the key name exists in your vault.
30773077 ErrorHttpOperationForbiddenErrorHttpOperationForbidden 사용자에게 작업을 수행할 적절한 권한이 없어 403으로 응답했습니다.The server responded 403, because the user doesn’t have proper permission to perform the action. 지정된 작업에 대한 권한이 있는지 확인하세요.Please make sure you have the permission for the specified operation. 최소한 커넥터가 제대로 작동하려면 'get, list, wrapKey, unwrapKey' 권한이 필요합니다.At minimum, the connector requires 'get, list, wrapKey, unwrapKey' permissions to function properly.

이 테이블에 오류 코드가 표시되지 않는 경우, 다음과 같은 다른 이유로 오류가 발생할 수 있습니다.If you don’t see your error code in this table, here are some other reasons the error may be happening:

  • 인터넷 액세스 권한이 없으며 Azure 주요 자격 증명 모음에 액세스할 수 없습니다. 인터넷 연결을 확인하세요.You may not have Internet access and cannot access your Azure Key Vault – please check your Internet connection.

  • Azure 주요 자격 증명 모음 서비스가 종료될 수 있습니다.The Azure Key Vault service may be down. 나중에 다시 시도하세요.Please try again at another time.

  • Azure 주요 자격 증명 모음 또는 SQL ServerSQL Server에서 비대칭 키를 삭제했을 수 있습니다.You may have dropped the asymmetric key from Azure Key Vault or SQL ServerSQL Server. 키를 복원하세요.Please restore the key.

  • "라이브러리를 로드할 수 없습니다." 오류가 표시되는 경우 실행 중인 SQL Server 버전에 적절한 재배포 가능한 Visual Studio C++의 최신 버전이 설치되어 있는지 확인하세요.If you receive a “Cannot load library” error, make sure you have the appropriate version of the Visual Studio C++ redistributable installed based on the version of SQL Server that you are running. 다음 표에서는 Microsoft 다운로드 센터에서 설치할 버전을 지정합니다.The table below specifies which version to install from the Microsoft Download Center.

SQL Server 버전SQL Server Version 재배포 가능 설치 링크Redistributable Install Link
2008, 2008 R2, 2012, 20142008, 2008 R2, 2012, 2014 Visual Studio 2013용 Visual C++ 재배포 가능 패키지Visual C++ Redistributable Packages for Visual Studio 2013
20162016 Visual Studio 2015용 Visual C++ 재배포 가능 패키지Visual C++ Redistributable for Visual Studio 2015

추가 참조Additional References

확장 가능 키 관리 추가 정보:More About Extensible Key Management:

참고 항목See Also

Azure 주요 자격 증명 모음을 사용한 확장 가능 키 관리 SQL 암호화 기능을 통해 SQL Server 커넥터 사용 Extensible Key Management Using Azure Key Vault Use SQL Server Connector with SQL Encryption Features
EKM provider enabled 서버 구성 옵션 EKM provider enabled Server Configuration Option
Azure 주요 자격 증명 모음을 사용한 확장 가능 키 관리 설정 단계Setup Steps for Extensible Key Management Using the Azure Key Vault