Nếu bạn đang cố gắng sao lưu nhật ký giao dịch trong cơ sở dữ liệu SQL Server hoặc SQL Edge, nhưng bạn gặp lỗi cho biết Không thể thực hiện BACKUP LOG vì không có bản sao lưu cơ sở dữ liệu hiện tại , bạn sẽ cần thực hiện ít nhất một bản sao lưu đầy đủ cơ sở dữ liệu trước khi cố gắng sao lưu nhật ký giao dịch.
Lỗi
Dưới đây là một ví dụ về mã dẫn đến lỗi:
BACKUP LOG Music
TO DISK = '/var/opt/mssql/backups/Music.trn';
Kết quả:
Msg 4214, Level 16, State 1, Line 1 BACKUP LOG cannot be performed because there is no current database backup.
Nguyên nhân
Lỗi này xảy ra bất cứ khi nào bạn cố gắng sao lưu nhật ký giao dịch mà không chạy bản sao lưu cơ sở dữ liệu đầy đủ trước.
Bạn phải tạo ít nhất một bản sao lưu đầy đủ trước khi có thể tạo bất kỳ bản sao lưu nhật ký nào.
Giải pháp
Tất cả những gì bạn cần làm là tạo ít nhất một bản sao lưu cơ sở dữ liệu đầy đủ trước khi cố gắng sao lưu các tệp nhật ký.
Ví dụ:
BACKUP DATABASE Music
TO DISK = '/var/opt/mssql/backups/Music.bak'
WITH FORMAT;
Giờ đây, các bản ghi giao dịch có thể được sao lưu theo yêu cầu:
BACKUP LOG Music
TO DISK = '/var/opt/mssql/backups/Music.trn';
Kết quả:
Processed 3 pages for database 'Music', file 'Music_log' on file 1.