Trong quá trình quản trị và vận hành hệ thống cơ sở dữ liệu, một trong những lỗi phổ biến mà các nhà quản trị thường gặp đó là các phần mềm, website sử dụng SQL Server nhận được thông báo "The transaction log for database is full due to log_backup". Lỗi này thường xảy ra khi nhật ký giao dịch (transaction log) của cơ sở dữ liệu trở nên đầy và không thể ghi thêm dữ liệu mới.

Điều này có thể dẫn đến sự ngừng trệ trong hoạt động của cơ sở dữ liệu, ảnh hưởng đến hiệu suất và sự ổn định của toàn bộ hệ thống. Bài viết này helpdesk.inet.vn sẽ đi sâu vào nguyên nhân gây ra lỗi này và cung cấp các giải pháp hiệu quả để khắc phục, giúp đảm bảo hệ thống cơ sở dữ liệu của bạn hoạt động trơn tru và liên tục. 

1. Nguyên nhân gây ra lỗi The transaction log for database is full due to log_backup

Có nhiều nguyên nhân gây ra lỗi The transaction log for database is full due to log_backup nhưng chủ yếu là do nguyên nhân sau:

  • Ổ đĩa chứa file log ldf bị đầy.
  • File log ldf đã đặt tới giới hạn max size trong file cấu hình

2. Cách khắc phục lỗi The transaction log for database is full due to log_backup

Để khắc phục lỗi trên chúng ta sử dụng tính năng Shrink log file để xóa log

Bước 1: Kết nối vào database:

USE Databasename;
GO

Bước 2: Chuyển chế độ database recovery sang SIMPLE:

ALTER DATABASE Databasename
SET RECOVERY SIMPLE;
GO

Bước 3: Kiểm tra tên của file log:

select * from sys.database_files;

Kết quả:

Bước 4: Thực hiện SHRINK file log set về 1MB

DBCC SHRINKFILE (YYuan_DB_log, 1);
GO

Bước 5: Sau khi thực hiện Shrink log chúng ta set Database Recovery về chế độ Full

ALTER DATABASE Databasename
SET RECOVERY FULL;
GO

Bước 6: Tăng giá trị max size của file log. Database Properties --> File

Tăng giá trị Maximum File Size hoặc set Unlimited

Bây giờ chúng ta có thể thực hiện truy vấn Database MSSQL bình thường.

3. Kết luận:

Để tránh trường hợp lỗi trên lặp lại chúng ta cần thường xuyên kiểm tra ổ đĩa chứa log file tránh bị đầy và tăng giá trí max size của log file lên giá trị phù hợp. Chúc các bạn thực hiện thành công!