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'te Microsoft Fabric
Ambarı'nda
Oturum bağlamında bir anahtar-değer çifti ayarlar.
Transact-SQL söz dizimi kuralları
Sözdizimi
sp_set_session_context
[ @key = ] N'key'
, [ @value = ] 'value'
[ , [ @read_only = ] read_only ]
[ ; ]
Arguments
Önemli
Genişletilmiş saklı yordamlar için bağımsız değişkenler, Sözdizimi bölümünde açıklandığı gibi belirli bir sırada girilmelidir. Parametreler sıra dışı girilirse bir hata iletisi oluşur.
[ @key = ] N'key'
Ayarlanan anahtar. @key , varsayılan olmayan sysname'dir . En büyük anahtar boyutu 128 bayttır.
[ @value = ] 'value'
Belirtilen anahtarın değeri.
@value, varsayılan olarak NULLsql_variant. değerinin NULL ayarlanması belleği serbest bırakır. En büyük boyut 8.000 bayttır.
[ @read_only = ] read_only
Belirtilen anahtarın mantıksal bağlantıda değiştirilip değiştirilemeyeceğini gösteren bir bayrak.
@read_only varsayılan değeriyle bittir0.
- ise
1, belirtilen anahtarın değeri bu mantıksal bağlantıda yeniden değiştirilemez. - ise
0, değer değiştirilebilir.
Permissions
Herhangi bir kullanıcı oturumu için bir oturum bağlamı ayarlayabilir.
Açıklamalar
Diğer saklı yordamlar gibi yalnızca değişmez değerler ve değişkenler (ifadeler veya işlev çağrıları değil) parametre olarak geçirilebilir.
Oturum bağlamının toplam boyutu 1 MB ile sınırlıdır. Bu sınırın aşılması için neden olan bir değer ayarlarsanız, deyimi başarısız olur. sys.dm_os_memory_objects genel bellek kullanımını izleyebilirsiniz.
sys.dm_os_memory_cache_counters şu şekilde sorgulayarak genel bellek kullanımını izleyebilirsiniz:
SELECT *
FROM sys.dm_os_memory_cache_counters
WHERE type = 'CACHESTORE_SESSION_CONTEXT';
Örnekler
A. Oturum bağlamı ayarlama ve döndürme
Aşağıdaki örnekte, değerini içeren adlı languagebir oturumun bağlam anahtarının nasıl ayarlanacağı ve döndürüleceği gösterilmektedir English.
EXECUTE sys.sp_set_session_context
@key = N'language',
@value = 'English';
SELECT SESSION_CONTEXT(N'language');
Aşağıdaki örnekte isteğe bağlı salt okunur bayrağının kullanımı gösterilmektedir.
EXECUTE sys.sp_set_session_context
@key = N'user_id',
@value = 4,
@read_only = 1;
B. İstemci bağıntı kimliğini ayarlama ve döndürme
Aşağıdaki örnekte, değerine sahip adlı client_correlation_idbir oturum bağlam anahtarını ayarlama ve alma gösterilmektedir 12323ad.
Değeri ayarlayın.
EXECUTE sp_set_session_context 'client_correlation_id', '12323ad';Değeri alın.
SELECT SESSION_CONTEXT(N'client_correlation_id');