Symptom
Tänk dig följande situation:
-
Du har Microsoft .NET Framework-program som alltid använder krypterade i sql Server 2016 eller Azure SQL Database.
-
Kolumn huvud nycklarna för dessa program lagras i Azure Key-valvet.
I det här scenariot är program miljön död. Därför svarar programmen inte (hänger sig) eller tids gränsen ut.
Död lägen kan uppstå under försök att hämta eller uppdatera en autentiseringstoken för ett Azure Key-valv.
Orsak
När ett program efterfrågar krypterade kolumner i databasen, ringer .NET Framework Data Provider för SQL Server att Azure Key Vault-providern alltid är krypterad. Detta innebär att i sin tur ringer en programbaserad asynkron aktivitet som hämtar eller uppdaterar ett token för Azure Key Vault. Den här kod Sök vägen i Azure Key valv-providern för alltid krypterade NuGet paketet version 2.0. x och 1. x är känsligt för död lägen eftersom den anropar vissa asynkrona metoder på ett felaktigt sätt.
Lösning
Problemet har först åtgärd ATS i Azure Key Vault-providern för Always Encrypted version 2.1.0.Om du använder alltid krypterade och Azure Key Vault-Providerrekommenderar vi starkt att du återskapar och återdistribuerar programmet så att det använder Azure Key Vault-leverantören för alltid krypterad version 2.1.0 eller senare.