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
- Arrêtez le service SQL Server en utilisant Gestionnaire de Configuration SQL Server.
- Désinstallez l’ancienne version à l’aide de Panneau de configuration>Programmes>Programmes et fonctionnalités.
- Nom d’application :Connecteur SQL Server pour Microsoft Azure Key Vault
- Version : 15.0.300.96 (ou version antérieure)
- Date du fichier DLL : 30 janvier 2018 (ou version antérieure)
- Installez (mettez à niveau) le nouveau connecteur SQL Server pour Microsoft Azure Key Vault.
- Version : 15.0.2000.440
- Date du fichier DLL : 9 novembre 2024
- Démarrez le service SQL Server.
- Les bases de données chiffrées de test sont accessibles.
Restauration
Arrêtez le service SQL Server à l’aide de Gestionnaire de configuration SQL Server.
Désinstallez la nouvelle version à l’aide de Panneau de configuration>Programmes>Programmes et fonctionnalités.
- Nom d’application :Connecteur SQL Server pour Microsoft Azure Key Vault
- Version : 15.0.2000.440
- Date du fichier DLL : 9 novembre 2024
Installez l’ancienne version du connecteur SQL Server pour Microsoft Azure Key Vault.
- Version : 15.0.300.96
- Date du fichier DLL : 30 janvier 2018
Démarrez le service SQL Server.
Vérifiez que les bases de données utilisant TDE sont accessibles.
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
- Actuel : 1.0.5.0 (version 15.0.2000.440) – Date du fichier 09 novembre 2024
- 1.0.5.0 (version 15.0.2000.440) – Date du fichier 24 novembre 2020
- 1.0.5.0 (version 15.0.300.96) – Date de fichier du 30 janvier 2018
- 1.0.4.0 : (version 13.0.811.168)
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 serveurALTER SETTINGS
. L’autorisationALTER 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 ?
Accédez au portail Azure.
Dans le coin supérieur droit de la page, sélectionnez l’icône des paramètres ou votre profil d’utilisateur.
Sur la page Annuaires + abonnements, sélectionnez Tous les annuaires pour voir tous les annuaires Microsoft Entra auxquels vous appartenez.
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
Informations de référence sur les applets de commande Azure Key Vault de PowerShell
Contenu connexe
- gestion extensible des clés à l’aide d’Azure Key Vault (SQL Server)
- Utiliser le connecteur SQL Server avec les fonctionnalités de chiffrement SQL
- fournisseur EKM activé (option de configuration de serveur)
- Configurer SQL Server TDE Extensible Key Management à l'aide d'Azure Key Vault
- Pour obtenir des exemples de scripts supplémentaires, consultez le blog sur Chiffrement des données transparentes SQL Server et gestion de clés extensible avec Azure Key Vault