Triệu chứng
Trong SQL Server 2016, trên bảng được tối ưu hóa bộ nhớ, hầu hết các tình huống ALTER TABLE hiện chạy song song và dẫn đến việc tối ưu hóa việc ghi vào nhật ký giao dịch. Tuy nhiên, thao tác thay đổi cột trên một bảng lớn được tối ưu hóa cho bộ nhớ chạy song song có thể dẫn đến việc mất dữ liệu.
NoteALTER TABLE hoạt động chạy đơn luồng và không bị ảnh hưởng bởi sự cố này.
Giải pháp
Sự cố này đã được khắc phục lần đầu tiên trong bản cập nhật tích lũy tiếp theo của SQL Server:
Đề xuất: Cài đặt bản cập nhật tích lũy mới nhất 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 đó. Chúng tôi khuyên bạn nên tải xuống và cài đặt các bản cập nhật tích lũy mới nhất cho SQL Server:
Giải pháp thay thế
Để khắc phục sự cố này, hãy tắt nhật ký được tối ưu hóa cho các hoạt động thay đổi bằng cách bật cờ theo dõi 9909.
Để bật cờ theo dõi 9909, hãy thêm tham số khởi động -T9909. Hoặc bạn có thể sử dụng câu lệnh dbcc traceon(9909) cho một phiên cụ thể.
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.