Síntomas
Imagine la siguiente situación:
-
Tiene aplicaciones de Microsoft .NET Framework que usan siempre cifradas en SQL Server 2016 o en Azure SQL Database.
-
Las claves maestras de las columnas de estas aplicaciones se almacenan en el almacén de claves de Azure.
En este escenario, las aplicaciones experimentan interbloqueos. Por lo tanto, las aplicaciones dejan de responder (se bloquean) o agotan el tiempo de espera.
Los interbloqueos pueden ocurrir durante los intentos de adquirir o actualizar un token de autenticación para el almacén de claves de Azure.
Causa
Cuando una aplicación consulta las columnas cifradas de la base de datos, el proveedor de datos de .NET Framework para SQL Server llama al proveedor de depósito de claves de Azure siempre cifrado. Esto, a su vez, llama a una tarea asincrónica basada en aplicaciones que adquiere o actualiza un token para el almacén de claves de Azure. Esta ruta de acceso del código en el proveedor de depósito de claves de Azure para el paquete NuGet siempre cifrado, versiones 2.0. x y 1. x. x es propenso a interbloqueos porque llama a algunos métodos asincrónicos de manera incorrecta.
Resolución
El problema se corrigió por primera vez en el proveedor de la clave de Azure para la versión 2.1.0 siempre cifrada.Si usa siempre cifrado y el proveedorde la bóveda de claves de Azure, le recomendamos encarecidamente que vuelva a crear y a implementar la aplicación para que use el proveedor de almacén de claves de Azure para la versión siempre cifrada de la versión 2.1.0 o posterior.