Triệu chứng
Giả định rằng bạn sử dụng Microsoft SQL Server 2014. Bạn có thể gặp phải hai vấn đề sau đây được bao gồm trong ghi chú phát hành SQL Server 2014:
-
Thiếu các chi tiết chỉ mục không có báo cáo không chính xác bao gồm các cột cho bộ nhớ-tối ưu hóavấn đề bảng: nếu SQL Server 2014 phát hiện một chỉ mục bị thiếu cho một truy vấn trên bảng tối ưu hóa bộ nhớ, nó sẽ báo cáo một chỉ mục bị thiếu trong SHOWPLAN_XML, cũng như trong chỉ mục bị thiếu dmvs chẳng hạn như sys.dm_db_missing_index_details. Trong một số trường hợp, chi tiết chỉ mục bị thiếu sẽ chứa các cột được bao gồm. Khi tất cả các cột đều được bao gồm trong tất cả các chỉ mục trên bảng tối ưu hóa bộ nhớ, nó không được phép để xác định rõ ràng bao gồm các cột có các chỉ mục được tối ưu hóa bộ nhớ.
-
Thiếu chi tiết chỉ mục bị bỏ qua chỉ mục nếu không có chỉ số băm tồn tại nhưng không phù hợp với sự cố truy vấn: nếu bạn có một chỉ mục băm trên các cột của bảng tối ưu hóa được tham chiếu trong một truy vấn, nhưng chỉ mục không thể được sử dụng cho truy vấn, SQL Server sys.dm_db_missing_index_details SHOWPLAN_XML 2014 Đặc biệt, nếu truy vấn có chứa các biểu thức bình đẳng liên quan đến một tập hợp con của các cột phím chỉ mục hoặc nếu nó chứa các biểu thức bất đẳng thức liên quan đến các cột phím chỉ mục, không thể sử dụng chỉ mục HASH và một chỉ mục khác sẽ được yêu cầu để thực thi truy vấn hiệu quả.
Nguyên nhân
Các vấn đề xảy ra vì lô-gic bị thiếu trong trình tối ưu truy vấn không phân biệt giữa các chỉ mục không thuộc nhóm truyền thống trên bảng dựa trên đĩa và các kiểu chỉ mục mới cho các bảng tối ưu hóa bộ nhớ.
Giải pháp
Trước tiên, các vấn đề đã được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Cập Nhật tích lũy 1 cho SQL Server 2014 /en-us/help/2931693
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 đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
Cách giải quyết
Để làm việc xung quanh các vấn đề này, hãy dùng giải pháp thay thế sau đây:
-
Giải pháp thay thế cho sự cố: thiếu chi tiết chỉ mục báo cáo không đúng bao gồm các cột dành cho bộ nhớ tối ưu hóa không chỉ định mệnh đề bao gồm với các chỉ mục trên bảng tối ưu hóa bộ nhớ.
-
Giải pháp thay thế cho sự cố: chi tiết chỉ mục bị bỏ sót bỏ lỡ chỉ mục nếu chỉ số băm tồn tại nhưng không phù hợp với trường hợp của bạn đang sử dụng hàm Hash, hãy kiểm tra các truy vấn và các gói truy vấn để xác định xem liệu các truy vấn có thể được hưởng lợi từ danh mục định danh bất bình đẳng. Nếu bạn cần tìm kiếm trên một tập hợp con của phím chỉ mục, sử dụng một chỉ mục không nhóm hoặc sử dụng chỉ mục BĂM trên chính xác các cột bạn cần tìm kiếm. Nếu bạn cần tìm kiếm bất bình đẳng, hãy sử dụng một chỉ mục không thuộc nhóm thay vì BĂM.
Lưu ý Giải pháp thay thế từ ghi chú phát hành SQL Server 2014
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".