KB4538688 - KHẮC PHỤC: Tranh chấp spinlock nghiêm trọng xảy ra trong SQL Server 2019

Áp dụng cho
SQL Server 2019 on Windows SQL Server 2019 on Linux

Tóm tắt

Các môi trường chạy một lượng lớn giao dịch cơ sở dữ liệu trên phiên bản Microsoft SQL Server 2019 có thể tạo ra sự cạnh nhau nghiêm trọng của spinlock. Tranh chấp này thường được quan sát thấy trên các hệ thống cao cấp sử dụng bộ xử lý thế hệ mới hơn.

Có thể quan sát thấy các điều kiện sau liên quan đến tranh chấp khóa spinlock nghiêm trọng:

  • Thường thấy trên phần cứng hiện đại, đặc biệt là bộ vi xử lý Intel Skylake. Nó cũng có thể được quan sát thấy trên các bộ xử lý hiện đại khác.
  • Thường được quan sát thấy trên các hệ thống có nhiều bộ xử lý.
  • Các môi trường có thể có nhiều người dùng đồng thời hơn, chẳng hạn như khối lượng công việc giao dịch cao, có nhiệm vụ quan trọng.
  • Các triệu chứng bao gồm mức sử dụng CPU cao đột ngột, nhiều lần quay và sự kiện lùi đối với một loại khóa xoay cụ thể cũng như số lần quay cao hơn cho mỗi lần va chạm.

Trạng thái

Microsoft đã xác nhận rằng đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong mục "áp dụng cho".

Giải pháp

Cải tiến khóa quay lần đầu tiên được đưa ra trong Bản cập nhật tích lũy 2 cho SQL Server 2019. Các cải tiến bổ sung đã được thực hiện trong các bản cập nhật tích lũy sau đây cho SQL Server:

Chúng tôi khuyên bạn nên áp dụng bản cập nhật tích lũy mới nhất trong danh sách này để giải quyết các sự cố tranh chấp spinlock khác nhau.

Quan trọng: Để có thể khắc phục sự cố spinlock, cờ theo dõi 8101 phải được kích hoạt sau khi bạn áp dụng một trong các CU từ danh sách này. 
 

Giới thiệu về các bản cập nhật tích lũy cho SQL Server

Mỗi bản cập nhật tích lũy mới dành cho SQL Server chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp trong bản cập nhật tích lũy trước đó. Xem các bản cập nhật tích lũy mới nhất cho SQL Server:

Khắc phục sự cố

Để khắc phục sự cố tranh chấp spinlock, hãy xem các bài viết sau để biết thông tin chuyên sâu về cách xác định và giải quyết các sự cố liên quan đến việc tranh chấp spinlock và CPU cao trong các ứng dụng SQL Server:

Tham khảo

Tìm hiểu về thuật ngữ mà Microsoft dùng để mô tả các bản cập nhật phần mềm.

sys.dm_os_spinlock_stats (Transact-SQL) | Microsoft Learn

DBCC TRACEON - Cờ Theo dõi (Transact-SQL)

Tuyên bố từ chối trách nhiệm thông tin của bên thứ ba

Các sản phẩm của bên thứ ba thảo luận trong bài viết này được sản xuất bởi những công ty độc lập với Microsoft. Microsoft không đưa ra sự đảm bảo, dù là ngụ ý hay theo một hình thức khác, về hiệu suất hoặc mức độ tin cậy của những sản phẩm này.