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

Khóa gì | tài nguyên bộ đệm truyền thông có nghĩa là?

Tôi sẽ giải thích thông báo dưới dạng bế tắc trên một số kết hợp tài nguyên Khóa hoặc tài nguyên Bộ đệm giao tiếp. "Tài nguyên khóa" là các khóa đối tượng thông thường và "Tài nguyên bộ đệm giao tiếp" là các ExchangeEvents được sử dụng để kết hợp các kết quả của các truy vấn song song. Chúng được mô tả thêm trong https://blogs.msdn.microsoft.com/bartd/2008/09/24/todays-annoyingly-unwieldy-term-intra-query-parallel-thread-deadlocks/ đoạn có liên quan ở đâu:

Biểu đồ bế tắc cho một trong số những quy trình này mà tôi đã thấy bao gồm một tập hợp các quy trình chỉ có một SPID và một biểu đồ gồm các đối tượng và ExchangeEvents. Tôi đoán thông báo "Giao dịch (Process ID 55) đã bị khóa khi khóa | tài nguyên bộ đệm giao tiếp với một quy trình khác và đã được chọn làm nạn nhân của khóa chết. Chạy lại giao dịch" xuất hiện thay vì "Tính năng song song truy vấn nội bộ khiến lệnh máy chủ của bạn (ID quy trình # 51) bị bế tắc. Chạy lại truy vấn mà không có tính năng song song truy vấn nội bộ bằng cách sử dụng tùy chọn gợi ý truy vấn (maxdop 1)" do sự kết hợp của objectlocks và exchangeevents, hoặc thông báo khác đã bị thay đổi trong SQL Server kể từ khi bài viết được viết.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để nhận được truy vấn nhóm SQL biểu mẫu hàng đầu tiên?

  2. FREETEXTTABLE luôn có thứ hạng 0

  3. Sử dụng NOLOCK Hint trong EF4?

  4. SQL Server Parallel Backup Restore -1

  5. Làm thế nào để thực thi một thủ tục được lưu trữ MSSQL với Thư viện PHP ADOdb?