Aracılığıyla paylaş


Algılama ve kilitlenmeleri bitiş

Kalıcı olarak iki veya daha fazla görev olduğunda çıkmaz oluşuyor blok birbirlerine göre her görev diğer görevler kilitlemek için çalıştığınız bir kaynak kilit olması.Üst düzey görünümü, bir çıkmaz durumu nereye aşağıdaki grafik sunar:

  • Görev T1 (R1 dan T1 için okla) R1 kaynak kilit vardır ve (T1 dan R2 için okla) R2 kaynak üzerindeki kilit istedi.

  • Görev T2 (R2'den T2 için okla) R2 kaynak üzerindeki kilit sahiptir ve R1 (T2'den R1 için okla) kaynak üzerindeki kilit istedi.

  • İkisi de görev kadar göreve devam eder ne kaynak yayımlanan ve bir kaynağın kullanılabilir olduğu kadar devam edeceğinden bir çıkmaz durumu bulunmaktadır.

Kilitlenme durumundaki görevleri gösteren diyagram

The SQL Server Veritabanı Altyapısı automatically detects deadlock cycles within SQL Server.The Veritabanı Altyapısı chooses one of the sessions as a deadlock victim and the current transaction is terminated with an error to break the deadlock.

Kilitlenmeye kaynaklar

