Partage via


Résolution des problèmes et maintenance du connecteur SQL Server

S'applique à :SQL Server

Des informations supplémentaires sur le connecteur SQL Server sont fournies dans cet article. Pour plus d’informations sur le connecteur SQL Server, consultez gestion extensible des clés à l’aide d’Azure Key Vault (SQL Server), configurer sql Server TDE Extensible Key Management à l’aide d’Azure Key Vaultet utiliser le connecteur SQL Server avec des fonctionnalités de chiffrement SQL.

Remarque

Bien que Microsoft Entra ID soit le nouveau nom d’Azure Active Directory (Azure AD) pour empêcher l’interruption des environnements existants, Azure AD reste toujours dans certains éléments codés en dur, tels que les champs d’interface utilisateur, les fournisseurs de connexions, les codes d’erreur et cmdlets. Dans cet article, les deux noms sont interchangeables.

R : Instructions de maintenance du connecteur SQL Server

Rotation des clés

Azure Key Vault prend en charge la rotation des clés, à savoir le processus de création d’une clé et de mise à jour des applications pour utiliser la nouvelle clé. La rotation des clés est une bonne pratique de sécurité permettant de protéger les données au cas où la clé serait compromise. Le connecteur SQL Server prend en charge la rotation des clés. Les anciennes clés ne doivent pas être supprimées, car elles peuvent être nécessaires pour restaurer une base de données. Pour faire pivoter une clé, suivez les étapes décrites dans Rotation d’une clé asymétrique avec une nouvelle clé AKV ou une nouvelle version de clé AKV.

Mise à niveau du connecteur SQL Server

Les versions 1.0.0.440 et antérieures ont été remplacées et ne sont plus prises en charge dans les environnements de production. Les versions 1.0.1.0 et les versions antérieures ne sont pas prises en charge dans les environnements de production. Utilisez les instructions suivantes pour effectuer une mise à niveau vers la dernière version disponible sur le Centre de téléchargement Microsoft.

Mettre à jour

  1. Arrêtez le service SQL Server en utilisant Gestionnaire de Configuration SQL Server.
  2. Désinstallez l’ancienne version à l’aide de Panneau de configuration>Programmes>Programmes et fonctionnalités.
    1. Nom d’application :Connecteur SQL Server pour Microsoft Azure Key Vault
    2. Version : 15.0.300.96 (ou version antérieure)
    3. Date du fichier DLL : 30 janvier 2018 (ou version antérieure)
  3. Installez (mettez à niveau) le nouveau connecteur SQL Server pour Microsoft Azure Key Vault.
    1. Version : 15.0.2000.440
    2. Date du fichier DLL : 9 novembre 2024
  4. Démarrez le service SQL Server.
  5. Les bases de données chiffrées de test sont accessibles.

Restauration

  1. Arrêtez le service SQL Server à l’aide de Gestionnaire de configuration SQL Server.

  2. Désinstallez la nouvelle version à l’aide de Panneau de configuration>Programmes>Programmes et fonctionnalités.

    1. Nom d’application :Connecteur SQL Server pour Microsoft Azure Key Vault
    2. Version : 15.0.2000.440
    3. Date du fichier DLL : 9 novembre 2024
  3. Installez l’ancienne version du connecteur SQL Server pour Microsoft Azure Key Vault.

    1. Version : 15.0.300.96
    2. Date du fichier DLL : 30 janvier 2018
  4. Démarrez le service SQL Server.

  5. Vérifiez que les bases de données utilisant TDE sont accessibles.

  6. Après avoir validé que la mise à jour fonctionne, vous pouvez supprimer l’ancien dossier sql Server Connector (si vous avez choisi de le renommer au lieu de le désinstaller à l’étape 3).

Versions antérieures du connecteur SQL Server

Liens ciblés vers les versions antérieures du connecteur SQL Server

Modification du principal du service SQL Server

