Manutenzione e risoluzione dei problemi di Connettore SQL Server
Si applica a: SQL Server
Informazioni supplementari sul Connettore SQL Server sono disponibili in questo articolo. Per ulteriori informazioni sul Connettore SQL Server, vedere Extensible Key Management con Azure Key Vault (SQL Server), Procedura di installazione di Extensible Key Management con Azure Key Vault e Usare Connettore SQL Server con le funzionalità di crittografia di 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.
R. 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
- Arrestare il servizio SQL Server usando Gestione configurazione 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/01/2018 (o precedente)
- Installare (aggiornare) il nuovo Connettore SQL Server per Azure Key Vault
- Versione: 15.0.2000.440
- Data file DLL: 11/09/2020
- Avviare il servizio SQL Server
- Verificare che i database crittografati siano accessibili
Rollback
Arrestare il servizio SQL Server usando Gestione configurazione SQL Server
Disinstallare 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 file DLL: 24/11/2020
Installare la versione precedente del Connettore SQL Server per Microsoft Azure Key Vault
- Versione: 15.0.300.96
- Data file DLL: 30/01/2018
Avviare il servizio SQL Server
Verificare che i database che usano TDE siano accessibili
Dopo aver verificato il corretto funzionamento dell'aggiornamento, è possibile eliminare la cartella precedente di Connettore SQL Server (se si è scelto di rinominarla invece di disinstallarla nel passaggio 3)
Versioni precedenti del Connettore SQL Server
Collegamenti diretti a versioni precedenti del Connettore SQL Server
- Corrente: 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)
Rollover dell'entità di sicurezza del servizio SQL Server
SQL Server usa le entità servizio create in Microsoft Entra ID (precedentemente Azure Active Directory) come credenziali per accedere all'insieme di credenziali delle chiavi. 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, è 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.
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'insieme di credenziali, è possibile ripristinarla dal backup. La chiave deve essere ripristinata usando lo stesso nome precedente con il comando Ripristina di PowerShell (vedere i passaggi successivi).
In caso di perdita dell'insieme di credenziali, è necessario ricreare un insieme di credenziali e ripristinare la chiave asimmetrica al suo interno usando lo stesso nome assegnato in precedenza. Il nome dell'insieme di credenziali può essere diverso o uguale rispetto a prima. Impostare le autorizzazioni di accesso nel nuovo insieme di credenziali per concedere all'entità servizio di SQL Server l'accesso richiesto per gli scenari di crittografia di SQL Server e quindi modificare le credenziali di SQL Server in modo che includano il nuovo nome dell'insieme di credenziali.
In sintesi, ecco i passaggi necessari:
- Eseguire il backup della chiave dell'insieme di credenziali usando il cmdlet di PowerShell Backup-AzureKeyVaultKey.
- In caso di errore dell'insieme di credenziali, crearne uno nuovo nella stessa area geografica. L'utente che crea l'insieme di credenziali deve trovarsi nella stessa directory predefinita dell'entità servizio configurata per SQL Server.
- Ripristinare la chiave nel nuovo insieme di credenziali usando il cmdlet di PowerShell Restore-AzureKeyVaultKey, che consente di ripristinare la chiave usando 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 questo nuovo insieme di credenziali.
- Modificare le credenziali di SQL Server usate dal motore di database in modo da riflettere il nuovo nome dell'insieme di credenziali, 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 relative alla chiave nell'insieme di credenziali delle chiavi di Azure?
La chiave asimmetrica nell'insieme di credenziali delle chiavi viene usata per proteggere le chiavi di crittografia di SQL Server. Solo la parte pubblica della chiave asimmetrica lascia sempre l'insieme di credenziali. La parte privata non viene mai esportata dall'insieme di credenziali. 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 nell'insieme di credenziali delle chiavi di Azure ha un URI (Uniform Resource Identifier) che può essere usato per fare riferimento alla chiave dell'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 Connettore SQL Server? Il connettore comunica con due endpoint che devono essere consentiti. L'unica porta necessaria per la comunicazione in uscita a 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 "sys.asymmetric_keys
" segnala le dimensioni della chiave come 2048 anche se viene usata la dimensione 3072. Si tratta di un problema noto in questa visualizzazione che verrà risolto dal team di prodotto di SQL Server in una versione futura.
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 è possibile cambiare l'elenco predefinito di Microsoft Entra in modo che l'insieme di credenziali delle chiavi venga creato nella stessa sottoscrizione e nello stesso elenco dell'entità servizio I creata 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
Si potrebbe non disporre delle autorizzazioni per modificare la directory predefinita nella sottoscrizione di Azure. In questo caso, creare l'entità servizio di Microsoft Entra nell'elenco predefinito, in modo che si trovi nello stesso elenco di Azure Key Vault usato 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 | L'operazione è stata completata. |
1 | scp_err_Failure | L'operazione non è riuscita. |
2 | scp_err_InsufficientBuffer | Questo errore indica al motore di allocare altra memoria per il buffer. |
3 | scp_err_NotSupported | L'operazione non è supportata. Ad esempio, il tipo di chiave o l'algoritmo specificato non è supportato dal provider EKM. |
4 | scp_err_NotFound | Il provider EKM non ha trovato la chiave o l'algoritmo specificato. |
5 | scp_err_AuthFailure | L'autenticazione con il provider EKM non è riuscita. |
6 | scp_err_InvalidArgument | L'argomento specificato non è valido. |
7 | scp_err_ProviderError | Si è verificato un errore non specificato nel provider EKM rilevato dal motore SQL. |
401 | acquireToken | Il server ha restituito 401 per la richiesta. Verificare che l'ID client e il segreto siano corretti e che la stringa delle credenziali sia una concatenazione dell'ID client e del segreto di AAD senza trattini. |
404 | getKeyByName | Il server ha risposto 404, perché il nome della chiave non è stato trovato. Assicurarsi che il nome della chiave sia presente nell'insieme di credenziali. |
2049 | scp_err_KeyNameDoesNotFitThumbprint | Il nome della chiave è troppo lungo per il sistema di identificazione personale del motore SQL. Il nome della chiave non deve superare i 26 caratteri. |
2050 | scp_err_PasswordTooShort | La stringa del segreto, che rappresenta la concatenazione dell'ID client e del segreto di AAD, contiene un numero di caratteri inferiore a 32. |
2051 | scp_err_OutOfMemory | La memoria del motore SQL è insufficiente e non è stato possibile allocare memoria per il provider EKM. |
2052 | scp_err_ConvertKeyNameToThumbprint | La conversione del nome della chiave in identificazione personale non è riuscita. |
2053 | scp_err_ConvertThumbprintToKeyName | La conversione dell'identificazione personale nel nome della chiave non è riuscita. |
2057 | scp_err_ThumbprintExistedInRegistry | L'identificazione personale della chiave esiste già nel registro di Windows mappato a un URI di chiave diverso. |
2058 | scp_err_FailureInRegistry | Non è stato possibile eseguire l'operazione nel Registro di sistema. L'account del servizio SQL Server non ha l'autorizzazione per creare la chiave del Registro di sistema. |
3000 | ErrorSuccess | L'operazione AKV è stata completata. |
3001 | ErrorUnknown | L'operazione AKV non è riuscita con un errore non specificato. |
3002 | ErrorHttpCreateHttpClientOutOfMemory | Non è possibile creare HttpClient per un'operazione AKV perché la memoria è insufficiente. |
3003 | ErrorHttpOpenSession | Impossibile aprire una sessione HTTP a causa di un errore di rete. |
3004 | ErrorHttpConnectSession | Impossibile connettere una sessione HTTP a causa di un errore di rete. |
3005 | ErrorHttpAttemptConnect | Impossibile tentare la connessione a causa di un errore di rete. |
3006 | ErrorHttpOpenRequest | Non è possibile aprire una richiesta a causa di un errore di rete. |
3007 | ErrorHttpAddRequestHeader | Non è possibile aggiungere l'intestazione della richiesta. |
3008 | ErrorHttpSendRequest | Non è possibile inviare una richiesta a causa di un errore di rete. |
3009 | ErrorHttpGetResponseCode | Non è possibile ottenere un codice di risposta a causa di un errore di rete. |
3010 | ErrorHttpResponseCodeUnauthorized | Il server ha restituito 401 per la richiesta. |
3011 | ErrorHttpResponseCodeThrottled | Il server ha limitato la richiesta. |
3012 | ErrorHttpResponseCodeClientError | La richiesta inviata dal connettore non è valida. Questo significa in genere che il nome della chiave non è valido o contiene caratteri non validi. |
3013 | ErrorHttpResponseCodeServerError | Il server ha restituito un codice di risposta compreso tra 500 e 600. |
3014 | ErrorHttpQueryHeader | Non è possibile eseguire la query per un'intestazione della risposta. |
3015 | ErrorHttpQueryHeaderOutOfMemoryCopyHeader | Non è possibile copiare l'intestazione della risposta a causa della memoria insufficiente. |
3016 | ErrorHttpQueryHeaderOutOfMemoryReallocBuffer | Non è possibile eseguire la query sull'intestazione della risposta a causa della memoria insufficiente durante la riallocazione di un buffer. |
3017 | ErrorHttpQueryHeaderNotFound | Non è possibile trovare l'intestazione della query nella risposta. |
3018 | ErrorHttpQueryHeaderUpdateBufferLength | Non è possibile aggiornare la lunghezza del buffer quando si eseguono query sull'intestazione della risposta. |
3019 | ErrorHttpReadData | Non è possibile leggere i dati della risposta a causa di un errore di rete. |
3076 | ErrorHttpResourceNotFound | Il server ha risposto 404, perché il nome della chiave non è stato trovato. Assicurarsi che il nome della chiave sia presente nell'insieme di credenziali. |
3077 | ErrorHttpOperationForbidden | Il server ha restituito l'errore 403 perché l'utente non ha le autorizzazioni appropriate per eseguire l'azione. Assicurarsi di avere le autorizzazioni per l'operazione specificata. Per il corretto funzionamento, il connettore richiede almeno le autorizzazioni "get, list, wrapKey, unwrapKey". |
3100 | ErrorHttpCreateHttpClientOutOfMemory | Non è possibile creare HttpClient per un'operazione AKV perché la memoria è insufficiente. |
3101 | ErrorHttpOpenSession | Non è possibile aprire una sessione Http a causa di un errore di rete. |
3102 | ErrorHttpConnectSession | Non è possibile connettere una sessione Http a causa di un errore di rete. |
3103 | ErrorHttpAttemptConnect | Un tentativo di connessione non è riuscito a causa di un errore di rete. |
3104 | ErrorHttpOpenRequest | Non è possibile aprire una richiesta a causa di un errore di rete. |
3105 | ErrorHttpAddRequestHeader | Non è possibile aggiungere l'intestazione della richiesta. |
3106 | ErrorHttpSendRequest | Non è possibile inviare una richiesta a causa di un errore di rete. |
3107 | ErrorHttpGetResponseCode | Non è possibile ottenere un codice di risposta a causa di un errore di rete. |
3108 | ErrorHttpResponseCodeUnauthorized | Il server ha restituito 401 per la richiesta. Verificare che l'ID client e il segreto siano corretti e che la stringa delle credenziali sia una concatenazione dell'ID client e del segreto di AAD senza trattini. |
3109 | ErrorHttpResponseCodeThrottled | Il server ha limitato la richiesta. |
3110 | ErrorHttpResponseCodeClientError | La richiesta non è valida. Questo significa in genere che il nome della chiave non è valido o contiene caratteri non validi. |
3111 | ErrorHttpResponseCodeServerError | Il server ha restituito un codice di risposta compreso tra 500 e 600. |
3112 | ErrorHttpResourceNotFound | Il server ha risposto 404, perché il nome della chiave non è stato trovato. Assicurarsi che il nome della chiave sia presente nell'insieme di credenziali. |
3113 | ErrorHttpOperationForbidden | Il server ha restituito l'errore 403 perché l'utente non ha le autorizzazioni appropriate per eseguire l'azione. Assicurarsi di avere le autorizzazioni per l'operazione specificata. Sono richieste almeno le autorizzazioni "get, wrapKey, unwrapKey". |
3114 | ErrorHttpQueryHeader | Non è possibile eseguire la query per un'intestazione della risposta. |
3115 | ErrorHttpQueryHeaderOutOfMemoryCopyHeader | Non è possibile copiare l'intestazione della risposta a causa della memoria insufficiente. |
3116 | ErrorHttpQueryHeaderOutOfMemoryReallocBuffer | Non è possibile eseguire la query sull'intestazione della risposta a causa della memoria insufficiente durante la riallocazione di un buffer. |
3117 | ErrorHttpQueryHeaderNotFound | Non è possibile trovare l'intestazione della query nella risposta. |
3118 | ErrorHttpQueryHeaderUpdateBufferLength | Non è possibile aggiornare la lunghezza del buffer quando si eseguono query sull'intestazione della risposta. |
3119 | ErrorHttpReadData | Non è possibile leggere i dati della risposta a causa di un errore di rete. |
3120 | ErrorHttpGetResponseOutOfMemoryCreateTempBuffer | Non è possibile ottenere il corpo della risposta a causa di memoria insufficiente durante la creazione di un buffer temporaneo. |
3121 | ErrorHttpGetResponseOutOfMemoryGetResultString | Non è possibile ottenere il corpo della risposta a causa di memoria insufficiente quando si ottiene la stringa di risultato. |
3122 | ErrorHttpGetResponseOutOfMemoryAppendResponse | Non è possibile ottenere il corpo della risposta a causa di memoria insufficiente durante l'accodamento della risposta. |
3200 | ErrorGetAADValuesOutOfMemoryConcatPath | Non è possibile ottenere i valori dell'intestazione della verifica Azure Active Directory a causa di memoria insufficiente durante la concatenazione del percorso. |
3201 | ErrorGetAADDomainUrlStartPosition | Non è possibile trovare la posizione iniziale per l'URL del dominio Azure Active Directory nell'intestazione della richiesta di verifica per la risposta con formattazione errata. |
3202 | ErrorGetAADDomainUrlStopPosition | Non è possibile trovare la posizione finale per l'URL del dominio di Azure Active Directory nell'intestazione della richiesta di verifica per la risposta con formattazione errata. |
3203 | ErrorGetAADDomainUrlMalformatted | La formattazione dell'intestazione della richiesta di verifica per la risposta di Azure Active Directory è errata e non contiene l'URL del dominio AAD. |
3204 | ErrorGetAADDomainUrlOutOfMemoryAlloc | Memoria insufficiente durante l'allocazione del buffer per l'URL del dominio Azure Active Directory. |
3205 | ErrorGetAADTenantIdOutOfMemoryAlloc | Memoria insufficiente durante l'allocazione del buffer per l'ID tenant di Azure Active Directory. |
3206 | ErrorGetAKVResourceUrlStartPosition | Non è possibile trovare la posizione iniziale per l'URL della risorsa Azure Key Vault nell'intestazione della richiesta di verifica per la risposta con formattazione errata. |
3207 | ErrorGetAKVResourceUrlStopPosition | Non è possibile trovare la posizione finale per l'URL della risorsa Azure Key Vault nell'intestazione della richiesta di verifica per la risposta con formattazione errata. |
3208 | ErrorGetAKVResourceUrlOutOfMemoryAlloc | Memoria insufficiente durante l'allocazione del buffer per l'URL della risorsa Azure Key Vault. |
3300 | ErrorGetTokenOutOfMemoryConcatPath | Non è possibile ottenere il token a causa di memoria insufficiente durante la concatenazione del percorso della richiesta. |
3301 | ErrorGetTokenOutOfMemoryConcatBody | Non è possibile ottenere il token a causa di memoria insufficiente durante la concatenazione del corpo della risposta. |
3302 | ErrorGetTokenOutOfMemoryConvertResponseString | Non è possibile ottenere il token a causa di memoria insufficiente durante la conversione della stringa della risposta. |
3303 | ErrorGetTokenBadCredentials | Non è possibile ottenere il token a causa di credenziali non corrette. Verificare che la stringa delle credenziali o il certificato sia valido. |
3304 | ErrorGetTokenFailedToGetToken | Le credenziali sono corrette, ma l'operazione non è riuscita a ottenere un token valido. |
3305 | ErrorGetTokenRejected | Il token è valido, ma viene rifiutato dal server. |
3306 | ErrorGetTokenNotFound | Token non trovato nella risposta. |
3307 | ErrorGetTokenJsonParser | Non è possibile analizzare la risposta JSON del server. |
3308 | ErrorGetTokenExtractToken | Non è possibile estrarre il token dalla risposta JSON. |
3400 | ErrorGetKeyByNameOutOfMemoryConvertResponseString | Non è possibile ottenere la chiave in base al nome a causa di memoria insufficiente per la conversione della stringa di risposta. |
3401 | ErrorGetKeyByNameOutOfMemoryConcatPath | Non è possibile ottenere la chiave in base al nome a causa di memoria insufficiente durante la concatenazione del percorso. |
3402 | ErrorGetKeyByNameOutOfMemoryConcatHeader | Non è possibile ottenere la chiave in base al nome a causa di memoria insufficiente durante la concatenazione dell'intestazione. |
3403 | ErrorGetKeyByNameNoResponse | Non è possibile ottenere la chiave in base al nome perché il server non risponde. |
3404 | ErrorGetKeyByNameJsonParser | Non è possibile ottenere la chiave in base al nome perché non è stato possibile analizzare la risposta JSON. |
3405 | ErrorGetKeyByNameExtractKeyNode | Non è possibile ottenere la chiave in base al nome perché non è stato possibile estrarre il nodo chiave dalla risposta. |
3406 | ErrorGetKeyByNameExtractKeyId | Non è possibile ottenere la chiave in base al nome perché non è stato possibile estrarre l'ID chiave dalla risposta. |
3407 | ErrorGetKeyByNameExtractKeyType | Non è possibile ottenere la chiave in base al nome perché non è stato possibile estrarre il tipo di chiave dalla risposta. |
3408 | ErrorGetKeyByNameExtractKeyN | Non è possibile ottenere la chiave in base al nome perché non è stato possibile estrarre la chiave N dalla risposta. |
3409 | ErrorGetKeyByNameBase64DecodeN | Non è possibile ottenere la chiave in base al nome perché non è stato possibile decodificare N con Base64. |
3410 | ErrorGetKeyByNameExtractKeyE | Non è possibile ottenere la chiave in base al nome perché non è stato possibile estrarre la chiave E dalla risposta. |
3411 | ErrorGetKeyByNameBase64DecodeE | Non è possibile ottenere la chiave in base al nome perché non è stato possibile decodificare E con Base64. |
3412 | ErrorGetKeyByNameExtractKeyUri | Non è possibile estrarre l'URI della chiave dalla risposta. |
3500 | ErrorBackupKeyOutOfMemoryConvertResponseString | Non è possibile eseguire il backup della chiave a causa di memoria insufficiente durante la conversione della stringa di risposta. |
3501 | ErrorBackupKeyOutOfMemoryConcatPath | Non è possibile eseguire il backup della chiave a causa di memoria insufficiente durante la concatenazione del percorso. |
3502 | ErrorBackupKeyOutOfMemoryConcatHeader | Non è possibile eseguire il backup della chiave a causa di memoria insufficiente durante la concatenazione dell'intestazione della richiesta. |
3503 | ErrorBackupKeyNoResponse | Non è possibile eseguire il backup della chiave perché il server non risponde. |
3504 | ErrorBackupKeyJsonParser | Non è possibile eseguire il backup della chiave perché non è stato possibile analizzare la risposta JSON. |
3505 | ErrorBackupKeyExtractValue | Non è possibile eseguire il backup della chiave perché l'estrazione del valore dalla risposta JSON non è riuscita. |
3506 | ErrorBackupKeyBase64DecodeValue | Non è possibile eseguire il backup della chiave perché la decodifica con Base64 del campo del valore non è riuscita. |
3600 | ErrorWrapKeyOutOfMemoryConvertResponseString | Non è possibile eseguire il wrapping della chiave a causa di memoria insufficiente durante la conversione della stringa di risposta. |
3601 | ErrorWrapKeyOutOfMemoryConcatPath | Non è possibile eseguire il wrapping della chiave a causa di memoria insufficiente durante la concatenazione del percorso. |
3602 | ErrorWrapKeyOutOfMemoryConcatHeader | Non è possibile eseguire il wrapping della chiave a causa di memoria insufficiente durante la concatenazione dell'intestazione. |
3603 | ErrorWrapKeyOutOfMemoryConcatBody | Non è possibile eseguire il wrapping della chiave a causa di memoria insufficiente durante la concatenazione del corpo. |
3604 | ErrorWrapKeyOutOfMemoryConvertEncodedBody | Non è possibile eseguire il wrapping della chiave a causa di memoria insufficiente durante la conversione del corpo codificato. |
3605 | ErrorWrapKeyBase64EncodeKey | Non è possibile eseguire il wrapping della chiave perché la codifica Base64 della chiave non è riuscita. |
3606 | ErrorWrapKeyBase64DecodeValue | Non è possibile eseguire il wrapping della chiave perché la decodifica Base64 del valore della risposta non è riuscita. |
3607 | ErrorWrapKeyJsonParser | Non è possibile eseguire il wrapping della chiave perché l'analisi della risposta JSON non è riuscita. |
3608 | ErrorWrapKeyExtractValue | Non è possibile eseguire il wrapping della chiave perché non è stato possibile estrarre il valore dalla risposta. |
3609 | ErrorWrapKeyNoResponse | Non è possibile eseguire il wrapping della chiave perché il server non risponde. |
3700 | ErrorUnwrapKeyOutOfMemoryConvertResponseString | Non è possibile annullare il wrapping della chiave a causa di memoria insufficiente durante la conversione della stringa di risposta. |
3701 | ErrorUnwrapKeyOutOfMemoryConcatPath | Non è possibile annullare il wrapping della chiave a causa di memoria insufficiente durante la concatenazione del percorso. |
3702 | ErrorUnwrapKeyOutOfMemoryConcatHeader | Non è possibile annullare il wrapping della chiave a causa di memoria insufficiente durante la concatenazione dell'intestazione. |
3703 | ErrorUnwrapKeyOutOfMemoryConcatBody | Non è possibile annullare il wrapping della chiave a causa di memoria insufficiente durante la concatenazione del corpo. |
3704 | ErrorUnwrapKeyOutOfMemoryConvertEncodedBody | Non è possibile annullare il wrapping della chiave a causa di memoria insufficiente durante la conversione del corpo codificato. |
3705 | ErrorUnwrapKeyBase64EncodeKey | Non è possibile annullare il wrapping della chiave perché la codifica Base64 della chiave non è riuscita. |
3706 | ErrorUnwrapKeyBase64DecodeValue | Non è possibile annullare il wrapping della chiave perché la decodifica Base64 del valore della risposta non è riuscita. |
3707 | ErrorUnwrapKeyJsonParser | Non è possibile annullare il wrapping della chiave perché l'estrazione del valore dalla risposta non è riuscita. |
3708 | ErrorUnwrapKeyExtractValue | Non è possibile annullare il wrapping della chiave perché l'estrazione del valore dalla risposta non è riuscita. |
3709 | ErrorUnwrapKeyNoResponse | Non è possibile annullare il wrapping della chiave perché il server non risponde. |
3800 | ErrorSecretAuthParamsGetRequestBody | Errore nella creazione del corpo della richiesta usando il clientID e il segreto di Azure Active Directory. |
3801 | ErrorJWTTokenCreateHeader | Errore durante la creazione dell'intestazione del token JWT per l'autenticazione con AAD. |
3802 | ErrorJWTTokenCreatePayloadGUID | Errore durante la creazione del GUID per il payload del token JWT per l'autenticazione con AAD. |
3803 | ErrorJWTTokenCreatePayload | Errore durante la creazione del payload del token JWT per l'autenticazione con AAD. |
3804 | ErrorJWTTokenCreateSignature | Errore durante la creazione della firma del token JWT per l'autenticazione con AAD. |
3805 | ErrorJWTTokenSignatureHashAlg | Errore durante il recupero dell'algoritmo hash SHA256 per l'autenticazione con AAD. |
3806 | ErrorJWTTokenSignatureHash | Errore durante la creazione dell'hash SHA256 per l'autenticazione del token JWT con AAD. |
3807 | ErrorJWTTokenSignatureSignHash | Errore durante la firma dell'hash del token JWT per l'autenticazione con AAD. |
3808 | ErrorJWTTokenCreateToken | Errore durante la creazione del token JWT per l'autenticazione con AAD. |
3809 | ErrorPfxCertAuthParamsImportPfx | Errore durante l'importazione del certificato PFX per l'autenticazione con AAD. |
3810 | ErrorPfxCertAuthParamsGetThumbprint | Errore durante il recupero dell'identificazione personale dal certificato PFX per l'autenticazione con AAD. |
3811 | ErrorPfxCertAuthParamsGetPrivateKey | Errore durante il recupero della chiave privata dal certificato PFX per l'autenticazione con AAD. |
3812 | ErrorPfxCertAuthParamsSignAlg | Errore durante il recupero dell'algoritmo di firma RSA per l'autenticazione del certificato PFX con AAD. |
3813 | ErrorPfxCertAuthParamsImportForSign | Errore durante l'importazione della chiave privata PFX per la firma RSA per l'autenticazione con AAD. |
3814 | ErrorPfxCertAuthParamsCreateRequestBody | Errore durante la creazione del corpo della richiesta dal certificato PFX per l'autenticazione con AAD. |
3815 | ErrorPEMCertAuthParamsGetThumbprint | Errore di decodifica dell'identificazione digitale Base64 per l'autenticazione con AAD. |
3816 | ErrorPEMCertAuthParamsGetPrivateKey | Errore nel recupero della chiave privata RSA da PEM per l'autenticazione con AAD. |
3817 | ErrorPEMCertAuthParamsSignAlg | Errore nel recupero dell'algoritmo di firma RSA per l'autenticazione con chiave privata PEM con AAD. |
3818 | ErrorPEMCertAuthParamsImportForSign | Errore nell'importazione della chiave privata PEM per la firma RSA per l'autenticazione con AAD. |
3819 | ErrorPEMCertAuthParamsCreateRequestBody | Errore nella creazione del corpo della richiesta dalla chiave privata PEM per l'autenticazione con AAD. |
3820 | ErrorLegacyPrivateKeyAuthParamsSignAlg | Errore nel recupero dell'algoritmo di firma RSA per l'autenticazione con chiave privata legacy con AAD. |
3821 | ErrorLegacyPrivateKeyAuthParamsImportForSign | Errore nell'importazione della chiave privata Legacy per la firma RSA per l'autenticazione con AAD. |
3822 | ErrorLegacyPrivateKeyAuthParamsCreateRequestBody | Errore nella creazione del corpo della richiesta dalla chiave privata Legacy per l'autenticazione con AAD. |
3900 | ErrorAKVDoesNotExist | Il nome Internet non è stato risolto. Questo indica in genere che Azure Key Vault è stato eliminato. |
4000 | ErrorCreateKeyVaultRetryManagerOutOfMemory | Non è possibile creare RetryManager per un'operazione AKV a causa di memoria insufficiente. |
Se il codice di errore non è presente in questa tabella, di seguito sono riportate alcune altre condizioni che potrebbero essere causa dell'errore:
Non si ha accesso a Internet, quindi non è possibile accedere ad Azure Key Vault. Verificare la connessione Internet.
Il servizio dell'insieme di credenziali delle chiavi potrebbe non essere attivo. Riprovare in un altro momento.
La chiave asimmetrica di Azure Key Vault o SQL Server potrebbe essere stata eliminata. 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 Package 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 | Visual C++ Redistributable Package per Visual Studio 2013 |
Riferimenti aggiuntivi
Altre informazioni su Extensible Key Management:
Crittografie di SQL che supportano EKM:
Comandi Transact-SQL correlati:
Documentazione dell'insieme di credenziali delle chiavi di Azure:
Introduzione all'insieme di credenziali delle chiavi di Azure
Riferimento di PowerShell Cmdlet per l'insieme di credenziali delle chiavi di Azure