Her kullanıcı oturum nereye her görev Al veya çeşitli kaynaklar almak için beklemek kendi adına çalışan bir veya daha fazla görev olabilir.Aşağıdaki kaynak türlerini engelleme neden neden bir çıkmaz.

  • Kilitler.Almak için bekliyor kilitler nesneleri, sayfaları, satırları gibi kaynaklar üzerinde meta veriler ve uygulamalar neden olabilir çıkmaz.Örneğin, hareket T1 üzerinde satır r1 (s) paylaşılan kilit sahiptir ve R2'ye özel (x) kilidi almak için bekliyor.Hareket T2 sahip bir paylaşılan (s) kilit R2 ve bir özel (x) almak için beklediğini kilit satır r1 üzerinde.Bu sonuçlar , T1 ve T2 bekleyin birbirlerinin kilitlenmiş kaynakları serbest bırakmak bir Kilit döngüsü içinde.

  • İş parçacıkları.Bir kullanılabilir iş parçacığı neden olabilir için bir sıraya alınmış görev bekleyen çıkmaz.Sıraya alınan görev tüm alt iş parçacıklarını engelleyen kaynaklara sahipse bir çıkmaz neden olur.Örneğin, oturum S1 bir hareket başlatır ve paylaşılan (s) edinme kilit satır r1 ve uyku gider.Etkin oturumları tüm kullanılabilir çalışan iş parçacığı üzerinde çalışan özel (x) satır r1 üzerinde kilitleri almaya çalışıyorsunuz.Oturum S1 bir çalışan iş parçacığı edinemez çünkü olamaz yürütme hareket ve yayın satır r1 üzerinde kilit.Bu sonuçlar bir kilitlenme içinde.

  • Bellek.Eş zamanlı istekler için kullanılabilir bellek ile karşılanan bellek verir bekleyen çıkmaz oluşabilir.Örneğin, iki eşzamanlı sorguları, S1 ve S2, sırasıyla 10 mb ve 20 mb belleğe alma kullanıcı tanımlı fonksiyonlar yürütmek.Her sorgu 30 mb gerekiyor ve toplam kullanılabilir bellek 20 MB'dir, sonra S1 ve S2 beklemesi gereken birbirlerinin bellek ve bu serbest bırakmak, sonuçlar bir kilitlenme içinde.

  • Paralel sorgu yürütme ile ilgili kaynakları exchange bağlantı noktası ile ilişkili koordinatörü, producer veya tüketici iş parçacığı her diğer neden engelleyin bir çıkmaz genellikle ne zaman en az bir diğer dahil olmak üzere işlem yani paralel sorgu parçası değil.Ayrıca, bir paralel sorgu başladığında yürütme, SQL Server belirler ölçüde parallelism, ya da işçi iş parçacığı, dayalı geçerli bir iş yükü.Sistem yükünü beklenmedik bir şekilde, örneğin, burada sunucu üzerinde çalışan yeni sorgular başlatmak veya dışında çalışan iş parçacıkları, sistem çalışır değişirse bir çıkmaz ortaya çıkabilecek.

  • Birden çok etkin sonuç kümeleri (mars) kaynakları.Bu kaynaklar, mars altında etkin birden çok istek Transparency denetlemek için kullanılır (bkz: Toplu iş yürütme ortamı ve mars).

    • Kullanıcı kaynak.iş parçacığı kullanıcı uygulama tarafından kontrol edilir kaynak için bekleyen kaynak dış veya kullanıcı kaynak olarak kabul edilir ve kilit gibi işlem görür.

    • Oturum mutex.Tek bir görevin belirli saat içinde oturum altında çalıştırabilirsiniz anlamına gelen tek bir oturumda çalışan görevler Aralanmış.Görevi çalıştırmak için önce oturum mutex özel kullanım erişimi olması gerekir.

    • Hareket mutex.Tek bir işlemle çalışan tüm görevleri, görevin tek bir hareket altında çalıştırabilirsiniz anlamına gelen Aralanmış bir verilen saat.Görevi çalıştırmak için önce hareket mutex özel kullanım erişimi olması gerekir.

    mars altında çalışacak bir görev, oturum mutex edinmeniz gerekir.Görev işlem altında çalışıyorsa, hareket mutex edinmeniz gerekir.Bu, yalnızca bir görev etkin olduğu tek tek garanti eder saat belirli bir oturum ve belirli bir hareket.Gerekli zaman uyumu sağlayıcılar alımları sonra görev için yürütmek.Ne zaman görev tamamlanmadan veya istek ortasında sayıları, onu ilk hareket mutex alım, ters sırada oturum mutex tarafından izlenen serbest bırakır.Ancak, bu kaynaklar ile kilitlenmeleri oluşabilir.Aşağıdaki kod örneği, iki görevi, kullanıcının isteği U1 ve U2 kullanıcı isteği, aynı şekilde çalışan oturum.

    U1:    Rs1=Command1.Execute("insert sometable EXEC usp_someproc");
    U2:    Rs2=Command2.Execute("select colA from sometable");
    

    saklı yordam U1 oturum zaman uyumu sağlayıcısı alınan kullanıcı isteği yürütülürken.Saklı yordamı yürütmek için saat alıyor, onu tarafından kabul edilir Veritabanı Altyapısı saklı yordam bekleyen giriş kullanıcı.Kullanıcı isteği U2 kullanıcı için beklediği sırada oturum zaman uyumu sağlayıcısı için bekleyen sonuç küme , U2'dan ve U1 kullanıcı kaynak için bekliyor.Bu çıkmaz durumu mantıksal olarak gösterildiği gibidir:

Kullanıcı işlemi kilitlenmesini gösteren mantık diyagramı.

Karşılıklı kilitlenme algılaması

Katılan tüm yukarıdaki bölümde listelenen kaynaklar Veritabanı Altyapısı çıkmaz algılama düzeni.Tarafından düzenli olarak tüm görevleri içinde arama başlatan bir kilit izleme iş parçacığı kilitlenme algılaması gerçekleştirilir bir örnek , Veritabanı Altyapısı.Aşağıdaki noktaları arama işlemini açıklar:

  • Aralığı için varsayılan değer 5 saniyedir.

  • Kilit izleme iş parçacığı çıkmaz bulursa, çıkmaz algılama aralığı için 5 saniyeden drop 100 milisaniye kilitlenmeleri sıklığı bağlı olarak düşük.

  • Kilit izleme iş parçacığı kilitlenme, bulma durursa Veritabanı Altyapısı aramaları arasındaki aralıkları artırır5 saniye. için

  • Yalnızca bir çıkmaz algılandı, kilit için beklemesi gereken sonraki iş parçacığı çıkmaz döngüsü girmekte olduğunuz varsayılır.Kilit beklediği bir çıkmaz algılandı sonra kelimenin ilk hemen bir çıkmaz arama tetiklemek yerine İleri çıkmaz algılama aralığı için bekleyin.Örneğin, geçerli aralık 5 saniyede bir çıkmaz hemen tespit edildi ise, sonraki kilit wait çıkmaz algılayıcısı hemen kick.Bu kilit bekleme çıkmaz parçası ise, hemen yerine sonraki çıkmaz arama sırasında algılanacaktır.

