Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server 2016 (13.x) ve sonraki sürümleri
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
SQL analiz uç noktası Microsoft Fabric'teki Microsoft Fabric
SQL veritabanında Microsoft Fabric'te
Geçerli oturum bağlamında belirtilen anahtarın değerini döndürür. Değer , sp_set_session_context yordamı kullanılarak ayarlanır.
Transact-SQL söz dizimi kuralları
Sözdizimi
SESSION_CONTEXT(N'key')
Tartışmalar
'key'
Alınan değerin anahtarı. anahtarsysname'dir.
Dönüş türleri
sql_variant
Dönüş değeri
Oturum bağlamında belirtilen anahtarla ilişkili değer veya NULL bu anahtar için hiçbir değer ayarlanmadı.
İzinler
Herhangi bir kullanıcı, oturumlarının oturum bağlamını okuyabilir.
Açıklamalar
' için SESSION_CONTEXTMARS davranışı, ile benzerdir CONTEXT_INFO. MARS toplu işlemi bir anahtar-değer çifti ayarlarsa, yeni değeri ayarlayan toplu işlem tamamlandıktan sonra başlatılmadığı sürece yeni değer aynı bağlantıdaki diğer MARS toplu işlemlerinde döndürülemez. Bir bağlantıda birden çok MARS toplu işlemi etkinse, değerler olarak read_onlyayarlanamaz. Bu, yarış koşullarını ve hangi değerin kazandığı konusunda belirsizliği önler.
Örnekler
Aşağıdaki basit örnek, anahtarın user_id oturum bağlam değerini 4 olarak ayarlar ve ardından değerini almak için işlevini kullanır SESSION_CONTEXT .
EXECUTE sp_set_session_context 'user_id', 4;
SELECT SESSION_CONTEXT(N'user_id');
Bilinen sorunlar
| Sorun | Bulunan tarih | Statü | Çözümlenme tarihi |
|---|---|---|---|
Belirli koşullar altında işlevde SESSION_CONTEXT Erişim İhlali (AV) özel durumu oluşabilir. Oturum yeniden kullanım için sıfırlandığında SESSION_CONTEXT işlev paralel yürütme planı içinde çalıştığında AV özel durumları veya yanlış sonuçlarla karşılaşabilirsiniz.SQL Server 2019 (15.x) CU 14'te paralel planlar içinde yanlış bir sonuç sorununu SESSION_CONTEXT gidermek için kullanıma sunulan bir düzeltmenin daha sonra belirli koşullar altında AV özel durumlarına neden olduğu bulundu.Bu sorunu azaltmak için, başlangıç, genel veya oturum izleme bayrağı olarak izleme bayrağı 11042'yi etkinleştirebilirsiniz. Bu izleme bayrağı, paralel sorgu planlarına katılmasını engelleyerek seri olarak yürütülmesini zorlar SESSION_CONTEXT .Şunlar için geçerlidir: SQL Server 2019 (15.x) CU 14 ve sonraki sürümleri. |
Ocak 2022 | Geçici çözümü var |