SQL Server utilise des principaux de service créés dans Microsoft Entra ID (anciennement Azure Active Directory) comme informations d’identification pour accéder au coffre de clés. Le principal de service possède un ID client et une clé d’authentification. Des informations d’identification SQL Server sont configurées avec le nom du coffre, l’ID client et la clé d’authentification. La clé d’authentification est valide un certain temps (un ou deux ans). Avant l’expiration de la période, une nouvelle clé doit être générée dans Microsoft Entra ID pour le principal de service. Ensuite, les informations d’identification doivent être modifiées dans SQL Server. Management Studio gère un cache pour les informations d’identification de la session en cours ; ainsi, si des informations d’identification sont modifiées, Management Studio doit être redémarré.

Prise en charge des identités managées pour SQL Server sur une machine virtuelle Azure

À compter de la mise à jour cumulative 17 (CU17) de SQL Server 2022, les identités managées Microsoft Entra sont prises en charge pour la gestion de clés extensible (EKM) avec Azure Key Vault (AKV) et les modules de sécurité matériel managé (HSM) sur SQL Server sur des machines virtuelles Azure (Windows uniquement). Pour plus d’informations, consultez la prise en charge de l’identité managée pour la gestion extensible des clés avec Azure Key Vaultdans la section. Pour utiliser des identités managées avec le connecteur SQL Server, la version du connecteur doit être 1.0.5.0 novembre 2024 ou ultérieure. Téléchargez la dernière version à partir du Centre de téléchargement Microsoft .

Sauvegarde et récupération des clés

Le coffre de clés doit être sauvegardé régulièrement. Si une clé asymétrique dans le coffre est perdue, elle peut être restaurée à partir d’une sauvegarde. La clé doit être restaurée à l’aide du même nom qu’avant, ce que fait la commande PowerShell Restore (voir les étapes ci-dessous).

Si le coffre a été perdu, recréez un coffre et restaurez la clé asymétrique dans le coffre en utilisant le même nom qu’avant. Le nom du coffre peut être différent (ou le même qu’avant). Définissez les autorisations d’accès sur le nouveau coffre de manière à accorder au principal du service SQL Server l’accès nécessaire pour les scénarios de chiffrement SQL Server, puis paramétrez les informations d’identification SQL Server afin qu’elles reflètent le nom du nouveau coffre.

Voici un récapitulatif des étapes :

  • Sauvegarder la clé de coffre (à l’aide de l’applet de commande PowerShell Backup-AzureKeyVaultKey).
  • En cas de défaillance du coffre, créer un coffre dans la même région géographique. L’utilisateur qui crée le coffre doit se trouver dans le même annuaire par défaut que le programme d’installation du principal du service pour SQL Server.
  • Restaurer la clé dans le nouveau coffre à l’aide de l’applet de commande PowerShell Restore-AzureKeyVaultKey, opération qui restaure la clé en utilisant le même nom qu’avant. S’il existe déjà une clé portant le même nom, la restauration échoue.
  • Accorder des autorisations au principal du service SQL Server pour utiliser ce nouveau coffre.
  • Modifier les informations d’identification SQL Server utilisées par le moteur de base de données afin qu’elles reflètent le nom du nouveau coffre (le cas échéant).

Les sauvegardes des clés peuvent être restaurées entre les régions Azure, tant qu’elles restent dans la même région géographique ou le même cloud national : États-Unis, Canada, Japon, Australie, Inde, Asie et Pacifique du sud, Europe, Brésil, Chine, Administration américaine ou Allemagne.

B. Forums Aux Questions (FAQ)

À propos d’Azure Key Vault

Comment fonctionnent les opérations de clé avec Azure Key Vault ?

La clé asymétrique dans le coffre de clés permet de protéger les clés de chiffrement SQL Server. Seule la partie publique de la clé asymétrique sort du coffre ; la partie privée n’est jamais exportée par le coffre. Toutes les opérations de chiffrement effectuées à l’aide de la clé asymétrique ont lieu dans le service Azure Key Vault et sont protégées par la sécurité de ce service.

