Applies ToSQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2016 Service Pack 1 SQL Server 2017 on Windows (all editions)

Triệu chứng

Theo mặc định, các điểm kiểm tra gián tiếp được bật cho cơ sở dữ liệu tempdb trong Microsoft SQL Server 2016 và 2017. Trong điều kiện khối lượng công việc nặng, lỗi "Bộ lập lịch không sản lượng" có thể xảy ra và DMV sys.dm_os_spinlock_stats cho thấy sự cạnh nhau spinlock nâng cao đối với loại khóa quay DP_LIST khóa quay.

Giải pháp

Bản sửa lỗi này được bao gồm trong các bản cập nhật và gói dịch vụ sau:

Thông tin gói dịch vụ cho SQL Server 2016

       Gói Dịch vụ 2 cho SQL Server 2016

Giới thiệu SQL Server dựng

Mỗi bản dựng mới dành SQL Server sẽ chứa tất cả các bản cập nhật nóng và bản sửa lỗi bảo mật trong bản dựng trước đó. Chúng tôi khuyên bạn nên cài đặt các bản cập nhật tích lũy mới nhất cho SQL Server:

Bản cập nhật tích lũy mới nhất cho SQL Server 2017

bản dựng mới nhất cho SQL Server 2016

Các gói dịch vụ được tích lũy. Mỗi gói dịch vụ mới chứa tất cả bản vá trong các gói dịch vụ trước đó cùng với mọi bản vá mới. Đề xuất của chúng tôi là áp dụng gói dịch vụ mới nhất và bản cập nhật tích lũy mới nhất cho gói dịch vụ đó. Bạn không phải cài đặt gói dịch vụ trước đó trước khi cài đặt gói dịch vụ mới nhất. Sử dụng Bảng 1 trong bài viết sau để tìm thêm thông tin về gói dịch vụ mới nhất và bản cập nhật tích lũy mới nhất.

Cách xác định phiên bản, phiên bản và cấp độ cập nhật của bản cập nhật SQL Server phần của nó

Cách giải quyết

Để khắc phục sự cố này, hãy tắt các điểm kiểm tra gián tiếp trên cơ sở dữ liệu tempdb bằng cách sử dụng một trong các câu lệnh Ngôn ngữ Định nghĩa Dữ liệu (DDL) sau đây.

Bạn nên thực hiện thao tác này như sau:

  • Trên cơ sở dữ liệu modeldb (điều này cũng thay đổi giá trị mặc định cho cơ sở dữ liệu mới), hãy chạy câu lệnh sau đây:ALTER DATABASE [model] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Hoặc, trực tiếp trên cơ sở dữ liệu tempdb mỗi khi mẫu khởi động bằng cách sử dụng Tác nhân SQL Server bằng cách sử dụng câu lệnh sau đây:ALTER DATABASE [tempdb] SET TARGET_RECOVERY_TIME = 0 MINUTES

  • Hoặc định kỳ phát hành các điểm kiểm tra thủ công đối với cơ sở dữ liệu tempdb bằng cách sử dụng câu lệnh sau đây:use tempdbgo checkpointgo  

    Ngoài ra, TF 3468 có thể được sử dụng để vô hiệu hóa điểm kiểm tra gián tiếp trên tempdb.

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

Tham khảo

Tìm hiểu về thuật ngữ mà Microsoft sử dụng để mô tả các bản cập nhật phần mềm. Xem các bài viết sau để biết thêm thông tin:

Bạn cần thêm trợ giúp?

Bạn muốn xem các tùy chọn khác?

Khám phá các lợi ích của gói đăng ký, xem qua các khóa đào tạo, tìm hiểu cách bảo mật thiết bị của bạn và hơn thế nữa.

Cộng đồng giúp bạn đặt và trả lời các câu hỏi, cung cấp phản hồi và lắng nghe ý kiến từ các chuyên gia có kiến thức phong phú.