Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn có một Microsoft SQL Server 2012 hoặc cơ sở dữ liệu Phiên bản cũ hơn có nhiều filegroups và nhóm filecs là nhóm filep mặc định.
-
Bạn sao lưu cơ sở dữ liệu, rồi khôi phục lại nó trên SQL Server 2014.
-
Bạn đã đặt nhóm fileprimary làm nhóm filecs mặc định, rồi thử loại bỏ các filecs phụ.
Trong trường hợp này, bạn không thể xóa nhóm filephụ ngay cả khi tất cả các tệp dữ liệu dưới mục đó sẽ bị xóa. Thông báo lỗi cho biết rằng nhóm filephụ không thể bị loại bỏ vì nó không trống.
Nguyên nhân
Sự cố xảy ra do việc nâng cấp phiên bản cơ sở dữ liệu tạo ra đối tượng Hệ thống trên nhóm tệp mặc định thay cho nhóm fileprimary trong SQL Server 2014. Nhóm filecs vẫn có chứa một số đối tượng Hệ thống.
Giải pháp
Sửa lỗi này giới thiệu về dấu theo dõi gắn cờ 3861 để di chuyển các bảng hệ thống vào nhóm fileprimary. Sau khi bạn áp dụng các hotfix được mô tả trong bài viết này, khi bạn khởi động SQL Server bằng cách sử dụng dấu theo dõi 3861 dưới dạng tham số khởi động, nó có thể di chuyển các bảng hệ thống vào nhóm fileprimary. Nếu bạn chưa khôi phục bản sao lưu cơ sở dữ liệu, bạn có thể bật gắn cờ theo dõi ở mức máy chủ:
dbcc traceon(3861,-1)<Restore the database>dbcc traceoff(3861,-1)
Vấn đề lần đầu tiên được khắc phục trong bản Cập Nhật tích lũy SQL Server sau đây.
Bản Cập Nhật tích lũy 4 cho SQL Server 2014 /en-us/help/2999197
Mỗi bản Cập Nhật tích lũy mới cho SQL Server chứa tất cả các hotfix và tất cả các bản sửa lỗi bảo mật đã được đưa vào bản Cập Nhật tích lũy trước đó. Kiểm tra các bản Cập Nhật tích lũy mới nhất cho SQL Server:
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".