Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang
lebih baru Azure SQL Database
Azure SQL Managed Instance
Titik akhir analitik SQL
Azure Synapse Analytics di Microsoft Fabric
Warehouse dalam database Microsoft Fabric
SQL di Microsoft Fabric
Mengembalikan nilai kunci yang ditentukan dalam konteks sesi saat ini. Nilai diatur dengan menggunakan prosedur sp_set_session_context .
Sintaks
SESSION_CONTEXT(N'key')
Argumen
'kunci'
Kunci nilai yang diambil. kuncinya adalah sysname.
Tipe pengembalian
aql_variant
Mengembalikan nilai
Nilai yang terkait dengan kunci yang ditentukan dalam konteks sesi, atau NULL jika tidak ada nilai yang diatur untuk kunci tersebut.
Izin
Setiap pengguna dapat membaca konteks sesi untuk sesi mereka.
Keterangan
Perilaku MARS untuk SESSION_CONTEXT' mirip CONTEXT_INFOdengan . Jika batch MARS menetapkan pasangan kunci-nilai, nilai baru tidak dikembalikan dalam batch MARS lainnya pada koneksi yang sama kecuali dimulai setelah batch yang menetapkan nilai baru selesai. Jika beberapa batch MARS aktif pada koneksi, nilai tidak dapat diatur sebagai read_only. Ini mencegah kondisi ras dan nondeterminisme tentang nilai mana yang menang.
Contoh
Contoh sederhana berikut mengatur nilai konteks sesi untuk kunci user_id ke 4, lalu menggunakan SESSION_CONTEXT fungsi untuk mengambil nilai.
EXECUTE sp_set_session_context 'user_id', 4;
SELECT SESSION_CONTEXT(N'user_id');
Masalah yang diketahui
| Masalah | Tanggal ditemukan | Kedudukan | Tanggal penyelesaian |
|---|---|---|---|
Pengecualian Pelanggaran Akses (AV) mungkin terjadi dengan fungsi dalam SESSION_CONTEXT kondisi tertentu. Anda mungkin mengalami pengecualian AV atau hasil yang salah saat SESSION_CONTEXT fungsi berjalan dalam rencana eksekusi paralel saat sesi diatur ulang untuk digunakan kembali.Perbaikan, yang diperkenalkan di SQL Server 2019 (15.x) CU 14 untuk mengatasi masalah hasil yang salah dalam SESSION_CONTEXT rencana paralel, kemudian ditemukan menyebabkan pengecualian AV dalam kondisi tertentu.Untuk mengurangi masalah ini, Anda dapat mengaktifkan bendera pelacakan 11042 sebagai bendera startup, global, atau pelacakan sesi. Bendera pelacakan ini memaksa SESSION_CONTEXT untuk menjalankan secara serial, mencegahnya berpartisipasi dalam rencana kueri paralel.Berlaku untuk: SQL Server 2019 (15.x) CU 14 dan versi yang lebih baru. |
Januari 2022 | Memiliki solusi |