KB2926712 - KHẮC PHỤC: Hiệu suất giảm sau khi ALTER INDEX... Hoạt động ONLINE bị hủy bỏ SQL Server năm 2012 hoặc SQL Server 2014

Áp dụng cho
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Express SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Triệu chứng

Hãy cân nhắc các trường hợp sau:

  • Bạn chạy ALTER INDEX ... Truy vấn TRỰC TUYẾN trong Microsoft SQL Server 2012 hoặc SQL Server 2014.
  • Truy vấn này bị hủy bỏ do đình trệ hoặc do người dùng khởi tạo hành động, chẳng hạn như chạy lệnh giết hoặc hủy bỏ truy vấn.

Trong trường hợp này, bất kỳ thao tác DML nào phải sử dụng siêu dữ liệu chỉ mục bị chặn hoặc mất nhiều thời gian để hoàn tất.

Ngoài ra, bạn có thể gặp các triệu chứng sau đây:

  • Giá trị nâng cao cho kiểu PWAIT_MD_RELATION_CACHE hoặc MD_LAZYCACHE_RWLOCK khi bạn truy vấn dạng xem quản lý động sys.dm_os_wait_stats và sys.dm_exec_requests động (DMV)
  • Giá trị nâng cao cho SOS_RW phải chờ khi bạn truy vấn sys.dm_os_spinlock_stats DMV

Vấn đề này thường được quan sát như một đoàn xe tải khóa xảy ra khi mỗi truy vấn DML mới từ từ xóa các đối tượng đồng bộ hóa. Do tính chất chờ đợi của các đối tượng đồng bộ hóa, việc sử dụng CPU thường được giới hạn.

Giải pháp

Thông tin cập nhật tích lũy

Sự cố này đã được khắc phục lần đầu trong bản cập nhật tích lũy sau đây của SQL Server.

Bản cập nhật tích lũy 1 cho SQL Server 2014 /en-us/help/2931693

Bản cập nhật tích lũy 9 cho SQL Server 2012 SP1 /en-us/help/2931078

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 sẽ chứa tất cả các bản cập nhật nóng và tất cả các bản sửa lỗi bảo mật được bao gồm 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 dành cho doanh SQL Server:

      

Thông tin cập nhật nóng
 Hotfix được hỗ trợ có sẵn từ Microsoft. Tuy nhiên, hotfix này là nhằm sửa chữa chỉ vấn đề được mô tả trong bài viết này. Áp dụng hotfix này chỉ cho hệ thống đang gặp vấn đề cụ thể này.

Nếu bản cập nhật nóng có sẵn để tải xuống thì có mục "Tải xuống Bản cập nhật nóng Sẵn dùng" ở đầu bài viết Cơ sở Kiến thức này. Nếu phần này không xuất hiện, hãy gửi yêu cầu đến Bộ phận Dịch vụ khách hàng và Hỗ trợ Khách hàng của Microsoft để nhận cập nhật nóng.

Lưu ý Nếu sự cố khác xảy ra hoặc nếu cần khắc phục sự cố bất kỳ, bạn có thể phải tạo một yêu cầu dịch vụ riêng biệt. Chi phí hỗ trợ thông thường sẽ áp dụng cho các câu hỏi và sự cố hỗ trợ bổ sung không đủ điều kiện cho hotfix cụ thể này. Để có danh sách đầy đủ các số điện thoại của Bộ phận Dịch vụ Khách hàng và Hỗ trợ của Microsoft hoặc để tạo yêu cầu dịch vụ riêng, hãy truy cập trang web sau của Microsoft:

http://support.microsoft.com/contactus/?ws=support Lưu ý Biểu mẫu "Tải xuống Cập nhật nóng" hiển thị các ngôn ngữ mà hotfix có sẵn. Nếu bạn không thấy ngôn ngữ của mình, đó là vì bản cập nhật nóng không có sẵn cho ngôn ngữ đó.

Quan trọng Sau khi bạn áp dụng hotfix này, ALTER INDEX ... Truy vấn TRỰC TUYẾN có thể bị hủy bỏ mà không làm giảm hiệu suất của SQL Server.

Giải pháp thay thế

Để khắc phục vấn đề này, bạn có thể xả mục nhập siêu dữ liệu để ngăn đoàn tàu khóa và các chu kỳ biên dịch lại tiềm năng làm giảm hiệu suất truy vấn. Để thực hiện điều này, hãy sử dụng một trong các phương pháp sau đây để giúp tuôn ra mục nhập siêu dữ liệu:

  • Khởi động lại phiên bản SQL Server 2012 hoặc SQL Server 2014.
  • Đưa cơ sở dữ liệu có vấn đề vào trạng thái ngoại tuyến, rồi đưa cơ sở dữ liệu trực tuyến trở lại.

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".