The Veritabanı Altyapısı typically performs periodic deadlock detection only.Sistemde karşılaşılan tıkanma sayısı genellikle küçük olduğu için dönemsel çıkmaz algılaması sisteminde çıkmaz algılama yükü azaltmak için yardımcı olur.

Belirli bir iş parçacığı çıkmaz arama kilit İzleyicisi'ni başlattığında, iş parçacığı bekleyen kaynak tanımlar.Kilit İzleyicisi sonra o özellikle için sahibi görüntülemenize bulur kaynak ve bir döngü bulana kadar yinelemeli olarak eder bu iş parçacığı çıkmaz arayın.Bu şekilde tanımlanan bir döngüsü bir çıkmaz oluşturur.

çıkmaz algılandıktan sonra Veritabanı Altyapısı bir iş parçacığı çıkmaz seçerek bir çıkmaz sona kurban.The Veritabanı Altyapısı terminates the current batch being executed for the thread, rolls back the transaction of the deadlock victim, and returns a 1205 error to the application.Hareket çıkmaz için geri kurban hareket tarafından tutulan tüm kilitleri serbest bırakır.Bu hareketleri engellenmemiş hale gelir ve devam etmek için başka bir iş verir.1205 çıkmaz kurban hata hata günlüğüne iş parçacıkları ve bir çıkmazyle ilgili kaynaklar hakkındaki bilgileri kaydeder.

Varsayılan olarak, Veritabanı Altyapısı çıkmaz seçer kurban ucuz geri almak almak dönme hareketi çalıştıran oturumuAlternatif olarak, bir kullanıcı oturumları önceliğini AYARLAMAK DEADLOCK_PRIORITY kullanarak bir çıkmaz durumu belirtebilirsiniz deyim.DEADLOCK_PRIORITY olabilir küme için yüksek, normal veya düşük veya alternatif olabilir küme için herhangi bir tamsayı değer aralığında (10 -10).çıkmaz önceliği normal olarak varsayılan.Farklı bir çıkmaz öncelikleri iki oturumu varsa, daha düşük önceliğe sahip oturum çıkmaz seçilen kurban.Her iki oturumu aynı çıkmaz önceliği varsa, oturum geri almak almak dönmek en ucuz hareketi ile seçilir.Oturumlar çıkmaz döngüsünde yer alan aynı çıkmaz önceliği ve aynı maliyet, kurban rasgele seçilir.

clr ile çalışırken, çıkmaz Monitörü içinde yönetilen yordamları erişilen çıkmaz (monitör, Okuyucu/Yazıcı kilit ve iş parçacığı birleştirmek) eşitleme kaynaklar için otomatik olarak algılar.Ancak, çıkmaz olarak seçildi yordamda özel durum üretiliyor tarafından çıkmaz çözülür kurban.Özel durumu otomatik olarak şu anda kurban tarafından sahip olunan kaynakları serbest bırakmıyor olduğunu bilmek önemlidir; açıkça kaynakları serbest bırakılacak.çıkmaz tanımlamak için kullanılan özel durum davranışı ile tutarlı, özel durum kurban yakalandı ve atlamamış.

Kilitlenme bilgileri Araçlar

