Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:SQL Server
Az SQL Server-összekötőre vonatkozó kiegészítő információkat ebben a cikkben találja. További információ az SQL Server-összekötőről: Bővíthető kulcskezelés az Azure Key Vault (SQL Server)használatával, Az SQL Server TDE bővíthető kulcskezelésének beállítása az Azure Key Vaulthasználatával, és SQL Server-összekötő használata SQL Encryption-funkciókkal.
Jegyzet
Bár a Microsoft Entra ID az Azure Active Directory (Azure AD) új neve, a meglévő környezetek megzavarásának megakadályozása érdekében az Azure AD továbbra is megmarad néhány rögzített elemben, például felhasználói felületi mezőkben, kapcsolatszolgáltatókban, hibakódokban és parancsmagokban. Ebben a cikkben a két név felcserélhető.
Egy. Karbantartási utasítások az SQL Server-összekötőhöz
Kulcscsere
Az Azure Key Vault támogatja a kulcsváltást, amely egy új kulcs létrehozásának és az alkalmazások frissítésének folyamata az új kulcs használatára. A kulcsváltás egy ajánlott biztonsági eljárás, amely segít megvédeni az adatokat a kulcs feltörése esetén. Az SQL Server-összekötő támogatja a kulcsváltást. A régi kulcsokat nem szabad törölni, mivel előfordulhat, hogy egy régi kulccsal kell visszaállítani az adatbázist. Kulcs elforgatásához kövesse a „Az aszimmetrikus kulcs elforgatása új AKV-kulccsal vagy új AKV-kulcsverzióval” lépéseit.
Az SQL Server-összekötő frissítése
Az 1.0.0.440-es és annál régebbi verziókat lecseréltük, és az éles környezetekben már nem támogatjuk őket. Az 1.0.1.0-s és újabb verziók éles környezetben támogatottak. Az alábbi utasításokat követve frissítsen a Microsoft Letöltőközpont legújabb verziójára.
Frissítés
- Az SQL Server szolgáltatás leállítása SQL Server Configuration Managerhasználatával.
- Távolítsa el a régi verziót Vezérlőpult>Programok>Programok és szolgáltatásokhasználatával.
- Alkalmazás neve: SQL Server-összekötő a Microsoft Azure Key Vaulthoz
- Verzió: 15.0.300.96 (vagy régebbi)
- DLL-fájl dátuma: 2018. január 30. (vagy régebbi)
- Telepítse (frissítse) az új SQL Server-összekötőt a Microsoft Azure Key Vaulthoz.
- Verzió: 15.0.2000.440
- DLL-fájl dátuma: 2024. november 9.
- Indítsa el az SQL Server szolgáltatást.
- A titkosított adatbázisok tesztelése elérhető.
Ha az adatbázis állapotban van RECOVERY PENDING, futtatnia kell egy ALTER parancsot a kriptográfiai szolgáltatón. Cserélje le a AzureKeyVault_EKM a tényleges titkosítási szolgáltató nevére, amelyet a sys.cryptographic_providers rendszernézetben talál.
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM DISABLE;
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM ENABLE;
Indítsa újra az SQL Server szolgáltatást a titkosítási szolgáltató módosítása után.
Visszaállítás
Az SQL Server szolgáltatás leállítása SQL Server Configuration Managerhasználatával.
Távolítsa el az új verziót Vezérlőpult>Programok>Programok és szolgáltatásokhasználatával.
- Alkalmazás neve: SQL Server-összekötő a Microsoft Azure Key Vaulthoz
- Verzió: 15.0.2000.440
- DLL-fájl dátuma: 2024. november 9.
Telepítse a Microsoft Azure Key Vaulthoz készült SQL Server Connector régi verzióját.
- Verzió: 15.0.300.96
- DLL-fájl dátuma: 2018. január 30.
Indítsa el az SQL Server szolgáltatást.
Ellenőrizze, hogy a TDE-t használó adatbázisok elérhetők-e.
A frissítés működésének ellenőrzése után törölheti a régi SQL Server Összekötő mappát (ha a 3. lépésben az eltávolítás helyett átnevezte).
Az SQL Server-összekötő régebbi verziói
Mélyhivatkozások az SQL Server-összekötő régebbi verzióira
- Aktuális: 1.0.5.0 (15.0.2000.440-es verzió) – Fájldátum 2024. november 09.,
- 1.0.5.0 (15.0.2000.440-es verzió) – 2020. november 24-i fájldátum
- 1.0.5.0 (15.0.300.96-os verzió) – Fájldátum 2018. január 30-i
- 1.0.4.0: (13.0.811.168-os verzió)
Az SQL Server szolgáltatásfőazonosítójának megújítása
Az SQL Server a Microsoft Entra ID-ban (korábban Azure Active Directory) létrehozott szolgáltatásneveket használja hitelesítő adatokként a Key Vault eléréséhez. A szolgáltatásfelelős ügyfél-azonosítóval és hitelesítési kulccsal rendelkezik. Az SQL Server-hitelesítő adatokat a VaultName, a ügyfélazonosítóés a hitelesítési kulcshasználatával állítják be. A hitelesítési kulcs egy bizonyos ideig (egy vagy két évig) érvényes. Az időszak lejárta előtt egy új kulcsot kell létrehozni a szolgáltatási főazonosító Microsoft Entra ID-ban. Ezután a hitelesítő adatokat módosítani kell az SQL Serveren. A Management Studio az aktuális munkamenetben gyorsítótárat tart fenn a hitelesítő adatokhoz, így a hitelesítő adatok módosításakor a Management Studiót újra kell indítani.
Felügyelt identitás támogatása azure-beli virtuális gépen futó SQL Serverhez
Az SQL Server 2022 17-es kumulatív frissítésétől (CU17) kezdődően a Microsoft Entra által felügyelt identitások támogatottak az Extensible Key Management (EKM) és az Azure-beli virtuális gépeken futó SQL Serveren futó Azure Key Vault (AKV) és felügyelt hardveres biztonsági modulok (HSM) esetében (csak Windows esetén). További információ: Felügyelt identitás támogatása az Azure Key Vaultbővíthető kulcskezeléséhez. Ha felügyelt identitásokat szeretne használni az SQL Server-összekötővel, az összekötő verziójának 2024. november 1.0.5.0-s vagy újabb verziójának kell lennie. Töltse le a legújabb verziót a Microsoft Letöltőközpontban.
Kulcs biztonsági mentése és helyreállítása
A Key Vaultról rendszeresen biztonsági másolatot kell készíteni. Ha a tárolóban elveszik egy aszimmetrikus kulcs, biztonsági másolatból visszaállítható. A kulcsot a korábbiakhoz hasonló névvel kell visszaállítani, amelyet a PowerShell visszaállítása parancs végez (lásd az alábbi lépéseket).
Ha a tároló elveszett, hozza létre újra a tárolót, és állítsa vissza az aszimmetrikus kulcsot a tárolóba a korábbi névvel. A tároló neve lehet eltérő, vagy lehet ugyanaz, mint korábban. Állítsa be az új tároló hozzáférési engedélyeit, hogy az SQL Server-szolgáltatásnév számára biztosítsa az SQL Server titkosítási forgatókönyveihez szükséges hozzáférést, majd módosítsa az SQL Server hitelesítő adatait, hogy az új tároló neve megjelenjen.
Összefoglalva:
- A tárolókulcs biztonsági mentése (a Backup-AzureKeyVaultKey PowerShell-parancsmag használatával).
- Tárolóhiba esetén hozzon létre egy új tárolót ugyanabban a földrajzi régióban. A tárolót létrehozó felhasználónak ugyanabban az alapértelmezett könyvtárban kell lennie, mint az SQL Server szolgáltatásfőnök beállítása.
- Állítsa vissza a kulcsot az új tárolóba a Restore-AzureKeyVaultKey PowerShell-parancsmag használatával, amely a korábban megszokott névvel állítja vissza a kulcsot. Ha már van egy azonos nevű kulcs, a visszaállítás sikertelen lesz.
- Adjon engedélyeket az SQL Server szolgáltatási fióknak az új tároló használatához.
- Módosítsa az adatbázismotor által használt SQL Server-hitelesítő adatokat az új tároló nevének megfelelően (ha szükséges).
A fő biztonsági másolatok az Azure-régiók között állíthatók vissza, amennyiben ugyanabban a földrajzi régióban vagy nemzeti felhőben maradnak: USA, Kanada, Japán, Ausztrália, India, APAC, Európa Brazília, Kína, USA kormánya vagy Németország.
B. Gyakori kérdések
Az Azure Key Vaultban
Hogyan működnek a kulcsműveletek az Azure Key Vaulttal?
A kulcstartó aszimmetrikus kulcsa az SQL Server titkosítási kulcsainak védelmére szolgál. Csak az aszimmetrikus kulcs nyilvános része hagyja el a tárolót; a privát részt soha nem exportálja a tároló. Az aszimmetrikus kulcsot használó összes titkosítási művelet az Azure Key Vault szolgáltatásban történik, és a szolgáltatás biztonsága védi.
Mi az a kulcs URI?
Az Azure Key Vaultban minden kulcs rendelkezik egységes erőforrás-azonosítóval (URI), amellyel hivatkozhat az alkalmazásban lévő kulcsra. A https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey formátum használatával szerezheti be az aktuális verziót, és a https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87 formátum az adott verzió lekéréséhez használandó.
Az SQL Server konfigurálásakor
Melyek azok a végpontok, amelyekhez az SQL Server-összekötőnek hozzá kell férnie?
Az összekötő két végponthoz csatlakozik, amelyeket engedélyezni kell. A többi szolgáltatás felé irányuló kimenő kommunikációhoz csak a 443-at kell használni a HTTPS-hez:
login.microsoftonline.com/*:443*.vault.azure.net/*:443
Emellett a tanúsítvány-visszavonási lista ellenőrzése HTTP-forgalmat is eredményezhet a 80-as porton.
Jegyzet
Ha tűzfal vagy proxykiszolgáló mögött használja az Azure Key Vault SQL Server-összekötőt, az hatással lehet a teljesítményre, ha a forgalom késik vagy le van tiltva. Ismerkedjen meg az Azure Key Vault tűzfal mögötti hozzáférésével, a megfelelő szabályok betartásának biztosítása érdekében.
Hogyan csatlakozhatok az Azure Key Vaulthoz HTTP(S) proxykiszolgálón keresztül? Az összekötő az Internet Explorer proxykonfigurációs beállításait használja. Ezek a beállítások szabályozhatók csoportházirend- vagy a beállításjegyzéken keresztül, de fontos megjegyezni, hogy ezek nem rendszerszintű beállítások, és az SQL Server-példányt futtató szolgáltatásfiókra kell irányulniuk. Ha egy adatbázis-rendszergazda megtekinti vagy módosítja a beállításokat az Internet Explorerben, azok csak az adatbázis-rendszergazda fiókját érintik az SQL Server-motor helyett. Nem ajánlott interaktív módon bejelentkezni a kiszolgálóra a szolgáltatásfiók használatával, és számos biztonságos környezetben le van tiltva. A konfigurált proxybeállítások módosítása szükségessé teheti az SQL Server-példány újraindítását, hogy azok életbe lépjenek, mivel a beállításokat a csatlakozáskor gyorsítótárazza az Összekötő, amikor először próbál meg csatlakozni egy kulcstárhoz.
Az SQL Server Connector milyen kulcsméreteket támogat az Azure Key Vaultban? Az SQL Server Connector legújabb buildje támogatja a 2048-es és 3072-es méretű Azure Key Vault-kulcsokat.
Jegyzet
A sys.asymmetric_keys rendszernézet 2048-as kulcsméretet ad vissza, még akkor is, ha 3072-es kulcsméretet használ.
Melyek az SQL Server egyes konfigurációs lépéseihez szükséges minimális engedélyszintek?
Bár az összes konfigurációs lépést elvégezheti a sysadmin rögzített kiszolgálói szerepkör tagjaként, a Microsoft arra ösztönzi, hogy minimalizálja a használt engedélyeket. Az alábbi lista az egyes műveletek minimális jogosultsági szintjét határozza meg.
Titkosítási szolgáltató létrehozásához
CONTROL SERVERengedély, vagy tagság szükséges a sysadmin rögzített kiszolgálói szerepkörben.A konfigurációs beállítás módosításához és a
RECONFIGUREutasítás futtatásához meg kell adni aALTER SETTINGSkiszolgálószintű engedélyt. AALTER SETTINGSengedélyt implicit módon a sysadmin és serveradmin rögzített kiszolgálói szerepkörök birtokolják.Hitelesítő adatok létrehozásához
ALTER ANY CREDENTIALengedély szükséges.Hitelesítő adatok bejelentkezéshez való hozzáadásához
ALTER ANY LOGINengedély szükséges.Aszimmetrikus kulcs létrehozásához
CREATE ASYMMETRIC KEYengedély szükséges.
Hogyan módosíthatom az alapértelmezett Microsoft Entra-címtáramat, hogy a kulcstartó ugyanabban az előfizetésben és címtárban legyen létrehozva, mint az SQL Server-összekötőhöz létrehozott szolgáltatási főfelhasználó?
Lépjen a Azure Portal.
A lap jobb felső sarkában válassza a beállítások ikont vagy a felhasználói profilt.
A Könyvtárak + előfizetések lapon válassza a Minden könyvtár lehetőséget az összes Microsoft Entra-címtár megtekintéséhez, amelyhez ön tartozik.
Módosíthatja a indítókönyvtárat, vagy válthat másik könyvtárra, ha több könyvtárral rendelkezik.
Jegyzet
Előfordulhat, hogy nincs engedélye arra, hogy ténylegesen módosítsa az alapértelmezett könyvtárat az Azure-előfizetésében. Ebben az esetben hozza létre a Microsoft Entra szolgáltatásnevet az alapértelmezett könyvtárban, hogy az ugyanabban a könyvtárban legyen, mint a később használt Azure Key Vault.
A Microsoft Entra-azonosítóról további információkért olvassa el , hogy az Azure-előfizetések hogyan kapcsolódnak a Microsoft Entra-azonosítóhoz.
C. Hibakód magyarázata az SQL Server-összekötőhöz
Jegyzet
Bár a Microsoft Entra ID az Azure Active Directory (Azure AD) új neve, a meglévő környezetek megzavarásának megakadályozása érdekében az Azure AD továbbra is megmarad néhány rögzített elemben, például felhasználói felületi mezőkben, kapcsolatszolgáltatókban, hibakódokban és parancsmagokban. Ebben a cikkben a két név felcserélhető.
szolgáltatói hibakódok:
| Hibakód | Jelkép | Leírás |
|---|---|---|
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. |
Ha nem látja a hibakódot ebben a táblában, az alábbiakban további okokat talál a hiba bekövetkeztére:
Előfordulhat, hogy nincs internetkapcsolata, és nem fér hozzá az Azure Key Vaulthoz. Ellenőrizze az internetkapcsolatot.
Az Azure Key Vault szolgáltatás leállhat. Tekintse át azure.status.microsoft. Próbálkozzon újra egy másik időpontban.
Előfordulhat, hogy elvesztette az aszimmetrikus kulcsot az Azure Key Vaultból vagy az SQL Serverből. Állítsa vissza a kulcsot.
Ha a "Nem tölthető be a kódtár" hibaüzenet jelenik meg, győződjön meg arról, hogy telepítve van a Visual Studio C++ terjeszthető verziójának megfelelő verziója a futó SQL Server verziója alapján. Az alábbi táblázat a Microsoft letöltőközpontból telepíteni kívánt verziót határozza meg.
A Windows eseménynaplója az SQL Server-összekötőhöz társított hibákat is naplózza, ami segíthet a hiba tényleges bekövetkezésének további kontextusában. A Windows-alkalmazás eseménynaplójának forrása az "SQL Server Connector for Microsoft Azure Key Vault" lesz.
C++ futtatókörnyezeti kódtárak az SQL Server Connector 1.0.5.0-hoz
| SQL Server-verzió | Terjeszthető telepítési hivatkozás az SQL Server Connector 1.0.5.0 használata esetén |
|---|---|
| 2008, 2008 R2, 2012, 2014 | Visual Studio 2013-hoz készült Visual C++ terjeszthető csomagok |
| 2016, 2017, 2019 | Visual C++ újraosztható csomag a Visual Studio 2015-höz |
C++ futtatókörnyezeti kódtárak az SQL Server Connector 1.0.4.0-hoz
| SQL Server-verzió | Terjeszthető telepítési hivatkozás az SQL Server Connector 1.0.4.0 használata esetén |
|---|---|
| 2008, 2008 R2, 2012, 2014, 2016, 2017, 2019 | Visual Studio 2013-hoz készült Visual C++ terjeszthető csomagok |
További hivatkozások
További információ az bővíthető kulcskezelésről:
AZ EKM-et támogató SQL-titkosítások:
Kapcsolódó Transact-SQL parancsok:
Az Azure Key Vault dokumentációja:
PowerShell Azure Key Vault parancsmagok hivatkozás
Kapcsolódó tartalom
- Bővíthető kulcskezelés az Azure Key Vault (SQL Server)
- SQL Server-összekötő használata SQL Encryption-funkciókkal
- EKM-szolgáltató engedélyezett (kiszolgálókonfigurációs lehetőség)
- Az SQL Server TDE bővíthető kulcskezelésének beállítása az Azure Key Vault segítségével
- További példaszkriptekért nézze meg a blogot a SQL Server transzparens adattitkosítása és bővíthető kulcskezelése az Azure Key Vaulttal alatt.