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
Mengatur pasangan kunci-nilai dalam konteks sesi.
Sintaks
sp_set_session_context
[ @key = ] N'key'
, [ @value = ] 'value'
[ , [ @read_only = ] read_only ]
[ ; ]
Argumen
Penting
Argumen untuk prosedur tersimpan yang diperluas harus dimasukkan dalam urutan tertentu seperti yang dijelaskan di bagian Sintaks. Jika parameter dimasukkan di luar urutan, pesan kesalahan terjadi.
[ @key = ] N'key'
Kunci yang sedang diatur. @key adalah sysname tanpa default. Ukuran kunci maksimum adalah 128 byte.
[ @value = ] 'nilai'
Nilai untuk kunci yang ditentukan.
@value sql_variant, dengan default NULL. Mengatur nilai NULL membebaskan memori. Ukuran maksimum adalah 8.000 byte.
[ @read_only = ] read_only
Bendera yang menunjukkan apakah kunci yang ditentukan dapat diubah pada koneksi logis.
@read_only sedikit dengan default 0.
- Jika
1, nilai untuk kunci yang ditentukan tidak dapat diubah lagi pada koneksi logis ini. - Jika
0, nilai dapat diubah.
Izin
Setiap pengguna dapat mengatur konteks sesi untuk sesi mereka.
Keterangan
Seperti prosedur tersimpan lainnya, hanya literal dan variabel (bukan ekspresi atau panggilan fungsi) yang dapat diteruskan sebagai parameter.
Ukuran total konteks sesi dibatasi hingga 1 MB. Jika Anda menetapkan nilai yang menyebabkan batas ini terlampaui, pernyataan gagal. Anda dapat memantau penggunaan memori secara keseluruhan dalam sys.dm_os_memory_objects.
Anda dapat memantau penggunaan memori secara keseluruhan dengan mengkueri sys.dm_os_memory_cache_counters sebagai berikut:
SELECT *
FROM sys.dm_os_memory_cache_counters
WHERE type = 'CACHESTORE_SESSION_CONTEXT';
Contoh
J. Mengatur dan mengembalikan konteks sesi
Contoh berikut menunjukkan cara mengatur lalu mengembalikan kunci konteks sesi bernama language, dengan nilai English.
EXECUTE sys.sp_set_session_context
@key = N'language',
@value = 'English';
SELECT SESSION_CONTEXT(N'language');
Contoh berikut menunjukkan penggunaan bendera baca-saja opsional.
EXECUTE sys.sp_set_session_context
@key = N'user_id',
@value = 4,
@read_only = 1;
B. Mengatur dan mengembalikan ID korelasi klien
Contoh berikut menunjukkan cara mengatur dan mengambil kunci konteks sesi bernama client_correlation_id, dengan nilai 12323ad.
Atur nilai .
EXECUTE sp_set_session_context 'client_correlation_id', '12323ad';Ambil nilainya.
SELECT SESSION_CONTEXT(N'client_correlation_id');