çıkmaz bilgileri görüntülemek için Veritabanı Altyapısı iki izleme bayrakları, form ve çıkmaz graph olay izleme araçları sağlar SQL Server Profiler.

İzleme bayrağı 1204 ve izleme bayrağı 1222

Kilitlenme ortaya çıktığında, yakalanan 1222 bilgisidir izleme bayrağı 1204 ve izleme bayrağı SQL Server 2005 hata günlüğü.Her düğüm kilitlenmeyle ilgili olarak biçimlendirilmiş bayrağı 1204 raporları çıkmaz bilgileri izleme.Bayrağı 1222 biçimleri çıkmaz bilgi, ilk işlemlerin ardından göre kaynakları izlemek.çıkmaz olay iki sunumu elde etmek her iki izleme bayrakları etkinleştirmek mümkündür.

İzleme bayrağı 1204 ve 1222, aşağıdaki özelliklerini tanımlayan ek olarak tablo de benzerlikler ve farklılıklar gösterir.

Özellik

İzleme bayrağı 1204 ve izleme bayrağı 1222

Yalnızca izleme bayrağı 1204

Yalnızca izleme bayrağı 1222

Çıktı biçimi

Çıktı yakalanan SQL Server 2005 hata günlüğü.

Katılan düğüm üzerinde odaklanmış çıkmaz.Her düğümün ayrılmış bir bölüm olması ve son bölüm çıkmaz açıklar kurban.

Bilgi için bir xml şema tanımı (xsd) şema uyan bir xml benzeri biçiminde döndürür.Biçim üç ana bölümden oluşur.İlk bölüm çıkmaz bildirir kurban.İkinci bölümde her katılan anlatılmaktadır çıkmaz.Üçüncü bölüm izleme bayrağı 1204 düğümler ile eşanlamlı olan kaynakları açıklar.

Öznitelikler tanımlama

SPID:<x> ECID:<x>. Sistem işlem kimliği iş parçacığı durumlarda paralel işlemleri tanımlar.Giriş SPID:<x> ECID:0, nerede <x> SPID değeri ile değiştirilir, temsil ettiği ana iş parçacığı.Giriş SPID:<x> ECID:<y>, nerede <x> SPID değeri değiştirilir ve <y> için sub-threads temsil eden, 0'dan büyükaynı SPID.

BatchID (sbid için izleme bayrağı 1222).Hangi kod yürütülmesine isteyen veya kilit tutan toplu iş iş tanımlar.Birden çok etkin sonuç kümeleri (mars) devre dışı bırakıldığında, BatchID değeri 0'dır.mars etkin olduğunda, etkin toplu işlemleri için 1'e değerdir n.Oturum sırasında hiçbir etkin toplu işlemleri varsa, BatchID 0'dır.

Mod.Türünü belirtir kilit olan talep, verilen veya bir iş parçacığı tarafından bekledi belirli bir kaynak için.Is (paylaşılan amacı), s (paylaşılan), u (güncelleştirme), IX (amacı özel), altı modu olabilir (özel amacı ile paylaşılan) ve x (özel).Daha fazla bilgi için bkz: Kilit modları.

Satır # (Hat için izleme bayrağı 1222).çıkmaz oluştuğunda yürütülmekte olan geçerli toplu iş iş deyimleri satır numarasını listeler.

Arabelleğe giriş (inputbuf için izleme bayrağı 1222).Geçerli toplu iş deyimlerinde tüm listeler.

Düğüm.çıkmaz zincirindeki giriş numarasını gösterir.

Listeler.kilit Sahibi, bu listeler parçası olabilir:

  • Liste Ver.Geçerli sahipleri sıralar kaynak.

  • Listeyi dönüştürme.Bunların kilitleri yüksek bir dönüştürmeye çalıştığınız geçerli sahipleri sıralar düzey.

  • Bekleme listesi.Yeni kilit istekleri için geçerli sıralar kaynak.

