Sự hiểu biết của tôi về deadlocks là - hai quy trình cố gắng tranh giành cho cùng một tài nguyên - thường là hai quy trình cố gắng 'ghi' vào cùng một hàng dữ liệu. Nếu tất cả một tiến trình đang làm là đọc dữ liệu - và quá trình khác đang cập nhật dữ liệu, thì sự tranh chấp tài nguyên như thế nào? Tuy nhiên, trong cơ sở dữ liệu của chúng tôi, được đặt thành cấp độ giao dịch mặc định 'ReadCommitted', chúng tôi đang thấy một số ngoại lệ bế tắc. ReadComitted definitin - Dữ liệu đã được sửa đổi (nhưng chưa cam kết) không thể đọc được. Điều đó là tốt - nhưng SQL Server nên ném một ngoại lệ bế tắc nếu nó gặp phải 'đọc bẩn' này diễn ra? Bất kỳ ai có trải nghiệm thế giới thực với kịch bản này? Tôi tìm thấy một bài đăng trên blog (bởi nhà phát triển stackoverflow, không kém :) tuyên bố rằng điều này có thể đúng.Mức độ cách ly được đọc có bao giờ dẫn đến bế tắc (Sql Server) không?
Cảm ơn
Vâng - bạn đang mô tả hai giao dịch cập nhật. Trong trường hợp đó, nó có ý nghĩa để chạy vào bế tắc. Câu hỏi của tôi là - một trong những giao dịch chỉ là một READ - không cập nhật. Người kia đang viết cho cùng một bản ghi đang được đọc. Làm thế nào điều này có thể dẫn đến bế tắc? – user2736158
Vượt khỏi đỉnh đầu của tôi, điều đó không nên bế tắc nhưng nếu bạn chỉnh sửa câu hỏi với nhiều chi tiết hơn về những gì các giao dịch đang cố gắng thực hiện, chúng tôi có thể đến đáy của nó. – acfrancis