Bagikan melalui


SESSION_CONTEXT (T-SQL)

Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru Azure SQL Database Azure SQL Managed Instance Titik akhir analitik Azure Synapse Analytics SQL di Microsoft Fabric Warehouse di Microsoft Fabric

Mengembalikan nilai kunci yang ditentukan dalam konteks sesi saat ini. Nilai diatur dengan menggunakan prosedur sp_set_session_context (Transact-SQL).

Konvensi sintaks transact-SQL

Sintaks

SESSION_CONTEXT(N'key')  

Argumen

'kunci'
Kunci (ketik sysname) dari nilai yang diambil.

Jenis Hasil

aql_variant

Tampilkan Nilai

Nilai yang terkait dengan kunci yang ditentukan dalam konteks sesi, atau NULL jika tidak ada nilai yang ditetapkan untuk kunci tersebut.

Izin

Setiap pengguna dapat membaca konteks sesi untuk sesi mereka.

Keterangan

perilaku MARS SESSION_CONTEXT mirip dengan CONTEXT_INFO. Jika batch MARS menetapkan pasangan kunci-nilai, nilai baru tidak akan 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 non-determinisme tentang nilai mana yang "menang."

Contoh

Contoh sederhana berikut mengatur nilai konteks sesi untuk kunci user_id ke 4, lalu menggunakan fungsi SESSION_CONTEXT untuk mengambil nilai.

EXEC sp_set_session_context 'user_id', 4;  
SELECT SESSION_CONTEXT(N'user_id');  

Lihat Juga

sp_set_session_context (T-SQL)
CURRENT_TRANSACTION_ID (T-SQL)
Keamanan Tingkat Baris
CONTEXT_INFO (T-SQL)
SET CONTEXT_INFO (Transact-SQL)