Qu’est-ce qu’un URI de clé ?

Dans Azure Key Vault, chaque clé a un URI, que vous pouvez utiliser pour référencer la clé dans votre application. Utilisez le format https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey pour obtenir la version actuelle, et le format https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87 pour obtenir une version spécifique.

Sur la configuration de SQL Server

Quels sont les points de terminaison auxquels le connecteur SQL Server a besoin d’accéder ?

Le connecteur communique avec deux points de terminaison, qui doivent être autorisés. Le seul port requis pour la communication sortante vers ces autres services est 443 pour HTTPS :

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

En outre, la vérification de la liste de révocation de certificats peut créer un trafic HTTP sur le port 80.

Remarque

L'utilisation du connecteur SQL Server pour Azure Key Vault derrière un pare-feu ou un serveur proxy peut affecter les performances si le trafic est retardé ou bloqué. Familiarisez-vous avec Accéder à Azure Key Vault derrière un pare-feu pour vous assurer que les règles appropriées sont en place.

Comment se connecter à Azure Key Vault par le biais d’un serveur proxy HTTP(S) ? Le connecteur utilise les paramètres de configuration de proxy d’Internet Explorer. Ces paramètres peuvent être contrôlés par le biais d’une stratégie de groupe ou du Registre, mais il est important de noter qu’ils ne s’appliquent pas à l’ensemble du système et qu’ils doivent cibler le compte de service exécutant l’instance. Si un administrateur de base de données examine ou modifie les paramètres dans Internet Explorer, seul le compte de l’administrateur de base de données est affecté (le moteur SQL Server ne l’est pas). La connexion interactive au serveur à l’aide du compte de service n’est pas recommandée et est bloquée dans de nombreux environnements sécurisés. Les modifications apportées aux paramètres de proxy configurés peuvent nécessiter le redémarrage de l’instance SQL Server pour entrer en vigueur. En effet, elles sont mises en cache quand le connecteur tente pour la première fois de se connecter à un coffre de clés.

Quelles tailles de clé Azure Key Vault le connecteur SQL Server prend-il en charge ? La dernière build du connecteur SQL Server prend en charge les tailles de clés Azure Key Vault 2048 et 3072.

Remarque

La vue système sys.asymmetric_keys retourne la taille de clé en 2048 même si la taille de clé 3072 est utilisée.

Quels sont les niveaux d’autorisation minimaux exigés pour chaque étape de configuration dans SQL Server ?

Même si vous pouvez effectuer toutes les étapes de configuration comme membre du rôle serveur fixe sysadmin, Microsoft vous encourage à réduire les autorisations que vous utilisez. La liste suivante définit le niveau d’autorisation minimal pour chaque action.

  • Pour créer un fournisseur de services de chiffrement, l’autorisation CONTROL SERVER ou l’appartenance au rôle de serveur fixe sysadmin est exigée.

  • Pour modifier une option de configuration et exécuter l’instruction RECONFIGURE , vous devez disposer de l’autorisation de niveau serveur ALTER SETTINGS . L’autorisation ALTER SETTINGS est implicitement détenue par les rôles serveur fixes sysadmin et serveradmin .

  • Pour créer des informations d’identification, l’autorisation ALTER ANY CREDENTIAL est exigée.

  • Pour ajouter des informations d’identification à une connexion, l’autorisation ALTER ANY LOGIN est exigée.

  • Pour créer une clé asymétrique, l’autorisation CREATE ASYMMETRIC KEY est exigée.

Comment modifier mon annuaire Microsoft Entra par défaut, de sorte que mon coffre de clés soit créé dans le même abonnement et le mème annuaire que le principal de service que j’ai créé pour le connecteur SQL Server ?

