Cách giảm dung lượng file Log trong SQL Server

by My Love

03/04/2020, 2:50 PM   |    03/04/2020, 2:50 PM   |    1.6K   |    0

       File Log trong Sql Server có tác dụng lưu các Transaction, nó rất hữu dụng trong các trường hợp cơ sở dữ liệu gặp sự cố cần khôi phục lại thời điểm trước đó. Chính vì thực hiện lưu nhiều transaction nên dung lượng file log có thể sẽ rất lớn, lúc này nếu cần giảm dung lượng file này bạn có thể thực hiện theo cách sau:

1. Giảm dung lượng File log

       Ví dụ mình có database tên là CNTT, trong thư mục lưu trữ sẽ có 2 file là CNTT.mdfCNTT_log.ldf
- Lúc này chỉ cần chạy câu truy vấn sau trong SQL :
 
USE CNTT;
GO 
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE CNTT
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 Mb.
DBCC SHRINKFILE (CNTT_log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE CNTT
SET RECOVERY FULL;
GO

- Các câu lệnh trên có tác dụng : SET RECOVERY của database về SIMPLE, Dùng DBCC SHRINKFILE để SHRINK file log xuống còn 1 Mb, sau đó lại SET RECOVERY về FULL

2. Lỗi Could not locate file 'xxx_log' for database 'xxx' in sys.database_files. The file either does not exist, or was dropped

       Trong quá trình thực hiện có thể gặp lỗi trên, bạn chỉ cần xem lại tên file log có đúng là CNTT_log không. Click phải chuột vào Database CNTT => Properties => Files => Xem trong mục Logical Name có đúng là CNTT_log không ?
 

 

- Nếu không đúng bạn đặt lại tên rồi thực hiện chạy lại câu lệnh trên sẽ hết lỗi.