Aracılığıyla paylaş


küme DEADLOCK_PRIORITY (Transact-SQL)

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

Topic link iconTransact-SQL sözdizimi kuralları

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 kilitlenmeyle ilgili ve çıkmaz öncelik -5 ' büyük veya NORMAL, hem de YÜKSEK veya bir Tamsayı değerine ayarlayın çıkmaz zincirdeki diğer oturumlara sahip olacak belirtir.çıkmaz öncelik diğer oturumlar varsa, geçerli oturum çıkmaz kurban olmayacak küme -5'den küçük bir tamsayıya değer.Ayrıca geçerli oturum başka bir oturumu varsa, çıkmaz kurban olarak uygun olduğunu belirtir küme öncelik çıkmazye küme -5 için LOW veya bir Tamsayı değerine eşit için.

  • normal
    Geçerli oturum çıkmaz öncelik çıkmaz zincirdeki diğer oturumlar varsa, çıkmaz kurban YÜKSEK veya bir Tamsayı değerine 0'dan büyük küme, ancak diğer oturumlara çıkmaz öncelik LOW ya da 0'dan bir tamsayı değeri varsa, çıkmaz kurban olmayacak olacağını belirtir.Ayrıca geçerli oturumu başka diğer bir oturumu varsa, çıkmaz kurban olarak uygun olduğunu belirtir küme önceliği NORMAL veya sıfıra eşit bir tamsayı değeri çıkmaz.NORMAL varsayılan önceliğidir.

  • YÜKSEK
    çıkmaz öncelik çıkmaz zincirdeki diğer oturumlar varsa, geçerli oturumu çıkmaz kurban olacağını belirten küme tamsayıya 5'ten büyük bir değer ya da başka bir oturumu varsa, çıkmaz kurban olarak uygun küme 5 için üst veya bir Tamsayı değerine eşit öncelikli çıkmaz.

  • <sayısal öncelik>
    21 çıkmaz öncelik düzeyi sağlamak için bir tamsayı değer aralık (10 -10) belirtilir.Bu, geçerli oturumu çıkmaz zincirdeki diğer oturumlara daha yüksek bir çıkmaz öncelik değeri çalıştırıyorsanız, çıkmaz kurban olur, ancak başka bir oturum sırasında geçerli oturum değerinden daha düşük bir çıkmaz öncelik değeri çalıştırıyorsanız, çıkmaz kurban olmayacak belirtir.Ayrıca, geçerli oturum geçerli oturum ile aynı olan çıkmaz öncelik değeri olan başka bir oturuma çalıştırıyorsa, çıkmaz kurban olarak uygun belirtir.-5, NORMAL ve YÜKSEK 5 0 LOW eşleştirir.

  • **@**deadlock_var
    Bir karakter değişkeni çıkmaz öncelik belirleme iş.Değişken olmalıdır küme 'LOW', 'NORMAL' veya 'Yüksek' değerine.Değişken tüm dizeyi alacak kadar büyük olmalıdır.

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

Remarks

Kilitlenmeler, iki oturum her ikisi de diğer tarafından kilitlenmiş olan kaynaklara erişimi için bekleyen zaman ortaya çıkan.Bir zaman SQL Server iki oturum deadlocked, çıkmaz kurban olarak oturumların birini seçerek çıkmaz çözümler algılar. Geçerli hareket kurban döndürülüyor ve çıkmaz hata iletisi 1205 istemciye döndürülür.Bu, tüm devam etmek diğer oturum sağlayarak bu oturum tarafından tutulan kilitlerin serbest bırakır.

Hangi oturum, her oturumun çıkmaz öncelik çıkmaz kurban bağlı olarak seçilir:

  • Her iki oturumların aynı çıkmaz öncelik örnek varsa SQL Server çıkmaz kurban olarak geri almak almak daha ucuz olan oturum seçer. Örneğin, iki oturum varsa küme, tahminleri oturum bir kurban geri almak almak daha pahalı olduğu gibi çıkmaz öncelik Yüksek için örnek seçecektir.

  • Farklı bir çıkmaz öncelikleri oturumlara sahip, en düşük önceliğe çıkmaz oturumla çıkmaz kurban olarak seçilir.

küme DEADLOCK_PRIORITY ayarlamak yürütmek veya saat ve çözümleme saat değil.

İzinler

Üyelik gerektirir Ortak roldür.

Örnekler

Aşağıdaki örnek bir değişken çıkmaz önceliği ayarlamak 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