set DEADLOCK_PRIORITY (Transact-sql)

O başka bir oturum ile çıkmaza bu işleme geçerli oturumu devam göreli önemini belirtir.

Konu bağlantısı simgesi Transact-SQL Sözdizim Kuralları

Sözdizimi

SET DEADLOCK_PRIORITY { LOW | NORMAL | HIGH | <numeric-priority> | @deadlock_var | @deadlock_intvar }

<numeric-priority> ::= { -10 | -9 | -8 | … | 0 | … | 8 | 9 | 10 }

Bağımsız değişkenler

  • DÜŞÜK
    Bu geçerli oturum kilitlenme kurbanı bir kilitlenme ilgilenmektedir ve kilitlenme zincirindeki katılan diğer oturumları normal veya yüksek ya da bir tamsayı değeri -5 büyük ayarlayın kilitlenme önceliğe sahip olacağını belirtir. Az-5 tamsayı değerine ayarlayın kilitlenme önceliği diğer oturumlar varsa, geçerli oturum kilitlenme kurbanı olmayacaktır. Ayrıca, geçerli oturum başka bir oturuma düşük veya -5 için eşit bir tamsayı değeri ayarlayın kilitlenme önceliği ayarlamışsa, kilitlenme kurbanı olmak için uygun olduğunu belirtir.

  • NORMAL
    Geçerli oturum kilitlenme zincirindeki katılan diğer oturumları kilitlenme önceliği varsa kilitlenme kurbanı yüksek veya bir tamsayı değeri 0'dan büyük ayarlamak, ancak diğer oturumları düşük veya 0 tamsayı değerini ayarlayın kilitlenme önceliği varsa kilitlenme kurbanı olmayacaktır olacağını belirtir. Ayrıca, geçerli oturum başka bir diğer oturum kilitlenme önceliği normal veya bir tamsayı değeri sıfıra eşit ayarlamışsa, kilitlenme kurbanı olmak için uygun olduğunu belirtir. Varsayılan öncelik Normal'dir.

  • YÜKSEK
    Geçerli oturum kilitlenme zincirindeki katılan diğer oturumları 5'ten büyük tamsayı değerine ayarlayın kilitlenme öncelik kilitlenme kurbanı olacak, ya da başka bir oturuma da kilitlenme önceliği yüksek veya bir tamsayı değeri 5 eşit ayarlamışsa kilitlenme kurbanı olmaya uygundur belirler.

  • <sayısal öncelikli>
    Kilitlenme önceliği 21 düzeylerini sağlamak üzere bir tamsayı değer aralığı (10 -10) olduğunu. Bu, geçerli oturum kilitlenme zincirindeki diğer oturumları daha yüksek bir kilitlenme önceliği değeri çalıştırıyorsanız, kilitlenme kurbanı olacak, ama diğer oturumları, kilitlenme öncelik değeri geçerli oturum değerinden düşük çalıştırıyorsanız, kilitlenme kurbanı olmaz belirtir. Ayrıca, geçerli oturum başka bir oturumda geçerli oturum ile aynı olan kilitlenme önceliği değeri ile çalışıyorsa, kilitlenme kurbanı olarak uygun olduğunu belirtir. DÜŞÜK -5, normal 0 ve 5 yüksek eşleştirir.

  • **@**deadlock_var
    Bir karakter değişken kilitlenme önceliği belirtme. Değişken 'Düşük', 'normal' değerine ayarlanmalıdır ya da 'Yüksek'. Değişken tüm dizeyi tutacak büyüklükte olmalıdır.

  • **@**deadlock_intvar
    Bir tamsayı değişken kilitlenme önceliği belirtme. Değişken (-10-10) aralığındaki bir tamsayı değerine ayarlanmalıdır.

Açıklamalar

İki oturum hem de diğer tarafından kilitli kaynaklara erişim için bekleyen kilitlenme ortaya. Ne zaman bir örneği SQL Serveralgılar iki seans çıkmaza, kilitlenme oturum kilitlenme kurbanı olarak birini seçerek o çözer. Mağdurun geçerli işlem geri alınır ve kilitlenme hatası iletisi 1205 istemciye döndürülür. Bu, tüm diğer oturuma devam etmek izin bu oturum tarafından tutulan kilitleri serbest bırakır.

Her oturum kilitlenme öncelik kilitlenme kurbanı bağlıdır gibi hangi oturum seçilir:

  • Hem oturumları aynı kilitlenme önceliği, örneği varsa SQL Serveroturum kilitlenme kurbanı olarak geri dönmek ucuz seçer. Hem oturumları kendi kilitlenme önceliği yüksek olarak ayarladıysanız, örneğin, örneğin bir kurbanı olarak bu tahminleri oturum geri almak daha az maliyetli seçecektir.

  • Farklı bir kilitlenme öncelikleri oturumlar varsa, en düşük kilitlenme önceliği ile oturum kilitlenme kurbanı olarak seçilir.

set DEADLOCK_PRIORITY ayarlanır yürütme veya zaman değil ayrıştırma saati ve çalıştırın.

İzinler

Üyelik Genel rolü.

Örnekler

Aşağıdaki örnek bir değişken kilitlenme önceliği ayarlamak için kullandığı LOW.

DECLARE @deadlock_var NCHAR(3);
SET @deadlock_var = N'LOW';

SET DEADLOCK_PRIORITY @deadlock_var;
GO

DECLARE @deadlock_var NCHAR(3);
SET @deadlock_var = N'LOW';

SET DEADLOCK_PRIORITY @deadlock_var;
GO

Aşağıdaki örnek kilitlenme önceliği ayarlar NORMAL.

SET DEADLOCK_PRIORITY NORMAL;
GO

SET DEADLOCK_PRIORITY NORMAL;
GO

Ayrıca bkz.

Başvuru

@@ LOCK_TIMEOUT (Transact-sql)

Deyimiyle (Transact-sql) bırak

set LOCK_TIMEOUT (Transact-sql)