Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
Informazioni supplementari sul Connettore SQL Server sono disponibili in questo articolo. Per ulteriori informazioni sul connettore SQL Server, vedere Gestione estendibile delle chiavi utilizzando Azure Key Vault (SQL Server), Configurare la gestione estendibile delle chiavi TDE di SQL Server usando Azure Key Vaulte Utilizzare il connettore SQL Server con le funzionalità di crittografia SQL.
Nota
Anche se Microsoft Entra ID è il nuovo nome per Azure Active Directory (Azure AD), per evitare l'interruzione degli ambienti esistenti, la denominazione Azure AD è tuttora mantenuta in alcuni elementi hardcoded, ad esempio campi dell'interfaccia utente, provider di connessioni, codici errore e cmdlet. All’interno di questo articolo i due nomi vengono utilizzati in modo intercambiabile.
A. Istruzioni di manutenzione per Connettore SQL Server
Rotazione delle chiavi
Azure Key Vault supporta la rotazione delle chiavi, ovvero il processo di creazione di una nuova chiave e l'aggiornamento delle applicazioni per l'uso della nuova chiave. La rotazione delle chiavi è una procedura consigliata per la sicurezza che consente di proteggere i dati nel caso in cui la chiave venga compromessa. Connettore SQL Server supporta la rotazione delle chiavi. Le chiavi precedenti non devono essere eliminate perché potrebbe essere necessario ripristinare un database usando una chiave precedente. Per ruotare una chiave, seguire i passaggi descritti in Ruotare la chiave asimmetrica con una nuova chiave AKV o una nuova versione della chiave AKV.
Aggiornamento di Connettore SQL Server
Le versioni 1.0.0.440 e precedenti sono state sostituite e non sono più supportate negli ambienti di produzione. Le versioni 1.0.1.0 e successive sono supportate negli ambienti di produzione. Usare le istruzioni seguenti per eseguire l'aggiornamento alla versione più recente disponibile nell'Area download Microsoft.
Aggiornamento
- Fermare il servizio SQL Server usando Configuration Manager di SQL Server.
- Disinstallare la versione precedente usando Pannello di controllo>Programmi>Programmi e funzionalità.
- Nome dell'applicazione: Connettore SQL Server per Azure Key Vault
- Versione: 15.0.300.96 (o precedente)
- Data file DLL: 30 gennaio 2018 (o più vecchio)
- Installare (aggiornare) il nuovo connettore SQL Server per Microsoft Azure Key Vault.
- Versione: 15.0.2000.440
- Data file DLL: 9 novembre 2024
- Avviare il servizio SQL Server.
- I database crittografati di test sono accessibili.
Ripristino
Arrestare il servizio SQL Server usando Gestione configurazione di SQL Server.
Disinstalla la nuova versione usando Pannello di controllo>Programmi>Programmi e funzionalità.
- Nome dell'applicazione: Connettore SQL Server per Azure Key Vault
- Versione: 15.0.2000.440
- Data del file DLL: 9 novembre 2024
Installare la versione precedente del connettore SQL Server per Microsoft Azure Key Vault.
- Versione: 15.0.300.96
- File DLL, data: 30 gennaio 2018
Avviare il servizio SQL Server.
Verificare che i database che usano TDE siano accessibili.
Dopo aver convalidato il funzionamento dell'aggiornamento, è possibile eliminare la cartella connettore di SQL Server precedente( se si sceglie di rinominarla invece di disinstallarla nel passaggio 3).
Versioni precedenti del Connettore SQL Server
Collegamenti diretti a versioni precedenti del Connettore SQL Server
- Attuale: 1.0.5.0 (versione 15.0.2000.440) - Data del file 09 novembre 2024
- 1.0.5.0 (versione 15.0.2000.440) - Data del file 24 novembre 2020
- 1.0.5.0 (versione 15.0.300.96) - Data del file 30 gennaio 2018
- 1.0.4.0: (versione 13.0.811.168)
Rotazione dell'entità di sicurezza del servizio SQL Server
SQL Server usa le entità servizio create in Microsoft Entra ID (in precedenza Azure Active Directory) come credenziali per accedere al Key Vault. L'entità servizio ha un ID client e una chiave di autenticazione. Le credenziali di SQL Server vengono configurate con VaultName, ID client e chiave di autenticazione. La Chiave di autenticazione è valida per un determinato periodo di tempo (uno o due anni). Prima della scadenza del periodo di tempo, è necessario generare una nuova chiave in Microsoft Entra ID per l'entità servizio. Successivamente, è necessario cambiare le credenziali in SQL Server. Management Studio mantiene una cache per le credenziali nella sessione corrente, per cui, quando vengono modificate le credenziali, Management Studio deve essere riavviato.
Supporto dell'identità gestita per SQL Server in una macchina virtuale di Azure
A partire da SQL Server 2022 Cumulative Update 17 (CU17), le identità gestite di Microsoft Entra sono supportate per Extensible Key Management (EKM) con Azure Key Vault (AKV) e moduli di protezione hardware gestiti (HSM) in SQL Server in macchine virtuali di Azure (solo Windows). Per ulteriori informazioni, consultare il supporto per l'identità gestita nella gestione estendibile delle chiavi con Azure Key Vault. Per usare le identità gestite con il connettore SQL Server, la versione del connettore deve essere 1.0.5.0 novembre 2024 o versione successiva. Scarica la versione più recente dal Microsoft Download Center.
Backup e ripristino delle chiavi
È importante eseguire regolarmente il backup dell'insieme di credenziali delle chiavi. In caso di perdita di una chiave asimmetrica nell'archivio, è possibile ripristinarla dal backup. La chiave deve essere ripristinata usando lo stesso nome precedente con il comando Ripristina di PowerShell (vedere i passaggi successivi).
Se la cassaforte è stata persa, ricrea una cassaforte e ripristina la chiave asimmetrica nella cassaforte usando lo stesso nome di prima. Il nome del caveau può essere diverso o uguale a prima. Impostare le autorizzazioni di accesso nel nuovo vault per concedere al principale del servizio SQL Server l'accesso richiesto per gli scenari di crittografia di SQL Server, e quindi modificare le credenziali di SQL Server in modo che rifletta il nuovo nome del vault.
In sintesi, ecco i passaggi necessari:
- Eseguire il backup della chiave dell'archivio usando il cmdlet di PowerShell Backup-AzureKeyVaultKey.
- In caso di guasto della cassaforte, creane una nuova nella stessa area geografica. L'utente che crea il vault deve trovarsi nella stessa directory predefinita del principal del servizio configurato per SQL Server.
- Ripristinare la chiave nel nuovo Key Vault usando il cmdlet di PowerShell Restore-AzureKeyVaultKey, il quale ripristina la chiave mantenendo lo stesso nome che aveva in precedenza. Se esiste già una chiave con lo stesso nome, il ripristino non riesce.
- Concedere le autorizzazioni all'entità servizio di SQL Server per l'uso di questa nuova cassaforte.
- Modificare le credenziali di SQL Server usate dal motore di database per riflettere il nuovo nome del vault (se necessario).
I backup delle chiavi possono essere ripristinati nelle aree di Azure, a condizione che rimangano nella stessa area geografica o nel cloud nazionale: Stati Uniti, Canada, Giappone, Australia, India, Asia Pacifico, Europa, Brasile, Cina, US Gov o Germania.
B. Domande frequenti
Informazioni sull'insieme di credenziali delle chiavi di Azure
Come funzionano le operazioni chiave con Azure Key Vault?
La chiave asimmetrica nell'archivio di chiavi è utilizzata per proteggere le chiavi di crittografia di SQL Server. Solo la parte pubblica della chiave asimmetrica lascia il caveau; la parte privata non viene mai esportata dal caveau. Tutte le operazioni di crittografia che usano la chiave asimmetrica vengono eseguite all'interno del servizio Azure Key Vault e sono protette dal sistema di sicurezza del servizio.
Che cos'è un URI della chiave?
Ogni chiave in Azure Key Vault ha un URI (Uniform Resource Identifier) che puoi usare per fare riferimento alla chiave nella tua applicazione. Usare il formato https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey
per ottenere la versione corrente e usare il formato https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87
per ottenere una versione specifica.
Sulla configurazione di SQL Server
Quali sono gli endpoint a cui deve accedere il connettore SQL Server?
Il connettore comunica con due endpoint che devono essere autorizzati. L'unica porta necessaria per la comunicazione in uscita con questi altri servizi è 443 per HTTPS:
login.microsoftonline.com/*:443
*.vault.azure.net/*:443
Inoltre, il controllo dell'elenco di revoche di certificati potrebbe creare traffico HTTP sulla porta 80.
Nota
L'uso del Connettore SQL Server per Azure Key Vault dietro un firewall o un server proxy può influire sulle prestazioni se il traffico viene ritardato o bloccato. Acquisire familiarità con l'accesso ad Azure Key Vault dietro un firewall per assicurarsi che le regole presenti siano corrette.
Come si esegue la connessione ad Azure Key Vault usando un server proxy HTTP(S)? Il Connettore usa le impostazioni di configurazione del proxy di Internet Explorer. Queste impostazioni possono essere controllate usando Criteri di gruppo o il Registro di sistema, ma è importante tenere presente che non sono impostazioni a livello di sistema e dovranno essere indirizzate all'account del servizio che esegue l'istanza dell'istanza di SQL Server. Se un Amministratore di database visualizza o modifica le impostazioni in Internet Explorer, queste avranno effetto solo sull'account dell'Amministratore di database anziché sul motore di SQL Server. L'accesso interattivo al server usando l'account del servizio non è consigliato e viene bloccato in molti ambienti protetti. Per rendere effettive le modifiche apportate alle impostazioni proxy configurate, potrebbe essere necessario riavviare l'istanza di SQL Server perché vengono memorizzate nella cache quando il Connettore tenta per la prima volta di connettersi a un insieme di credenziali delle chiavi.
Quali dimensioni delle chiavi in Azure Key Vault sono supportate dal Connettore SQL Server? La build più recente del Connettore SQL Server or supporta le chiavi di Azure Key Vault di dimensioni 2048 e 3072.
Nota
La visualizzazione di sistema sys.asymmetric_keys
restituisce le dimensioni della chiave come 2048 anche se viene usata la dimensione della chiave 3072.
Quali sono i livelli di autorizzazione minimi necessari per ogni passaggio di configurazione in SQL Server?
Anche se è possibile eseguire tutti i passaggi di configurazione come membro del ruolo predefinito del server di amministratore di sistema (sysadmin), Microsoft consiglia di ridurre al minimo le autorizzazioni. L'elenco seguente indica il livello di autorizzazione minima per ogni azione.
Per creare un provider di crittografia è necessaria l'autorizzazione
CONTROL SERVER
o l'appartenenza al ruolo predefinito del server sysadmin .Per modificare un'opzione di configurazione ed eseguire l'istruzione
RECONFIGURE
, è necessaria l'autorizzazione a livello di serverALTER SETTINGS
. L'autorizzazioneALTER SETTINGS
è assegnata implicitamente ai ruoli predefiniti del server sysadmin e serveradmin .Per creare le credenziali è necessaria l'autorizzazione
ALTER ANY CREDENTIAL
.Per aggiungere le credenziali a un account di accesso è necessaria l'autorizzazione
ALTER ANY LOGIN
.Per creare una chiave asimmetrica è necessaria l'autorizzazione
CREATE ASYMMETRIC KEY
.
Come posso cambiare la directory predefinita di Microsoft Entra in modo che l'insieme di credenziali delle chiavi venga creato nella stessa sottoscrizione e nella stessa directory dell'entità servizio che ho creato per il Connettore SQL Server?
Vai al portale di Azure.
Selezionare l'icona Impostazioni nell'angolo superiore destro della pagina o nel profilo utente.
Nella pagina Directory e sottoscrizioni, selezionare Tutti gli elenchi per visualizzare tutti gli elenchi di Microsoft Entra a cui si appartiene.
È possibile modificare l'elenco di avvio o passare a un elenco diverso se ne sono presenti più di uno.
Nota
È possibile che non si disponga delle autorizzazioni per modificare effettivamente la directory predefinita nella sottoscrizione di Azure. In questo caso, crea l'entità servizio di Microsoft Entra all'interno della tua directory predefinita, in modo che si trovi nella stessa directory di Azure Key Vault utilizzato successivamente.
Per ulteriori informazioni su Microsoft Entra ID, vedere In che modo le sottoscrizioni di Azure sono collegate a Microsoft Entra ID.
C. Spiegazione dei codici di errore per Connettore SQL Server
Nota
Anche se Microsoft Entra ID è il nuovo nome per Azure Active Directory (Azure AD), per evitare l'interruzione degli ambienti esistenti, la denominazione Azure AD è tuttora mantenuta in alcuni elementi hardcoded, ad esempio campi dell'interfaccia utente, provider di connessioni, codici errore e cmdlet. All’interno di questo articolo i due nomi vengono utilizzati in modo intercambiabile.
Codici di errore del provider:
Codice errore | Simbolo | Descrizione |
---|---|---|
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. |
3128 |
ErrorHttpBadRequest |
The secret and client id are correct but in the wrong format. |
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. |
Se il codice di errore non viene visualizzato in questa tabella, ecco alcuni altri motivi per cui l'errore può verificarsi:
È possibile che non si abbia accesso a Internet e non sia possibile accedere ad Azure Key Vault. Verificare la connessione Internet.
Il servizio Azure Key Vault potrebbe essere inattivo. Esaminare azure.status.microsoft. Riprovare in un altro momento.
È possibile che sia stata eliminata la chiave asimmetrica da Azure Key Vault o SQL Server. Ripristinare la chiave.
Se viene visualizzato l'errore "Impossibile caricare il catalogo", verificare che sia installata la versione di Visual Studio C++ Redistributable appropriata in base alla versione di SQL Server in esecuzione. La tabella seguente specifica la versione da installare dall'Area download Microsoft.
Nel registro eventi di Windows vengono inoltre registrati gli errori associati al Connettore SQL Server e questo può essere utile per avere maggiori informazioni sul motivo per cui si sta verificando l'errore. L'origine nel log eventi dell'applicazione di Windows sarà "Connettore SQL Server per Azure Key Vault".
Cataloghi di runtime C++ per Connettore SQL Server 1.0.5.0
Versione di SQL Server | Collegamento per l'installazione di Redistributable se si usa il Connettore SQL Server 1.0.5.0 |
---|---|
2008, 2008 R2, 2012, 2014 | Visual C++ Redistributable Pacchetti per Visual Studio 2013 |
2016, 2017, 2019 | Visual C++ Redistributable per Visual Studio 2015 |
Cataloghi di runtime C++ per Connettore SQL Server 1.0.4.0
Versione di SQL Server | Collegamento per l'installazione di Redistributable se si usa il Connettore SQL Server 1.0.4.0 |
---|---|
2008, 2008 R2, 2012, 2014, 2016, 2017, 2019 | Pacchetti ridistribuibili di Visual C++ per Visual Studio 2013 |
Riferimenti aggiuntivi
Altre informazioni su Extensible Key Management:
Crittografie di SQL che supportano EKM:
Creare un di backup crittografato
Comandi Transact-SQL correlati:
Documentazione di Azure Key Vault
Riferimento ai cmdlet di PowerShell per Azure Key Vault
Contenuto correlato
- Gestione delle chiavi estensibile utilizzando Azure Key Vault (SQL Server)
- Usare Connettore SQL Server con le funzionalità di crittografia SQL
- provider EKM abilitato (opzione di configurazione del server)
- Configurare Extensible Key Management TDE di SQL Server usando Azure Key Vault
- Per script di esempio aggiuntivi, vedere il blog in Transparent Data Encryption e Extensible Key Management di SQL Server con Azure Key Vault.