Deyimi türü.İş parçacığı izinleri olan dml deyim (select, INSERT, update veya delete) türünü açıklar.

Kurban kaynak sahibi.Katılan iş parçacığı belirtir SQL Server seçer kurban kesilebilir çıkmaz döngüsü.Seçilen iş parçacığı ve varolan tüm sub-threads sona erdirilir.

Sonraki dallanma.İki veya daha fazla sub-threads çıkmaz döngüsünde dahil aynı SPID tarafından temsil eder.

çıkmaz kurban.Görevin olan fiziksel bellek adresini temsil eder (bkz: sys.dm_os_tasks (Transact-sql)) bir çıkmaz seçilmiş kurban.0 (Sıfır) durumunda, çözülmemiş bir olabilir çıkmaz.Geri alma bir görev çıkmaz seçilen olamaz kurban.

executionstack.Temsil eden Transact-SQL adresinde yürütülen kod saat çıkmaz oluşuyor.

öncelik.çıkmaz önceliği gösterir.Belirli durumlarda, Veritabanı Altyapısı kısa bir süre elde etmek çıkmaz önceliği değiştirmek için kabuldaha iyi eşzamanlılık.

logused.Görev tarafından kullanılan alanı.

sahip kimliği.İstek denetimi olan hareketin kimliği.

Durum.Görevin durumu.Aşağıdaki değerlerden biridir:

  • Bekleyen.Bir iş parçacığı için bekleniyor.

  • runnable.Çalışma, ancak bir kuantum için bekleyen hazır.

  • çalışan.Zamanlayıcı üzerinde çalışmakta.

  • askıya.Çalışması askıya alınır.

  • yapılan.Görev tamamlandı.

  • Döngüsel beklemeye neden oluyor.Bir sayaç kilidi serbest hale gelmesini bekliyor.

waitresource.Kaynak tarafından görev gerekli.

waittime.Kaynak için bekleyen milisaniye olarak geçen zaman.

schedulerid.Bu görevle ilişkili Zamanlayıcısı.See sys.dm_os_schedulers (Transact-sql).

ana bilgisayar adı.Adı iş istasyonu.

IsolationLevel.Geçerli işlem yalıtım düzey.

Xactid.İstek denetimi olan hareketin kimliği.

CurrentDB.Veritabanı kimliği.

lastbatchstarted.Son saat bir istemci işlemi toplu iş yürütme başladı.

lastbatchcompleted.Son saat bir istemci işlemi tamamlandı toplu iş yürütme.

clientoption1 ve clientoption2.Bu istemci bağlantı seçeneklerini ayarlayın.set nocount ve xactabort AYARLAMAK gibi set ifadeleri tarafından genellikle kontrol seçenekleri hakkında bilgi içeren bir bit maskesi budur.

associatedObjectId.HoBT (yığın veya b-ağaç) abir ilikisi yoktur.

Kaynak nitelikleri

RID.Tek bir satır üzerinde bir kilit tutulan veya istenen bir tablo içinde tanımlar.RID RID temsil: db_id:file_id:page_no:row_no.Örneğin, RID: 6:1:20789:0.

Nesne.Tablo üzerinde bir kilit tutulan veya istenen tanımlar.NESNENİN nesne olarak temsil: db_id:object_id.Örneğin, TAB: 6:2009058193.

KEY.Anahtar aralık üzerinde kilit tutulan veya istenen dizin içinde tanımlar.ANAHTAR anahtar olarak temsil edilir: db_id:hobt_id (index key hash value).For example, KEY: 6:72057594057457664 (350007a4d329).

PAG.Üzerinde bir kilit tutulan veya istenen sayfa kaynak tanımlar.pag pag temsil edilir: db_id:file_id:page_no.For example, PAG: 6:1:20789.

EXT.Tanımlar kapsam yapısı.UZN UZN temsil edilir: db_id:file_id:extent_no.For example, EXT: 6:1:9.