Capture d’écran montrant les étapes de l’aide concernant la modification de l’annuaire par défaut de Microsoft Entra ID.

  1. Accédez au portail Azure.

  2. Dans le coin supérieur droit de la page, sélectionnez l’icône des paramètres ou votre profil d’utilisateur.

  3. Sur la page Annuaires + abonnements, sélectionnez Tous les annuaires pour voir tous les annuaires Microsoft Entra auxquels vous appartenez.

  4. Vous pouvez modifier votre Annuaire de démarrage ou changer d’annuaire si vous en avez plusieurs.

    Remarque

    Vous n’avez peut-être pas les autorisations nécessaires pour modifier réellement le répertoire par défaut de votre abonnement Azure. Dans ce cas, créez le principal du service Microsoft Entra dans votre annuaire par défaut afin qu’il soit dans le même annuaire que le coffre de clés Azure utilisé ultérieurement.

Pour en savoir plus sur Microsoft Entra ID, lisez Comment les abonnements Azure sont liés à Microsoft Entra ID.

C. Explications des codes d’erreur du connecteur SQL Server

Remarque

Bien que Microsoft Entra ID soit le nouveau nom d’Azure Active Directory (Azure AD) pour empêcher l’interruption des environnements existants, Azure AD reste toujours dans certains éléments codés en dur, tels que les champs d’interface utilisateur, les fournisseurs de connexions, les codes d’erreur et cmdlets. Dans cet article, les deux noms sont interchangeables.

Codes d’erreur du fournisseur :

