Aracılığıyla paylaş


set CONTEXT_INFO (Transact-SQL)

En çok 128 bayt ikili bilgileri geçerli oturum veya bağlantı ile ilişkilendirir.

Konu bağlantısı simgesiTransact-SQL sözdizimi kuralları

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