Megosztás:


SQL Server-csatlakozó karbantartás hibaelhárítása &

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

  1. Az SQL Server szolgáltatás leállítása SQL Server Configuration Managerhasználatával.
  2. Távolítsa el a régi verziót Vezérlőpult>Programok>Programok és szolgáltatásokhasználatával.
    1. Alkalmazás neve: SQL Server-összekötő a Microsoft Azure Key Vaulthoz
    2. Verzió: 15.0.300.96 (vagy régebbi)
    3. DLL-fájl dátuma: 2018. január 30. (vagy régebbi)
  3. Telepítse (frissítse) az új SQL Server-összekötőt a Microsoft Azure Key Vaulthoz.
    1. Verzió: 15.0.2000.440
    2. DLL-fájl dátuma: 2024. november 9.
  4. Indítsa el az SQL Server szolgáltatást.
  5. 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

  1. Az SQL Server szolgáltatás leállítása SQL Server Configuration Managerhasználatával.

  2. Távolítsa el az új verziót Vezérlőpult>Programok>Programok és szolgáltatásokhasználatával.

    1. Alkalmazás neve: SQL Server-összekötő a Microsoft Azure Key Vaulthoz
    2. Verzió: 15.0.2000.440
    3. DLL-fájl dátuma: 2024. november 9.
  3. Telepítse a Microsoft Azure Key Vaulthoz készült SQL Server Connector régi verzióját.

    1. Verzió: 15.0.300.96
    2. DLL-fájl dátuma: 2018. január 30.
  4. Indítsa el az SQL Server szolgáltatást.

  5. Ellenőrizze, hogy a TDE-t használó adatbázisok elérhetők-e.

  6. 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

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 SERVER engedé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 RECONFIGURE utasítás futtatásához meg kell adni a ALTER SETTINGS kiszolgálószintű engedélyt. A ALTER SETTINGS engedé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 CREDENTIAL engedély szükséges.

  • Hitelesítő adatok bejelentkezéshez való hozzáadásához ALTER ANY LOGIN engedély szükséges.

  • Aszimmetrikus kulcs létrehozásához CREATE ASYMMETRIC KEY engedé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ó?

A képernyőkép a Microsoft Entra ID alapértelmezett könyvtárának módosítási súgólépéseit mutatja.

  1. Lépjen a Azure Portal.

  2. A lap jobb felső sarkában válassza a beállítások ikont vagy a felhasználói profilt.

  3. 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.

  4. 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: