Triệu chứng
Giả sử bạn sử dụng phiên bản của Microsoft SQL Server 2016 Analysis Services. Trong khi ngày càng có nhiều đối tượng phạm vi toàn cục được lưu vào bộ đệm ẩn, các bộ đệm ẩn đó không bao giờ được dọn sạch. Điều này có thể dẫn đến tăng bộ nhớ liên tục và cuối cùng máy chủ có thể gặp sự cố.
Phạm vi toàn cục được lưu vào bộ đệm ẩn dựa trên các yêu cầu bảo mật đối với mỗi người dùng. Do đó, thường bạn sẽ chỉ gặp phải sự cố này khi gặp phải một trong các tình huống sau:
- Bạn có các biểu thức động (ví dụ: UserName(), CustomData()) trong mô hình. Đây là không bắt buộc để xem vấn đề, nhưng đây là nguyên nhân phổ biến. Khi biểu thức động xuất hiện, mỗi người dùng duy nhất cần xây dựng phạm vi toàn cầu riêng. Điều này làm tăng đáng kể số lượng phạm vi toàn cục cần được tạo và lưu vào bộ đệm ẩn.
- Bạn có một mô hình phức tạp chứa nhiều siêu dữ liệu và bảo mật. Điều này ảnh hưởng đến chi phí bộ nhớ cho mỗi đối tượng phạm vi. Khi số lượng phạm vi toàn cục được lưu trong bộ đệm ẩn tăng lên, lượng bộ nhớ sẽ tăng lên dựa trên chi phí bộ nhớ của mỗi đối tượng phạm vi.
- Bạn có nhiều người dùng duy nhất đang kết nối với máy chủ. Ví dụ: PowerBI.com có thể thường xuyên làm mới các lát xếp trong bảng điều khiển cho mỗi người dùng. Khi điều này xảy ra, Analysis Services nhận được nhiều kết nối và truy vấn cho mỗi người dùng duy nhất và số lượng phạm vi toàn cục sẽ tăng vọt và sử dụng hết nhiều bộ nhớ.
Lưu ý: Sau khi bạn áp dụng hotfix này, phiên bản SQL Server sẽ là 13.0.2170.0.
Giải pháp
Thông tin cập nhật tích lũy
Bản sửa lỗi cho sự cố này được bao gồm trong bản cập nhật tích lũy sau đây dành cho SQL Server:
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 chứa tất cả các bản sửa lỗi nóng và bản sửa lỗi bảo mật được tích hợp 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 cho SQL Server:
Bản cập nhật tích lũy mới nhất cho SQL Server 2016
Giải pháp thay thế
Để khắc phục vấn đề này, hãy chạy thủ công lệnh <ClearCache> XMLA đối với cơ sở dữ liệu theo lịch trình thích hợp. Điều này sẽ cho phép xóa tất cả bộ đệm ẩn phạm vi toàn cục và bộ nhớ sẽ lại giảm đi. Tùy chọn này sẽ gây ra một số chi phí về hiệu suất khi bạn kết nối lần sau vì bạn sẽ không thể sử dụng lại phạm vi chung đã lưu trong bộ đệm ẩn.
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".
Tham khảo
Tìm hiểu về thuật ngữ mà Microsoft dùng để mô tả các bản cập nhật phần mềm.