SET CONTEXT_INFO (Transact-SQL)
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Mengaitkan hingga 128 byte informasi biner dengan sesi atau koneksi saat ini.
Sintaksis
SET CONTEXT_INFO { binary_str | @binary_var }
Catatan
Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi yang lebih lama, lihat Dokumentasi versi sebelumnya.
Argumen
binary_str
Adalah konstanta biner , atau konstanta yang secara implisit dapat dikonversi ke biner, untuk dikaitkan dengan sesi atau koneksi saat ini.
@binary_var
Adalah variabel varbinary atau biner yang menyimpan nilai konteks untuk dikaitkan dengan sesi atau koneksi saat ini.
Keterangan
Seperti semua Pernyataan SET, SET CONTEXT_INFO memengaruhi sesi saat ini. Cara yang disukai untuk mengambil informasi konteks untuk sesi saat ini adalah dengan menggunakan fungsi CONTEXT_INFO. Informasi konteks sesi juga disimpan dalam context_info
kolom dalam tampilan sistem berikut:
sys.dm_exec_requests
sys.dm_exec_sessions
sys.sysprocesses
(tidak digunakan lagi)
SET CONTEXT_INFO tidak dapat ditentukan dalam fungsi yang ditentukan pengguna. Anda tidak dapat menyediakan nilai NULL ke SET CONTEXT_INFO karena tampilan yang menyimpan nilai tidak memungkinkan nilai NULL.
SET CONTEXT_INFO tidak menerima ekspresi selain konstanta atau nama variabel. Untuk mengatur informasi konteks ke hasil panggilan fungsi, Anda harus terlebih dahulu menyertakan hasil panggilan fungsi dalam variabel biner atau varbinary .
Saat Anda mengeluarkan SET CONTEXT_INFO dalam prosedur atau pemicu tersimpan, tidak seperti dalam pernyataan SET lainnya, nilai baru yang ditetapkan untuk informasi konteks tetap ada setelah prosedur atau pemicu tersimpan selesai.
Contoh
J. Mengatur informasi konteks dengan menggunakan konstanta
Contoh berikut menunjukkan SET CONTEXT_INFO
dengan mengatur nilai dan menampilkan hasilnya. Kueri sys.dm_exec_sessions
memerlukan izin SELECT dan VIEW SERVER STATE, sedangkan menggunakan fungsi CONTEXT_INFO tidak.
SET CONTEXT_INFO 0x01010101;
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B. Mengatur informasi konteks dengan menggunakan fungsi
Contoh berikut menunjukkan penggunaan output fungsi untuk mengatur nilai konteks, di mana nilai dari fungsi harus terlebih dahulu ditempatkan dalam variabel biner .
DECLARE @BinVar varbinary(128);
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) );
SET CONTEXT_INFO @BinVar;
SELECT CONTEXT_INFO() AS MyContextInfo;
GO