Code d’erreur Symbole Description
0 scp_err_Success The operation has succeeded.
1 scp_err_Failure The operation has failed.
2 scp_err_InsufficientBuffer This error tells engine to allocate more memory for the buffer.
3 scp_err_NotSupported The operation is not supported. For example, the key type or algorithm specified isn't supported by the EKM provider.
4 scp_err_NotFound The specified key or algorithm couldn't be found by the EKM provider.
5 scp_err_AuthFailure The authentication has failed with EKM provider.
6 scp_err_InvalidArgument The provided argument is invalid.
7 scp_err_ProviderError There is an unspecified error happened in EKM provider that is caught by SQL engine.
401 acquireToken Server responded 401 for the request. Make sure the client ID and secret are correct, and the credential string is a concatenation of AAD client ID and secret without hyphens.
404 getKeyByName The server responded 404, because the key name was not found. Please make sure the key name exists in your vault.
2049 scp_err_KeyNameDoesNotFitThumbprint The key name is too long to fit into SQL engine's thumbprint. The key name must not exceed 26 characters.
2050 scp_err_PasswordTooShort The secret string that is the concatenation of AAD client ID and secret is shorter than 32 characters.
2051 scp_err_OutOfMemory SQL engine has run out of memory and failed to allocate memory for EKM provider.
2052 scp_err_ConvertKeyNameToThumbprint Failed to convert key name to thumbprint.
2053 scp_err_ConvertThumbprintToKeyName| Failed to convert thumbprint to key name.
2057 scp_err_ThumbprintExistedInRegistry The key thumbprint already exists in Windows registry mapped to a different key URI.
2058 scp_err_FailureInRegistry| Failed to perform the operation in registry. SQL Server service account does not have permission to create the registry key.
3000 ErrorSuccess The AKV operation has succeeded.
3001 ErrorUnknown The AKV operation has failed with an unspecified error.
3002 ErrorHttpCreateHttpClientOutOfMemory Cannot create an HttpClient for AKV operation due to out of memory.
3003 ErrorHttpOpenSession Cannot open an Http session because of network error.
3004 ErrorHttpConnectSession Cannot connect an Http session because of network error.
3005 ErrorHttpAttemptConnect Cannot attempt a connect because of network error.
3006 ErrorHttpOpenRequest Cannot open a request due to network error.
3007 ErrorHttpAddRequestHeader Cannot add request header.
3008 ErrorHttpSendRequest Cannot send a request due to network error.
3009 ErrorHttpGetResponseCode Cannot get a response code due to network error.
3010 ErrorHttpResponseCodeUnauthorized Server responded 401 for the request.
3011 ErrorHttpResponseCodeThrottled Server has throttled the request.
3012 ErrorHttpResponseCodeClientError The request sent from the connector is invalid. This usually means the key name is invalid or contains invalid characters.
3013 ErrorHttpResponseCodeServerError Server responded a response code between 500 and 600.
3014 ErrorHttpQueryHeader Cannot query for response header.
3015 ErrorHttpQueryHeaderOutOfMemoryCopyHeader Cannot copy the response header due to out of memory.
3016 ErrorHttpQueryHeaderOutOfMemoryReallocBuffer Cannot query the response header due to out of memory when reallocating a buffer.
3017 ErrorHttpQueryHeaderNotFound Cannot find the query header in the response.
3018 ErrorHttpQueryHeaderUpdateBufferLength Cannot update the buffer length when querying the response header.
3019 ErrorHttpReadData Cannot read response data due to network error.
3076 ErrorHttpResourceNotFound The server responded 404, because the key name was not found. Make sure the key name exists in your vault.
3077 ErrorHttpOperationForbidden The server responded 403, because the user doesn't have proper permission to perform the action. Make sure you have the permission for the specified operation. At minimum, the connector requires 'get, list, wrapKey, unwrapKey' permissions to function properly.
3100 ErrorHttpCreateHttpClientOutOfMemory Cannot create a HttpClient for AKV operation due to out of memory.
3101 ErrorHttpOpenSession Cannot open a Http session due to network error.
3102 ErrorHttpConnectSession Cannot connect a Http session due to network error.
3103 ErrorHttpAttemptConnect Cannot attempt a connect due to network error.
3104 ErrorHttpOpenRequest Cannot open a request due to network error.
3105 ErrorHttpAddRequestHeader Cannot add request header.
3106 ErrorHttpSendRequest Cannot send a request due to network error.
3107 ErrorHttpGetResponseCode Cannot get a response code due to network error.
3108 ErrorHttpResponseCodeUnauthorized Server responded 401 for the request. Make sure the client Id and secret are correct, and the credential string is a concatenation of AAD client Id and secret without hyphens.
3109 ErrorHttpResponseCodeThrottled Server has throttled the request.
3110 ErrorHttpResponseCodeClientError The request is invalid. This usually means the key name is invalid or contains invalid characters.
3111 ErrorHttpResponseCodeServerError Server responded a response code between 500 and 600.
3112 ErrorHttpResourceNotFound The server responded 404, because the key name was not found. Please make sure the key name exists in your vault.
3113 ErrorHttpOperationForbidden The server responded 403, because the user does not have proper permission to perform the action. Please make sure you have the permission for the specified operation. At minimum,'get, wrapKey, unwrapKey' permissions are required.
3114 ErrorHttpQueryHeader Cannot query for response header.
3115 ErrorHttpQueryHeaderOutOfMemoryCopyHeader Cannot copy the response header due to out of memory.
3116 ErrorHttpQueryHeaderOutOfMemoryReallocBuffer Cannot query the response header due to out of memory when reallocating a buffer.
3117 ErrorHttpQueryHeaderNotFound Cannot find the query header in the response.
3118 ErrorHttpQueryHeaderUpdateBufferLength Cannot update the buffer length when querying the response header.
3119 ErrorHttpReadData Cannot read response data due to network error.
3120 ErrorHttpGetResponseOutOfMemoryCreateTempBuffer Cannot get response body due to out of memory when creating a temp buffer.
3121 ErrorHttpGetResponseOutOfMemoryGetResultString Cannot get response body due to out of memory when get result string.
3122 ErrorHttpGetResponseOutOfMemoryAppendResponse Cannot get response body due to out of memory when appending response.
3200 ErrorGetAADValuesOutOfMemoryConcatPath Cannot get Azure Active Directory challenge header values due to out of memory when concatenating the path.
3201 ErrorGetAADDomainUrlStartPosition Cannot find the starting position for Azure Active Directory domain Url in malformatted response challenge header.
3202 ErrorGetAADDomainUrlStopPosition Cannot find the ending position for Azure Active Directory domain Url in malformatted response challenge header.
3203 ErrorGetAADDomainUrlMalformatted The Azure Active Directory response challenge header is malformatted and doesn't contain the AAD domain Url.
3204 ErrorGetAADDomainUrlOutOfMemoryAlloc Out of memory when allocating buffer for Azure Active Directory domain Url.
3205 ErrorGetAADTenantIdOutOfMemoryAlloc Out of memory when allocating buffer for Azure Active Directory tenantId.
3206 ErrorGetAKVResourceUrlStartPosition Cannot find the starting position for Azure Key Vault resource Url in malformatted response challenge header.
3207 ErrorGetAKVResourceUrlStopPosition Cannot find the ending position for Azure Key Vault resource Url in malformatted response challenge header.
3208 ErrorGetAKVResourceUrlOutOfMemoryAlloc Out of memory when allocating buffer for Azure Key Vault resource Url.
3300 ErrorGetTokenOutOfMemoryConcatPath Cannot get token due to out of memory when concatenating the request path.
3301 ErrorGetTokenOutOfMemoryConcatBody Cannot get token due to out of memory when concatenating the response body.
3302 ErrorGetTokenOutOfMemoryConvertResponseString Cannot get token due to out of memory when converting the response string.
3303 ErrorGetTokenBadCredentials Cannot get token due to incorrect credentials. Make sure the credential string or certificate is valid.
3304 ErrorGetTokenFailedToGetToken While the credentials are correct, the operation still failed to get a valid token.
3305 ErrorGetTokenRejected The token is valid but is rejected by server.
3306 ErrorGetTokenNotFound Cannot find the token in response.
3307 ErrorGetTokenJsonParser Cannot parse the JSON response of server.
3308 ErrorGetTokenExtractToken Cannot extract the token from the JSON response.
3400 ErrorGetKeyByNameOutOfMemoryConvertResponseString Cannot get the key by name due to out of memory converting the response string.
3401 ErrorGetKeyByNameOutOfMemoryConcatPath Cannot get the key by name due to out of memory when concatenating the path.
3402 ErrorGetKeyByNameOutOfMemoryConcatHeader Cannot get the key by name due to out of memory when concatenating the header.
3403 ErrorGetKeyByNameNoResponse Cannot get the key by name due to no response from server.
3404 ErrorGetKeyByNameJsonParser Cannot get the key by name due to failed to parse the JSON response.
3405 ErrorGetKeyByNameExtractKeyNode Cannot get the key by name due to failed to extract the key node from the response.
3406 ErrorGetKeyByNameExtractKeyId Cannot get the key by name due to failed to extract the key Id from the response.
3407 ErrorGetKeyByNameExtractKeyType Cannot get the key by name due to failed to extract the key type from the response.
3408 ErrorGetKeyByNameExtractKeyN Cannot get the key by name due to failed to extract the key N from the response.
3409 ErrorGetKeyByNameBase64DecodeN Cannot get the key by name due to failed to Base64 decode the N.
3410 ErrorGetKeyByNameExtractKeyE Cannot get the key by name due to failed to extract the key E from the response.
3411 ErrorGetKeyByNameBase64DecodeE Cannot get the key by name due to failed to Base64 decode the E.
3412 ErrorGetKeyByNameExtractKeyUri Cannot extract the key Uri from the response.
3500 ErrorBackupKeyOutOfMemoryConvertResponseString Cannot back up key due to out of memory when converting the response string.
3501 ErrorBackupKeyOutOfMemoryConcatPath Cannot back up key due to out of memory when concatenating the path.
3502 ErrorBackupKeyOutOfMemoryConcatHeader Cannot back up key due to out of memory when concatenating the request header.
3503 ErrorBackupKeyNoResponse Cannot back up key due to no response from server.
3504 ErrorBackupKeyJsonParser Cannot back up key due to failed to parse the JSON response.
3505 ErrorBackupKeyExtractValue Cannot back up key due to failed to extract the value from JSON response.
3506 ErrorBackupKeyBase64DecodeValue Cannot back up key due to failed to Base64 decode the value field.
3600 ErrorWrapKeyOutOfMemoryConvertResponseString Cannot wrap key due to out of memory when converting response string.
3601 ErrorWrapKeyOutOfMemoryConcatPath Cannot wrap key due to out of memory when concatenating the path.
3602 ErrorWrapKeyOutOfMemoryConcatHeader Cannot wrap key due to out of memory when concatenating the header.
3603 ErrorWrapKeyOutOfMemoryConcatBody Cannot wrap key due to out of memory when concatenating the body.
3604 ErrorWrapKeyOutOfMemoryConvertEncodedBody Cannot wrap key due to out of memory when converting the encoded body.
3605 ErrorWrapKeyBase64EncodeKey Cannot wrap key due to failed to Base64 encode the key.
3606 ErrorWrapKeyBase64DecodeValue Cannot wrap key due to failed to Base64 decode the response value.
3607 ErrorWrapKeyJsonParser Cannot wrap key due to failed to parse the JSON response.
3608 ErrorWrapKeyExtractValue Cannot wrap key due to failed to extract value from response.
3609 ErrorWrapKeyNoResponse Cannot wrap key due to no response from server.
3700 ErrorUnwrapKeyOutOfMemoryConvertResponseString Cannot unwrap key due to out of memory when converting response string.
3701 ErrorUnwrapKeyOutOfMemoryConcatPath Cannot unwrap key due to out of memory when concatenating the path.
3702 ErrorUnwrapKeyOutOfMemoryConcatHeader Cannot unwrap key due to out of memory when concatenating the header.
3703 ErrorUnwrapKeyOutOfMemoryConcatBody Cannot unwrap key due to out of memory when concatenating the body.
3704 ErrorUnwrapKeyOutOfMemoryConvertEncodedBody Cannot unwrap key due to out of memory when converting the encoded body.
3705 ErrorUnwrapKeyBase64EncodeKey Cannot unwrap key due to failed to Base64 encode the key.
3706 ErrorUnwrapKeyBase64DecodeValue Cannot unwrap key due to failed to Base64 decode the response value.
3707 ErrorUnwrapKeyJsonParser Cannot unwrap key due to failed to extract value from response.
3708 ErrorUnwrapKeyExtractValue Cannot unwrap key due to failed to extract value from response.
3709 ErrorUnwrapKeyNoResponse Cannot unwrap key due to no response from server.
3800 ErrorSecretAuthParamsGetRequestBody Error creating request body using AAD clientId and secret.
3801 ErrorJWTTokenCreateHeader Error creating JWT token header for authentication with AAD.
3802 ErrorJWTTokenCreatePayloadGUID Error creating GUID for JWT token payload for authentication with AAD.
3803 ErrorJWTTokenCreatePayload Error creating JWT token payload for authentication with AAD.
3804 ErrorJWTTokenCreateSignature Error creating JWT token signature for authentication with AAD.
3805 ErrorJWTTokenSignatureHashAlg Error getting SHA256 hash algorithm for authentication with AAD.
3806 ErrorJWTTokenSignatureHash Error creating SHA256 hash for JWT token authentication with AAD.
3807 ErrorJWTTokenSignatureSignHash Error signing JWT token hash for authentication with AAD.
3808 ErrorJWTTokenCreateToken Error creating JWT token for authentication with AAD.
3809 ErrorPfxCertAuthParamsImportPfx Error importing Pfx certificate for authentication with AAD.
3810 ErrorPfxCertAuthParamsGetThumbprint Error getting thumbprint from Pfx certificate for authentication with AAD.
3811 ErrorPfxCertAuthParamsGetPrivateKey Error getting private key from Pfx certificate for authentication with AAD.
3812 ErrorPfxCertAuthParamsSignAlg Error getting RSA signing algorithm for Pfx certificate authentication with AAD.
3813 ErrorPfxCertAuthParamsImportForSign Error importing Pfx private key for RSA signing for authentication with AAD.
3814 ErrorPfxCertAuthParamsCreateRequestBody Error creating request body from Pfx certificate for authentication with AAD.
3815 ErrorPEMCertAuthParamsGetThumbprint Error Base64 decoding Thumbprint for authentication with AAD.
3816 ErrorPEMCertAuthParamsGetPrivateKey Error getting RSA private key from PEM for authentication with AAD.
3817 ErrorPEMCertAuthParamsSignAlg Error getting RSA signing algorithm for PEM private key authentication with AAD.
3818 ErrorPEMCertAuthParamsImportForSign Error importing PEM private key for RSA signing for authentication with AAD.
3819 ErrorPEMCertAuthParamsCreateRequestBody Error creating request body from PEM private key for authentication with AAD.
3820 ErrorLegacyPrivateKeyAuthParamsSignAlg Error getting RSA signing algorithm for Legacy private key authentication with AAD.
3821 ErrorLegacyPrivateKeyAuthParamsImportForSign Error importing Legacy private key for RSA signing for authentication with AAD.
3822 ErrorLegacyPrivateKeyAuthParamsCreateRequestBody Error creating request body from Legacy private key for authentication with AAD.
3900 ErrorAKVDoesNotExist Error internet name not resolved. This typically indicates the Azure Key Vault is deleted.
4000 ErrorCreateKeyVaultRetryManagerOutOfMemory Cannot create a RetryManager for AKV operation due to out of memory.

