Gejala
Pertimbangkan skenario berikut:
-
Anda memiliki aplikasi Microsoft .NET Framework yang menggunakan selalu dienkripsi di sql server 2016 atau database Azure SQL.
-
Kunci master kolom untuk aplikasi ini disimpan dalam Azure Key Vault.
Dalam skenario ini, aplikasi mengalami kemogokan. Oleh karena itu, aplikasi menjadi tidak responsif (macet) atau waktu habis.
Kemogokan mungkin terjadi selama upaya untuk mendapatkan atau me-refresh token autentikasi untuk Azure Key Vault.
Penyebab
Saat aplikasi kueri meminta kolom terenkripsi dalam database, penyedia data .NET Framework untuk SQL Server memanggil penyedia Azure Key Vault untuk selalu dienkripsi. Ini, pada akhirnya, memanggil tugas asinkron berbasis aplikasi yang mengakuisisi atau me-refresh token untuk Azure Key Vault. Jalur kode ini di Azure kunci kubah penyedia untuk selalu dienkripsi NuGet paket versi 2.0. x dan 1. x. x rentan terhadap kemogokan karena memanggil beberapa metode asinkron dengan cara yang salah.
Pemecahan Masalah
Masalah ini pertama kali diperbaiki di penyedia Azure Key Vault untuk selalu dienkripsi versi 2.1.0.Jika Anda menggunakan selalu terenkripsi dan penyedia Azure kunci kubah, kami sangat menyarankan agar Anda membuat ulang dan menyebarkan ulang aplikasi Anda sehingga menggunakan penyedia Azure Key Vault untuk selalu mengenkripsi versi 2.1.0 atau yang lebih baru.