DB.Veritabanını tanımlayan kilit.db aşağıdaki yollardan biriyle gösterilir:

  • DB: db_id

  • DB: db_id[Toplu-op-db], veritabanını tanımlayan kilit yedek veritabanı tarafından alınmış.

  • DB: db_id[Toplu-op-log] tanımladığı kilit o belirli bir veritabanı için yedek günlüğü tarafından alınmış.

APP.Tanımlar kilit bir uygulama kaynak tarafından alınır.Uygulama, uygulama olarak temsil edilir: lock_resource.For example, APP: Formf370f478.

Meta veriler.meta veriler kaynakları katılan temsil eden bir çıkmaz.Meta verileri çok sayıda subresources sahip olduğundan, döndürülen değeri kilitli subresource bağlıdır.For example, METADATA.USER_TYPE returns user_type_id = <integer_value>.Meta veri kaynakları ve subresources hakkında daha fazla bilgi için bkz: sys.dm_tran_locks (Transact-sql).

hobt.Bir yığın veya b-ağaç söz konusu temsil eder bir çıkmaz.

Hiçbiri bu izleme bayrağı için özel.

Hiçbiri bu izleme bayrağı için özel.

İzleme bayrağı 1204 örneği

İzleme bayrağı 1204 açık olduğunda aşağıdaki örnek gösterir.Bu durum, düğüm 1 tabloda dizin ile bir yığın ve düğüm 2'deki tablo kümelenmemiş dizin olan bir yığın.çıkmaz ortaya çıktığında, düğüm 2'deki dizin anahtar güncelleştiriliyor.

Deadlock encountered .... Printing deadlock information
Wait-for graph

Node:1

RID: 6:1:20789:0               CleanCnt:3 Mode:X Flags: 0x2
 Grant List 0:
   Owner:0x0315D6A0 Mode: X        
     Flg:0x0 Ref:0 Life:02000000 SPID:55 ECID:0 XactLockInfo: 0x04D9E27C
   SPID: 55 ECID: 0 Statement Type: UPDATE Line #: 6
   Input Buf: Language Event: 
BEGIN TRANSACTION
   EXEC usp_p2
 Requested By: 
   ResType:LockOwner Stype:'OR'Xdes:0x03A3DAD0 
     Mode: U SPID:54 BatchID:0 ECID:0 TaskProxy:(0x04976374) Value:0x315d200 Cost:(0/868)

Node:2

KEY: 6:72057594057457664 (350007a4d329) CleanCnt:2 Mode:X Flags: 0x0
 Grant List 0:
   Owner:0x0315D140 Mode: X        
     Flg:0x0 Ref:0 Life:02000000 SPID:54 ECID:0 XactLockInfo: 0x03A3DAF4
   SPID: 54 ECID: 0 Statement Type: UPDATE Line #: 6
   Input Buf: Language Event: 
     BEGIN TRANSACTION
       EXEC usp_p1
 Requested By: 
   ResType:LockOwner Stype:'OR'Xdes:0x04D9E258 
     Mode: U SPID:55 BatchID:0 ECID:0 TaskProxy:(0x0475E374) Value:0x315d4a0 Cost:(0/380)

Victim Resource Owner:
 ResType:LockOwner Stype:'OR'Xdes:0x04D9E258 
     Mode: U SPID:55 BatchID:0 ECID:0 TaskProxy:(0x0475E374) Value:0x315d4a0 Cost:(0/380)

İzleme bayrağı 1222 örneği

İzleme bayrağı 1222 açık olduğunda aşağıdaki örnek gösterir.Bu durum, bir tablo, dizin ile yığın ise diğer tablo kümelenmemiş dizin olan bir yığın.İkinci tablo, çıkmaz ortaya çıktığında, dizin anahtar güncelleştiriliyor.