Si vous ne voyez pas votre code d’erreur dans ce tableau, voici quelques autres raisons pour lesquelles l’erreur peut se produire :

  • Vous n’avez peut-être pas accès à Internet et vous ne pouvez pas accéder à votre coffre de clés Azure. Vérifiez votre connexion Internet.

  • Le service Azure Key Vault peut être arrêté. Passez en revue azure.status.microsoft. Réessayez ultérieurement.

  • Vous avez peut-être supprimé la clé asymétrique d’Azure Key Vault ou de SQL Server. Restaurez la clé.

  • Si vous obtenez l’erreur « Impossible de charger la bibliothèque », vérifiez que la version de Visual Studio C++ Redistribuable dont vous disposez convient à la version de SQL Server que vous exécutez. Le tableau suivant spécifie la version à installer à partir du Centre de téléchargement Microsoft.

Le journal des événements Windows consigne également les erreurs associées au connecteur SQL Server, ce qui peut vous donner des informations supplémentaires sur la cause de l’erreur. La source dans le journal des événements de l’application Windows sera « Connecteur SQL Server pour Microsoft Azure Key Vault ».

Bibliothèques Runtime C++ pour le connecteur SQL Server 1.0.5.0

Version de SQL Server Lien d’installation redistribuable si vous utilisez le connecteur SQL Server 1.0.5.0
2008, 2008 R2, 2012, 2014 Packages redistribuables Visual C++ pour Visual Studio 2013
2016, 2017, 2019 Redistribuable Visual C++ pour Visual Studio 2015

Bibliothèques Runtime C++ pour le connecteur SQL Server 1.0.4.0

Version de SQL Server Lien d’installation redistribuable si vous utilisez le connecteur SQL Server 1.0.4.0
2008, 2008 R2, 2012, 2014, 2016, 2017, 2019 Packages redistribuables Visual C++ pour Visual Studio 2013

Références supplémentaires

Informations supplémentaires sur la gestion de clés extensible :

Chiffrements SQL prenant en charge la gestion de clés extensible :

Commandes Transact-SQL associées :

Documentation relative à Azure Key Vault