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
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te SQL veritabanı
Şey
| Öznitelik | Değer |
|---|---|
| Ürün Adı | SQL Server |
| Olay Kimliği | 1205 |
| Olay Kaynağı | MSSQLSERVER |
| Parça | SQLEngine |
| Sembolik Ad | LK_VICTIM |
| İleti Metni | İşlem (İşlem Kimliği %d) %.*ls kaynaklarında başka bir işlemle kilitlendi ve kilitlenme kurbanı olarak seçildi. İşlemi yeniden çalıştırın. |
Açıklama
Kaynaklara ayrı işlemlerde çakışan sırada erişilir ve
-
Transaction1güncelleştirmeleriTable1.Row1İşlem2 güncelleştirmeleriTable2.Row2 -
Transaction1Table2.Row2güncelleştirmeyi dener, ancakTransaction2henüz işlemediği ve kilitlerini serbest bırakmadığı için engellenir - transaction2 artık
Table1.Row1güncelleştirmeye çalışıyor ancakTransaction1işlemediği ve kilitlerini açmadığı için engelleniyor -
Transaction1Transaction2tamamlanmasını beklediği, ancakTransaction2Transaction1tamamlanmasını beklediği için kilitlenme oluşur.
Sistem bu kilitlenmeyi algılar ve
Kullanıcı eylemi
Kilitlenmeler çoğu durumda uygulamayla ilgili sorunlardır ve uygulama geliştiricilerinin kod değişiklikleri yapmasını gerektirir. 1205 hatasını aldığınızda bir yaklaşım sorguları yeniden yürütmektir. Daha fazla bilgi için bkz. Geliştiriciler için Kilitlenme Simülatörü uygulaması : UygulamanızSQL Kilitlenme sorununu işleme.
Kilitlenmeleri önlemek için uygulamayı da düzeltebilirsiniz. Kurban olarak seçilen işlem yeniden denenebilir ve aynı anda yürütülmekte olan işlemlere bağlı olarak büyük olasılıkla başarılı olur.
Kilitlenmelerin oluşmasını önlemek veya önlemek için, tüm işlemlerin satırlara aynı sırada erişmesini (Table1, ardından Table2) göz önünde bulundurun. Bu şekilde engelleme gerçekleşse de kilitlenme önlenir.
Daha fazla bilgi için bkz. Kilitlenmeleri İşleme ve Kilitlenmeleri en aza indirme.