set CONTEXT_INFO (Transact-SQL)
En çok 128 bayt ikili bilgileri geçerli oturum veya bağlantı ile ilişkilendirir.
Sözdizimi
SET CONTEXT_INFO { binary_str | @binary_var }
Bağımsız değişkenler
binary_str
Olan bir binary sabitveya bir sabit örtük olarak dönüştürülebilir binary, geçerli oturum veya bağlantı ile ilişkilendirmek için**@**binary_var
Olan bir varbinary veya binary değişken tutup içerik değeri geçerli oturum veya bağlantı ile ilişkilendirmek
Açıklamalar
Geçerli oturum için bağlam bilgileri almak için tercih edilen yol CONTEXT_INFO işlevkullanmaktır.Oturum bağlam bilgileri depolanan de context_info aşağıdaki sistem görünümler sütunlarda:
sys.dm_exec_requests
sys.dm_exec_sessions
sys.sysprocesses
Kullanıcı tanımlı bir işleviçinde CONTEXT_INFO set belirtilemez.Değerleri tutan görünümleri için null değerlere izin vermemesi nedeniyle CONTEXT_INFO AYARLAMAK için null bir değer sağlayamazsınız.
set CONTEXT_INFO ifadeler sabit veya değişken adları dışında kabul etmez.küme için bağlam bilgileri işlev çağrısının sonucunu, ilk işlev çağrısında sonucunu eklemeniz gerekir bir binary veya varbinary değişkeni.
CONTEXT_INFO AYARLANMIŞ bir saklı yordam veya tetikleyiciyi keserken, aksine diğer set deyimlerinde yeni değerini küme için bağlam bilgileri ' % s'yordamından saklı yordam sonra kalýcý veya tetikleyici tamamlandı.
Örnekler
A.Bir sabitkullanarak bağlam bilgilerini ayarlama
Aşağıdaki örnekte gösterilmiştir SET CONTEXT_INFO değerini ayarlayarak ve sonuçlargörüntüleme.Bu sorgulama Not sys.dm_exec_sessions seçin ve Görünüm sunucu durumu izinleri gerektirir, oysa CONTEXT_INFO işlev kullanarak yapar değil.
SET CONTEXT_INFO 0x01010101
GO
SELECT context_info
FROM sys.dm_exec_sessions
WHERE session_id = @@SPID;
GO
B.Bir işlevkullanarak bağlam bilgilerini ayarlama
Çıkış nerede işlev değerinden önce yerleştirilmelidir içinde içerik değeri küme için bir işlev kullanarak aşağıdaki örnekte gösterilmiştir bir binary değ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