Share via


set DEADLOCK_PRIORITY (Transact-SQL)

Başka bir oturumkilitli, oturum geçerli işleme devam göreli önemini belirtir.

Konu bağlantısı simgesiTransact-SQL sözdizimi 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
    Geçerli oturum çıkmaz kurban bir çıkmaz katıldı ve çıkmaz zincirindeki diğer oturumları çıkmaz önceliği küme normal veya yüksek veya -5'den büyük bir tamsayı değerine sahip olacağını belirtir.çıkmaz önceliği küme -5'den küçük bir tamsayı değeri diğer oturumlar varsa, geçerli oturum çıkmazkurban olur. Ayrıca, geçerli oturum kümeçıkmaz önceliği küme düşük veya -5 için eşit bir tamsayı değeri başka bir oturum varsa, çıkmazkurban olarak uygun olduğunu belirtir.

  • NORMAL
    çıkmaz zincirindeki diğer oturumları çıkmaz önceliği küme yüksek veya 0'dan büyük bir tamsayı değeri ancak diğer oturumları çıkmaz önceliği küme düşük veya 0'dan bir tamsayı değeri varsa, çıkmazkurban olmaz geçerli oturum çıkmazkurban olacağını belirtir. Ayrıca geçerli oturum çıkmaz kurban başka bir olarak uygun olduğunu belirtir diğer oturum normal veya 0'a eşit bir tamsayı değeri küme çıkmaz önceliği vardır.Varsayılan öncelik Normal'dir.

  • YÜKSEK
    Geçerli oturum çıkmazkurban olur, çıkmaz zincirindeki diğer oturumları çıkmaz önceliği küme 5 ' büyük bir tamsayı değeri varsa veya başka bir oturum da yüksek ya da 5'e eşit bir tamsayı değeri kümeçıkmaz önceliğe sahip çıkmazkurban olarak uygun belirtir.

  • <sayısal öncelikli>
    21 çıkmaz öncelik düzeyini sağlamak için bir tamsayı değer aralık (10 -10) biçimindedir.Bu, geçerli oturum çıkmaz zincirindeki diğer oturumları daha yüksek bir çıkmaz öncelik değerinde çalıştırıyorsanız, çıkmazkurban olur, ancak diğer oturumları geçerli oturumdeğerinden daha düşük bir çıkmaz öncelik değerinde çalıştırıyorsanız, çıkmazkurban olmaz belirtir. Ayrıca, geçerli oturum geçerli oturumile aynı çıkmaz öncelik değerine sahip çalışan başka bir oturum çıkmazkurban olarak uygun olduğunu belirtir. Düşük -5, 0 ' dır ve 5 yüksek normal eşleştirir.

  • **@**deadlock_var
    Bir karakter değişken çıkmaz önceliği belirler.Değişken 'Düşük', 'normal' değerine küme olması gerekir veya 'Yüksek'.Değişken dizetüm tutacak büyüklükte olmalıdır.

  • **@**deadlock_intvar
    Bir tamsayı değişken çıkmaz önceliği belirler.Değişken küme aralık (10 -10) bir tamsayı değeri olmalıdır.

Açıklamalar

İki oturum hem de diğer kilitli kaynaklara erişim için bekleyen kilitlenmeleri artmaktadır.örnek , SQL Server iki oturum kilitli, oturum çıkmazkurbanolarak birini seçerek çıkmaz giderir algılar. kurban , geçerli işlem geri alınır ve çıkmaz hatası iletisi 1205 istemcigeri döner.Bu, tüm olarak devam etmek diğer oturum izin vererek bu oturumtarafından tutulan kilitleri serbest bırakır.

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

  • Her iki oturumu aynı çıkmaz önceliği, örnek varsa SQL Server geri almak çıkmazkurbanolarak daha ucuz oturum seçer. Her iki oturumu küme çıkmaz öncelikleri yüksek varsa, örneğin, örnek kurban olarak onu tahminleri oturum geri almakiçin daha ucuz seçecektir.

  • Farklı bir çıkmaz öncelikleri oturumlar varsa, en düşük çıkmaz önceliğe oturum çıkmazkurbanolarak seçilir.

DEADLOCK_PRIORITY AYARLAMAK küme yürütmek sırasında veya çalışma saat ve ayrıştırma saatzaman.

İzinler

Üyelik gerektiren ortak rolü.

Örnekler

Aşağıdaki örnek bir değişkeni küme için çıkmaz önceliği kullanır LOW.

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

SET DEADLOCK_PRIORITY @deadlock_var;
GO

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

SET DEADLOCK_PRIORITY NORMAL;
GO