Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Tại sao SET DEADLOCK_PRIORITY HIGH của SQL Server không được tôn trọng?

Có vẻ như lệnh đang bị hủy là một CHỨC NĂNG CỦA PHẦN THÊM, điều thú vị là điều này yêu cầu khóa SCH-M không tương thích với khóa SCH-S được sử dụng cho mọi thứ. Tôi đoán đây có thể là một nguyên nhân.

Xem michaeljswart.com/2013/04/the-sch -m-lock-is-evil .

Ngoài ra, hãy xem mô tả này về bế tắc SCH-M từ Hàm ALTER PARTITION và truy vấn gây ra cập nhật thống kê trong SQL 2014 &2016, nhưng cũng có thể đúng trong năm 2012:Deadlock Xảy ra khi bạn có được khóa SCH-M

Nhìn vào biểu đồ của bạn, một quy trình có khóa chia sẻ (cập nhật) trên sysschobjs và đang chờ khóa SCH-S trên bảng của bạn. Quy trình của bạn có khóa SCH-M trên bảng của bạn và đang đợi khóa X trên sysschobjs. sysschobjs là một bảng cơ sở hệ thống nằm sau sysobjects. Xem thảo luận tại đây Technet:Truy vấn SQL thường gây ra bế tắc

Hy vọng điều này sẽ giúp




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. datetimeoffset hibernate mapping

  2. Truy vấn chạy nhanh, nhưng chạy chậm trong thủ tục được lưu trữ

  3. Chèn 2 triệu hàng vào SQL Server nhanh chóng

  4. Làm cách nào để so sánh thời gian trong SQL Server?

  5. Cách xóa khoảng trắng theo sau trong SQL Server - RTRIM ()