[Backup – SQL Server] – Error The statement BACKUP LOG is not allowed while the recovery model is SIMPLE (MS SQL transaction log backup))
Phiên bản
- vGuard Pro: Tất cả phiên bản
- HĐH: Windows
Mô tả
Khi sao lưu Transaction Log trong MS SQL Server, thông báo lỗi sau xuất hiện trong Backup report:
Backup Logs No. Type Timestamp Backup Logs 1 Info YYYY/MM/DD hh:mm Start [ Windows platform (MyServer), vGuard Pro x.x.x.x ] 2 Info YYYY/MM/DD hh:mm Start running pre-commands * … … … * Error YYYY/MM/DD hh:mm [Microsoft][ODBC SQL Server Driver][SQL Server]BACKUP LOG is not allowed while the trunc. log on chkpt. option is enabled. Use BACKUP DATABASE or disable the option using sp_dboption.
Hoặc
Backup Logs No. Type Timestamp Backup Logs * … … … * Error YYYY/MM/DD hh:mm [Microsoft][ODBC SQL Server Driver][SQL Server] The statement BACKUP LOG is not allowed while the recovery model is SIMPLE. Use BACKUP DATABASE or change the recovery model using ALTER DATABASE. * … … … * Error YYYY/MM/DD hh:mm [Microsoft][ODBC SQL Server Driver][SQL Server] BACKUP LOG is terminating abnormally.
Nguyên nhân
Lỗi này xuất hiện do Recovery Model của Database có cấu hình là SIMPLE. Với Database có cấu hình Recovery Model là SIMPLE, Transaction Log sẽ bị xóa ở mỗi Checkpoint. Do đó, bạn chỉ có thể sao lưu Full Database hoặc Differential Database.
Bảng sau tóm tắt các loại Recovery Model và kiểu sao lưu được cho phép tương ứng từng loại Recovery Model:
Recovery Model / Backup Full Database Differential Database Transaction Log Simple Required Allowed Not Allowed Bulk-Logged Required Allowed Required Full Required Allowed Required
Cách khắc phục
Để khắc phục lỗi này, bạn điều chỉnh giá trị Recovery Model của Database cần sao lưu.
Bạn có thể thay đổi Recovery Model của Database trực tiếp trong giao diện vGuard Pro như hình minh họa:
Với các phiên bản trước v5.5:
Nếu sử dụng vGuard Pro các phiên bản trước v5.5, bạn sẽ không thấy tùy chọn như hình minh họa.
Vui lòng điều chỉnh Recovery Model trong Enterprise Manager/SQL Server Management Studio của MS SQL Server bằng cách: Right-click vào Database cần chỉnh sửa, chọn Properties, chọn Options, điều chỉnh giá trị ở mục Recovery model thành Full hoặc Bulk-Logged.
Với MS SQL Server 2000:
Với MS SQL Server 2005:
Bạn cũng có thể cấu hình bằng lệnh: ALTER DATABASE [Database Name] SET RECOVERY FULL
Tham khảo
http://searchsqlserver.techtarget.com/tip/0,289483,sid87_gci1069109,00.html