Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Další informace o konektoru SYSTÉMU SQL Server najdete v tomto článku. Další informace o konektoru SQL Serveru najdete v tématu Rozšiřitelná správa klíčů pomocí služby Azure Key Vault (SQL Server), Nastavení rozšiřitelné správy klíčů SQL Serveru pomocí služby Azure Key Vaulta Použití konektoru SQL Serveru s funkcemi šifrování SQL.
Poznámka
I když je ID Microsoft Entra novým názvem pro Azure Active Directory (Azure AD), Azure AD zůstává v některých pevně zakódovaných prvcích, jako jsou pole uživatelského rozhraní, zprostředkovatelé připojení, kódy chyb a rutiny, aby nedošlo k narušení stávajících prostředí. V tomto článku jsou tyto dva názvy zaměnitelné.
A. Pokyny k údržbě konektoru SQL Serveru
Rotace klíčů
Azure Key Vault podporuje obměnu klíčů, což je proces vytvoření nového klíče a aktualizace aplikací tak, aby používaly nový klíč. Obměně klíčů je osvědčeným postupem zabezpečení, který pomáhá chránit data v případě ohrožení klíče. Konektor SQL Serveru podporuje obměnu klíčů. Staré klíče by se neměly odstraňovat, protože může být nutné obnovit databázi pomocí starého klíče. Pokud chcete klíč otočit, postupujte podle kroků v Otočit asymetrický klíč pomocí nového klíče AKV nebo nové verze klíče AKV.
Upgrade konektoru SQL Serveru
Verze 1.0.0.440 a starší byly nahrazeny a již nejsou podporovány v produkčních prostředích. Verze 1.0.1.0 a novější jsou podporovány v produkčních prostředích. Pomocí následujících pokynů upgradujte na nejnovější verzi dostupnou na webu Microsoft Download Center.
Vylepšení
- Zastavte službu SQL Serveru pomocí nástrojeSQL Server Configuration Manager .
- Odinstalujte starou verzi pomocí Ovládacího panelu>Programy>Programy a funkce.
- Název aplikace: Konektor SQL Serveru pro Microsoft Azure Key Vault
- Verze: 15.0.300.96 (nebo starší)
- Datum souboru DLL: 30. ledna 2018 (nebo starší)
- Nainstalujte (upgradujte) nový konektor SQL Serveru pro Microsoft Azure Key Vault.
- Verze: 15.0.2000.440
- Datum souboru DLL: 9. listopadu 2024
- Spusťte službu SQL Serveru.
- Test šifrovaných databází je přístupný.
Vrátit zpět
Zastavte službu SQL Serveru pomocí nástrojeSQL Server Configuration Manager .
Odinstalujte novou verzi pomocí Ovládacího panelu>Programy>Programy a funkce.
- Název aplikace: Konektor SQL Serveru pro Microsoft Azure Key Vault
- Verze: 15.0.2000.440
- Datum souboru DLL: 9. listopadu 2024
Nainstalujte starou verzi konektoru SQL Serveru pro Microsoft Azure Key Vault.
- Verze: 15.0.300.96
- Datum souboru DLL: Leden 30 2018
Spusťte službu SQL Serveru.
Zkontrolujte, jestli jsou databáze používající transparentní šifrování dat přístupné.
Po ověření, že aktualizace funguje, můžete odstranit starou složku konektoru SQL Serveru (pokud jste se rozhodli ji přejmenovat místo odinstalace v kroku 3).
Starší verze konektoru SQL Serveru
Přímé odkazy na starší verze konektoru SQL Serveru
- Aktuální: 1.0.5.0 (verze 15.0.2000.440) – datum souboru 9. listopadu 2024
- 1.0.5.0 (verze 15.0.2000.440) – datum souboru 24. listopadu 2020
- 1.0.5.0 (verze 15.0.300.96) – datum souboru 30. ledna 2018
- 1.0.4.0: (verze 13.0.811.168)
Rotace služebního principálu SQL Serveru
SQL Server používá instanční objekty vytvořené v Microsoft Entra ID (dříve Azure Active Directory) jako přihlašovací údaje pro přístup ke službě Key Vault. Objekt služby má ID klienta a ověřovací klíč. Přihlašovací údaje SQL Serveru jsou nastaveny s VaultName, ID klientaa ověřovací klíč. Ověřovací klíč je platný po určitou dobu (jeden nebo dva roky). Před vypršením lhůty je nutné vygenerovat nový klíč v Microsoft Entra ID pro služební účet. Přihlašovací údaje se pak musí změnit na SQL Serveru. Management Studio udržuje mezipaměť pro dané přihlašovací údaje v aktuální relaci, proto je třeba restartovat Management Studio při změně přihlašovacích údajů.
Podpora spravované identity pro SQL Server na virtuálním počítači Azure
Počínaje kumulativní aktualizací 17 (CU17) SQL Serveru 2022 se spravované identity Microsoft Entra podporují pro rozšiřitelnou správu klíčů (EKM) se službou Azure Key Vault (AKV) a spravovanými moduly hardwarového zabezpečení (HSM) na SQL Serveru na virtuálních počítačích Azure (pouze pro Windows). Další informace najdete v tématu podpora spravované identity pro rozšiřitelnou správu klíčů pomocí služby Azure Key Vault. Pokud chcete používat spravované identity s konektorem SQL Serveru, musí být verze konektoru 1.0.5.0 listopad 2024 nebo novější. Stáhněte si nejnovější verzi z Microsoft Download Center.
Zálohování a obnovení klíčů
Trezor klíčů by se měl pravidelně zálohovat. Pokud dojde ke ztrátě asymetrického klíče v trezoru, můžete ho obnovit ze zálohy. Klíč se musí obnovit pomocí stejného názvu jako předtím, který provede příkaz Obnovit PowerShell (viz následující kroky).
Pokud došlo ke ztrátě trezoru, vytvořte trezor znovu a obnovte asymetrický klíč do trezoru pomocí stejného názvu jako předtím. Název trezoru může být jiný (nebo stejný jako předtím). Nastavte přístupová oprávnění v novém trezoru tak, aby se instančnímu objektu SQL Serveru udělil přístup potřebný pro scénáře šifrování SQL Serveru, a pak upravte přihlašovací údaje SQL Serveru tak, aby se projevil nový název trezoru.
Tady jsou uvedené kroky:
- Zálohujte klíč trezoru (pomocí cmdletu Backup-AzureKeyVaultKey PowerShell).
- V případě selhání trezoru vytvořte nový trezor ve stejné geografické oblasti. Uživatel, který vytváří úložiště, by měl být ve stejném výchozím adresáři jako nastavení služby pro SQL Server.
- Obnovte klíč do nového trezoru pomocí rutiny Restore-AzureKeyVaultKey PowerShellu, která klíč obnoví pomocí stejného názvu jako předtím. Pokud už existuje klíč se stejným názvem, obnovení se nezdaří.
- Udělte instančnímu objektu SQL Serveru oprávnění k použití tohoto nového trezoru.
- Upravte přihlašovací údaje SQL Serveru používané databázovým strojem tak, aby odrážely nový název trezoru (v případě potřeby).
Klíčové zálohy je možné obnovit napříč oblastmi Azure, pokud zůstanou ve stejné geografické oblasti nebo národním cloudu: USA, Kanada, Japonsko, Austrálie, Indie, APAC, Brazílie, Evropa, Čína, státní správa USA nebo Německo.
B. Nejčastější dotazy
Ve službě Azure Key Vault
Jak fungují operace klíčů se službou Azure Key Vault?
Asymetrický klíč v trezoru klíčů slouží k ochraně šifrovacích klíčů SQL Serveru. Trezor opustí pouze veřejná část asymetrického klíče; privátní část se nikdy neexportuje trezorem. Všechny kryptografické operace používající asymetrický klíč se provádějí ve službě Azure Key Vault a jsou chráněné zabezpečením služby.
Co je URI klíč?
Každý klíč ve službě Azure Key Vault má identifikátor URI (Uniform Resource Identifier), který můžete použít pro odkaz na klíč ve vaší aplikaci. K získání aktuální verze použijte formát https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey
a k získání konkrétní verze použijte formát https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87
.
Konfigurace SQL Serveru
Jaké jsou koncové body, ke kterým konektor SQL Server potřebuje přístup?
Konektor komunikuje se dvěma koncovými body, které je potřeba povolit. Jediný port vyžadovaný pro odchozí komunikaci s těmito dalšími službami je 443 pro HTTPS:
login.microsoftonline.com/*:443
*.vault.azure.net/*:443
Kromě toho může kontrola seznamu odvolaných certifikátů vytvořit provoz HTTP na portu 80.
Poznámka
Použití konektoru SQL Serveru pro Azure Key Vault za firewallem nebo proxy serverem může ovlivnit výkon, pokud je provoz blokován nebo zpožděn. Seznamte se s přístupem ke službě Azure Key Vault za bránou firewall, abyste měli jistotu, že jsou zavedená správná pravidla.
Jak se připojím ke službě Azure Key Vault prostřednictvím proxy serveru HTTP(S)? Konektor používá nastavení konfigurace proxy aplikace Internet Explorer. Tato nastavení se dají ovládat prostřednictvím zásad skupiny nebo prostřednictvím registru, ale je důležité si uvědomit, že se nejedná o nastavení v rámci celého systému a bude potřeba je cílit na účet služby, na kterém běží instance SQL Serveru. Pokud správce databáze zobrazí nebo upraví nastavení v Internet Exploreru, ovlivní jenom účet správce databáze, nikoli modul SQL Serveru. Přihlášení k serveru interaktivně pomocí účtu služby se nedoporučuje a je blokováno v mnoha zabezpečených prostředích. Změny nakonfigurovaného nastavení proxy serveru můžou vyžadovat restartování instance SQL Serveru, aby se projevily, protože se ukládají do mezipaměti, když se konektor poprvé pokusí připojit k trezoru klíčů.
Které velikosti klíčů ve službě Azure Key Vault podporuje konektor SQL Serveru? Nejnovější build konektoru SQL Serveru podporuje klíče služby Azure Key Vault velikosti 2048 a 3072.
Poznámka
Zobrazení systému sys.asymmetric_keys
vrátí velikost klíče jako 2048, i když se použije velikost klíče 3072.
Jaké jsou minimální úrovně oprávnění vyžadované pro každý krok konfigurace SQL Serveru?
I když byste mohli provést všechny kroky konfigurace jako člen pevné role serveru správce systému, Microsoft vás vyzývá, abyste minimalizovali všechna všechna oprávnění, která používáte. Následující seznam definuje minimální úroveň oprávnění pro každou akci.
Aby bylo možné vytvořit kryptografického poskytovatele, je vyžadováno oprávnění
CONTROL SERVER
nebo členství v pevném serverovém role správce systému .Pokud chcete změnit možnost konfigurace a spustit příkaz
RECONFIGURE
, musíte mít udělená oprávněníALTER SETTINGS
na úrovni serveru. OprávněníALTER SETTINGS
má implicitně správce systému a pevné role serveru serveradmin.Pokud chcete vytvořit přihlašovací údaje, vyžaduje
ALTER ANY CREDENTIAL
oprávnění.Pokud chcete k přihlášení přidat přihlašovací údaje, vyžaduje
ALTER ANY LOGIN
oprávnění.Pokud chcete vytvořit asymetrický klíč, vyžaduje
CREATE ASYMMETRIC KEY
oprávnění.
Jak změním výchozí adresář Microsoft Entra, aby se trezor klíčů vytvořil ve stejném předplatném a adresáři jako service principal, který jsem vytvořil pro konektor SQL Serveru?
Přejděte na portál Azure.
V pravém horním rohu stránky vyberte ikonu nastavení nebo profil uživatele.
Na stránce adresářů a předplatných vyberte všechny adresáře, aby se zobrazily všechny adresáře Microsoft Entra, do nichž patříte.
Můžete změnit svůj spouštěcí adresářnebo přepnout do jiného adresáře, pokud máte více adresářů.
Poznámka
Možná nemáte oprávnění ke skutečné změně výchozího adresáře ve vašem předplatném Azure. V tomto případě vytvořte služební principál Microsoft Entra ve výchozím adresáři, aby byl ve stejném adresáři jako Azure Key Vault, který bude použit později.
Další informace o ID Microsoft Entra najdete v tématu O tom, jak předplatná Azure souvisejí s ID Microsoft Entra.
C. Vysvětlení kódu chyby pro konektor SQL Serveru
Poznámka
I když je Microsoft Entra ID novým názvem proAzure Active Directory (Azure AD), aby se zabránilo narušení existujících prostředí, Azure AD stále zůstává v některých staticky zakódovaných prvcích, jako jsou pole uživatelského rozhraní, zprostředkovatelé připojení, kódy chyb a rutiny. V tomto článku jsou tyto dva názvy zaměnitelné.
Kódy chyb poskytovatele :
Kód chyby | Symbol | Popis |
---|---|---|
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. |
Pokud kód chyby v této tabulce nevidíte, tady jsou některé další důvody, proč k chybě může dojít:
Možná nemáte přístup k internetu a nemáte přístup ke službě Azure Key Vault. Zkontrolujte připojení k internetu.
Služba Azure Key Vault může být mimo provoz. Projděte si azure.status.microsoft. Zkuste to znovu jindy.
Možná jste zrušili asymetrický klíč ze služby Azure Key Vault nebo SQL Serveru. Obnovte klíč.
Pokud se zobrazí chyba "Nelze načíst knihovnu", ujistěte se, že máte nainstalovanou odpovídající verzi distribuovatelné sady Visual Studio C++ na základě verze SQL Serveru, kterou používáte. Následující tabulka určuje, která verze se má nainstalovat z webu Stažení softwaru společnosti Microsoft.
Protokol událostí Systému Windows také protokoluje chyby související s konektorem SQL Serveru, což může pomoct s dalším kontextem, proč k chybě skutečně dochází. Zdrojem v protokolu událostí aplikace systému Windows bude konektor SQL Serveru pro Microsoft Azure Key Vault.
Knihovny běhového prostředí C++ pro konektor SQL Serveru 1.0.5.0
Verze SQL Serveru | Odkaz na instalaci redistribuovatelného balíčku, pokud používáte SQL Server Connector 1.0.5.0 |
---|---|
2008, 2008 R2, 2012, 2014 | Balíčky Visual C++ Redistributable pro Visual Studio 2013 |
2016, 2017, 2019 | Balíček Visual C++ pro přerozdělení pro Visual Studio 2015 |
Knihovny modulu runtime C++ pro konektor SQL Serveru 1.0.4.0
Verze SQL Serveru | Odkaz na instalaci redistribuovatelného balíčku při použití SQL Server Connectoru 1.0.4.0 |
---|---|
2008, 2008 R2, 2012, 2014, 2016, 2017, 2019 | Redistribuovatelné balíčky Visual C++ pro Visual Studio 2013 |
Další odkazy
Další informace o rozšiřitelné správě klíčů:
Šifrování SQL podporující EKM:
Související příkazy Transact-SQL:
Dokumentace ke službě Azure Key Vault:
Odkaz na cmdlety služby Azure Key Vault pro PowerShell
Související obsah
- rozšiřitelné správy klíčů pomocí služby Azure Key Vault (SQL Server)
- Použití konektoru SQL Serveru s funkcemi šifrování SQL
- Poskytovatel EKM povolen (možnost konfigurace serveru)
- Nastavení rozšiřitelné správy klíčů TDE (Transparentní šifrování dat) v SQL Serveru pomocí služby Azure Key Vault
- Další ukázkové skripty najdete v blogu na transparentním šifrování dat SQL Serveru a rozšiřitelné správě klíčů pomocí služby Azure Key Vault