Triệu chứng
Sau khi bạn cài đặt SQL Server 2014 gói dịch vụ 1 (SP1), SQL Server 2012 SP3 hoặc SQL Server 2016, bạn gặp phải hiệu suất truy vấn chậm và mức sử dụng CPU cho chế độ có đặc quyền (hạt nhân) cho đến khi máy chủ khởi động lại. Bạn cũng có thể thấy một lượng lớn PAGELATCH_ * đợi.
Giải pháp
Sự cố đã được khắc phục trong các bản Cập Nhật tích lũy sau đây của SQL Server:
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Nguyên nhân
SQL Server sử dụng chức năng chuyển phát và phân hủy các chốt động (Super/Sub-latch). Điều này sẽ cải thiện hiệu suất SQL Server và khả năng mở rộng bằng cách giữ theo dõi số lượng mua lại trên một chốt, và trong khoảng thời gian cần có để có được cùng một chốt nếu không có đối số đối đầu của chốt. Sau đó, các chốt được tăng cấp đủ điều kiện (siêu chốt) dựa trên mô hình này. Khi có nhiều thay đổi (các dấu/bản Cập Nhật/xóa) trên một đống hoặc BTree (HoBT), chốt kết hợp HoBT có thể được thăng thành trạng thái siêu kết xuất. Tuy nhiên, cuộc giáng cấp sẽ không tự động xảy ra. Bạn có thể đọc thêm về siêu/Sub-latching trong bài viết này. Nếu những bản sao này có vị trí mới sau này, thì HoBT Freed sẽ chuyển sang bộ đệm ẩn toàn cầu để được tái sử dụng. Khi HOBT được tái sử dụng, nó sẽ sử dụng lại chốt trước đó, ngay cả khi không có sự ganh đua nào trên HoBT. Điều này sẽ thêm khoảng không cho CPU. Hành vi này làm tăng mức sử dụng CPU của chế độ đặc quyền (hạt nhân) SQL Server cho đến khi máy chủ khởi động lại. Thông thường tăng này không quá nhiều microseconds với từng thực thi. Bạn cũng có thể thấy một lượng lớn PAGELATCH_ * đợi vì những siêu mở rộng này trên HoBTs.
Trạng thái
Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".