Triệu chứng
Hãy xem xét tình huống sau:
-
Bạn có một cơ sở dữ liệu có hai tệp nhật ký giao dịch trong Microsoft SQL Server 2012 hoặc trong Microsoft SQL Server 2014.
-
Bạn thực hiện một bản sao lưu đầy đủ trong chế độ phục hồi đầy đủ.
-
Bạn loại bỏ một trong các tệp nhật ký giao dịch và thay đổi chế độ phục hồi sang chế độ phục hồi đơn giản.
-
Bạn thực hiện một bản sao lưu đầy đủ và một bản sao lưu vi sai.
-
Bạn khôi phục cơ sở dữ liệu bằng cách sử dụng tệp bản sao lưu đầy đủ và tệp vi sai mới nhất.
Trong trường hợp này, bạn nhận được thông báo lỗi sau đây:
Msg 3127, Level 16, State 1, dòng 3The file '% s ' của cơ sở dữ liệu đã khôi phục '% s ' sẽ được trái trong trạng thái không còn tồn tại vì cơ sở dữ liệu đang sử dụng mô hình phục hồi đơn giản và tệp được đánh dấu để truy nhập đọc-ghi. Do đó, chỉ có các tệp chỉ đọc có thể phục hồi bằng cách khôi phục chắp thêm. Và tệp nhật ký đã bị xóa xuất hiện một lần nữa trong sys.master_files với trạng thái không còn tồn tại
Ngoài ra, khi bạn tìm cách sao lưu cơ sở dữ liệu, bạn nhận được thông báo lỗi sau đây:
Msg 3636, Level 16, State 2, dòng 1Một lỗi xảy ra trong khi xử lý siêu dữ liệu ' BackupMetadata ' cho cơ sở dữ liệu ID 16 tệp ID 3. msg 3046, Level 16, State 2, siêu dữ liệu dòng 1Không nhất quán đã gặp phải. Thao tác sao lưu duy nhất có thể là một bản sao lưu Nhật ký bằng cách sử dụng tùy chọn CONTINUE_AFTER_ERROR hoặc NO_TRUNCATE. Msg 3013, mức 16, trạng thái 1, cơ sở dữ liệu dòng 1BACKUP đang chấm dứt thông thường.
Giải pháp
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 5 cho SQL Server 2014 /en-us/help/3011055
Bản Cập Nhật tích lũy 3 cho SQL Server 2012 SP2 /en-us/help/3002049
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".