deadlock-list
 deadlock victim=process689978
  process-list
   process id=process6891f8 taskpriority=0 logused=868 
   waitresource=RID: 6:1:20789:0 waittime=1359 ownerId=310444 
   transactionname=user_transaction 
   lasttranstarted=2005-09-05T11:22:42.733 XDES=0x3a3dad0 
   lockMode=U schedulerid=1 kpid=1952 status=suspended spid=54 
   sbid=0 ecid=0 priority=0 transcount=2 
   lastbatchstarted=2005-09-05T11:22:42.733 
   lastbatchcompleted=2005-09-05T11:22:42.733 
   clientapp=Microsoft SQL Server Management Studio - Query 
   hostname=TEST_SERVER hostpid=2216 loginname=DOMAIN\user 
   isolationlevel=read committed (2) xactid=310444 currentdb=6 
   lockTimeout=4294967295 clientoption1=671090784 clientoption2=390200
    executionStack
     frame procname=AdventureWorks2008R2.dbo.usp_p1 line=6 stmtstart=202 
     sqlhandle=0x0300060013e6446b027cbb00c69600000100000000000000
     UPDATE T2 SET COL1 = 3 WHERE COL1 = 1;     
     frame procname=adhoc line=3 stmtstart=44 
     sqlhandle=0x01000600856aa70f503b8104000000000000000000000000
     EXEC usp_p1     
    inputbuf
      BEGIN TRANSACTION
       EXEC usp_p1
   process id=process689978 taskpriority=0 logused=380 
   waitresource=KEY: 6:72057594057457664 (350007a4d329)   
   waittime=5015 ownerId=310462 transactionname=user_transaction 
   lasttranstarted=2005-09-05T11:22:44.077 XDES=0x4d9e258 lockMode=U 
   schedulerid=1 kpid=3024 status=suspended spid=55 sbid=0 ecid=0 
   priority=0 transcount=2 lastbatchstarted=2005-09-05T11:22:44.077 
   lastbatchcompleted=2005-09-05T11:22:44.077 
   clientapp=Microsoft SQL Server Management Studio - Query 
   hostname=TEST_SERVER hostpid=2216 loginname=DOMAIN\user 
   isolationlevel=read committed (2) xactid=310462 currentdb=6 
   lockTimeout=4294967295 clientoption1=671090784 clientoption2=390200
    executionStack
     frame procname=AdventureWorks2008R2.dbo.usp_p2 line=6 stmtstart=200 
     sqlhandle=0x030006004c0a396c027cbb00c69600000100000000000000
     UPDATE T1 SET COL1 = 4 WHERE COL1 = 1;     
     frame procname=adhoc line=3 stmtstart=44 
     sqlhandle=0x01000600d688e709b85f8904000000000000000000000000
     EXEC usp_p2     
    inputbuf
      BEGIN TRANSACTION
        EXEC usp_p2    
  resource-list
   ridlock fileid=1 pageid=20789 dbid=6 objectname=AdventureWorks2008R2.dbo.T2 
   id=lock3136940 mode=X associatedObjectId=72057594057392128
    owner-list
     owner id=process689978 mode=X
    waiter-list
     waiter id=process6891f8 mode=U requestType=wait
   keylock hobtid=72057594057457664 dbid=6 objectname=AdventureWorks2008R2.dbo.T1 
   indexname=nci_T1_COL1 id=lock3136fc0 mode=X 
   associatedObjectId=72057594057457664
    owner-list
     owner id=process6891f8 mode=X
    waiter-list
     waiter id=process689978 mode=U requestType=wait

Profiler kilitlenme Graph olay

Bu bir olay, SQL Server Profiler halinde sunan bir grafik gösterimi görevleri ve kaynakları katılan çıkmaz.Aşağıdaki örnek çıktılarını gösterir SQL Server Profiler ne zaman çıkmaz graph olay açık.

Kullanıcı işlemi kilitlenmesini gösteren mantık akış diyagramı.

Çalıştırma hakkında daha fazla bilgi için SQL Server Profiler çıkmaz , graph Bkz: sql Server Profiler ile Kilitlenme Çözümleme.