set CONTEXT_INFO (Transact-sql)
En fazla 128 bayt ikili bilgilerin geçerli oturumu veya bağlantı ile ilişkilendirir.
Transact-SQL Sözdizim Kuralları
Sözdizimi
SET CONTEXT_INFO { binary_str | @binary_var }
Bağımsız değişkenler
binary_str
Olan bir binarysabiti, ya da örtük olarak dönüştürülebilir için sabit binary, geçerli oturumu veya bağlantı ile ilişkilendirmek.**@**binary_var
Olan bir varbinaryya binarygeçerli oturumu veya bağlantı ile ilişkilendirmek için bir içerik değeri tutan değişken.
Açıklamalar
Geçerli oturum için bağlam bilgilerini almak için tercih edilen yol CONTEXT_INFO işlevini kullanmaktır. Oturum bağlam bilgileri saklı da CONTEXT_INFO aşağıdaki sistem görünümlerde sütunlar:
sys.dm_exec_requests
sys.dm_exec_sessions
sys.sysprocesses
set CONTEXT_INFO kullanıcı tanımlı bir işlev belirtilemez. Değerleri tutan Gösterim için boş değerlere izin vermediğinden CONTEXT_INFO set null değerine sağlayamazsınız.
set CONTEXT_INFO ifadeler sabit ya da değişken isimleri dışında kabul etmez. İşlev çağrısının sonucu bağlam bilgilerini ayarlamak için işlev çağrısının sonucunu eklemeniz gerekir bir binaryya varbinarydeğişkeni.
set CONTEXT_INFO bir saklı yordam veya tetikleyiciyi keserken, aksine diğer set deyimlerinde sonra saklı yordam bağlam bilgilerini yeni değere devam veya tetikleyici tamamlandı.
Örnekler
A.Sabit kullanarak bağlam bilgilerini ayarlama
Aşağıdaki örnekte gösterilmiştir SET CONTEXT_INFOdeğerini ayarlayarak ve sonuçları görüntüleme. Bu sorgulama Not sys.dm_exec_sessionsCONTEXT_INFO işlevi kullanılarak yok Oysa seçin ve VIEW server state izni gerektirir.
SET CONTEXT_INFO 0x01010101
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
SET CONTEXT_INFO 0x01010101
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B.Fonksiyon kullanarak bağlam bilgilerini ayarlama
Nerede işlevi değeri gereken ilk yer de içerik değeri ayarlamak için ilgili bir işlevinin çıktısı kullanma aşağıdaki örnekte gösterilmiştir bir binarydeğişkeni.
DECLARE @BinVar varbinary(128)
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) )
SET CONTEXT_INFO @BinVar
SELECT CONTEXT_INFO() AS MyContextInfo;
GO
DECLARE @BinVar varbinary(128)
SET @BinVar = CAST(REPLICATE( 0x20, 128 ) AS varbinary(128) )
SET CONTEXT_INFO @BinVar
SELECT CONTEXT_INFO() AS MyContextInfo;
GO
Ayrıca bkz.
Başvuru
Deyimiyle (Transact-sql) bırak
sys.dm_exec_requests (Transact-sql)