Triệu chứng
Khi bạn chạy một phiên bản của Microsoft SQL Server 2017 bên trong một bộ chứa Linux trong Linux, bạn có thể nhận được thông báo lỗi vắng mặt.
Nguyên nhân
SQL Server trên Linux theo mặc định sử dụng giới hạn mềm 80% của tổng bộ nhớ vật lý khi cấu hình bộ nhớ. memorylimitmb không được kích hoạt; Đối với các Containers container SQL được dùng để cân nhắc 80% của tổng bộ nhớ máy chủ lưu trữ thay vì hạn chế chính nó đến 80% bộ nhớ được phân bổ cho bộ chứa docker. Giới hạn bộ nhớ không chính xác này cho phép SQL Server cố gắng tiêu thụ bộ nhớ nhiều hơn sẵn dùng cho bộ chứa và có thể là một ứng viên để chấm dứt kẻ giết người.
Lưu ý Khi bạn tạo hình ảnh bạn cần xác định-m để giới hạn bộ nhớ docker. Tham khảo bài viết sau để biết thêm thông tin.
Giải pháp
Bản sửa lỗi cho sự cố này được bao gồm trong bản Cập Nhật sau đây cho SQL Server:
Bản Cập Nhật tích lũy 10 cho SQL Server 2017
Lưu ý Nếu cấu hình bộ nhớ. memorylimitmb không được cấu hình thì bản sửa lỗi này cho phép SQL Server tự giới hạn chính nó với giới hạn mềm 80% của bộ nhớ được phân bổ vào container.
Giới thiệu về SQL Server dựng
Mỗi bản dựng mới cho SQL Server chứa tất cả các hotfix và các bản sửa lỗi bảo mật vốn đã được xây dựng trước đó. Chúng tôi khuyên bạn nên cài đặt bản dựng mới nhất cho phiên bản SQL Server của bạn:
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ữ chuẩn Microsoft sử dụng để mô tả các bản cập nhật phần mềm.