Hướng Dẫn Shrink Log để Giảm Bớt Dung Lượng File Log Database ...
Có thể bạn quan tâm
Vào một ngày đẹp trời, bổng dưng bạn nhận thấy website của mình ngưng hoạt động (hoặc báo lỗi), sau một hồi kiểm tra hoặc liên hệ với nhà cung cấp Hosting thì được biết dung lượng Web Hosting/ Cloud VPS đã bị đầy mà trong đó Database chiếm dung lượng đáng kể gây gián đoạn website.

Hay bạn tự nhận thấy Database của mình đã tăng dung lượng, trong khi dữ liệu của mình chỉ có vài MB (hoặc vài GB) nhưng LOG File lại chiếm đến tận hàng trăm GB. Vậy bạn phải làm sao để giải quyết vấn đề này?
Có rất nhiều cách để xử lý giảm dung lượng log database MSSQL:
1. Detach DB, xóa file log database MSSQL, sau đó Attach lại Database. Với cách này bạn phải thực hiện thủ công và buộc phải gián đoạn các kết nối từ các ứng dụng đến Database của bạn, sẽ không khả thi nếu ứng dụng của bạn đòi hỏi tính liên tục.
2. Backup LOG với OPTION là TRUNCATE_ONLY hoặc NO_LOG. Tuy nhiên từ phiên bản SQL Server 2008 thì Option này đã lược bỏ.
3. Chúng tôi khuyến nghị bạn thực hiện theo cách sau đây, vừa thực hiện nhanh chóng, dễ dàng lại vừa đáp ứng được nhu cầu liên tục của ứng dụng. Đó là, SHRINK FILE log database MSSQL
.
Giả sử, bạn đang có các file database: MB_Data.MDF và file Log: MB_Log.LDF, bạn có thể Run đoạn query sau đây từ SQL Management Studio hoặc có thể tạo sẵn và Run 1 Stored Procedure để shirk log database MSSQL
USE MB;
GO
— Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE MB SET RECOVERY SIMPLE;
GO — Shrink the truncated log file to 1 Mb.
DBCC SHRINKFILE (MB_Log, 1);
GO — Reset the database recovery model.
ALTER DATABASE MB SET RECOVERY FULL;
GO
Bạn có thể hiểu phương pháp này theo cách giải thích sau :
Có 3 chế độ Recovery trong SQL Server: FULL, SIMPLE và BULK LOGGED. Chế độ mặc định là FULL. Bạn có thể vào phần Option của database, xem trong Recovery Model. Khi ở chế độ này, bất kì một transaction nào, kể cả khi đã commit cũng đều được lưu trong LOG, do đó có thể dựa vào những Transaction này để “quay lui (rollback)” DB về bất kì thời điểm nào. Vì thế với những DB có Transaction nhiều, DATA ít thì file log database MSSQL vẫn có thể rất lớn.
Đầu tiên SET RECOVERY của DB về SIMPLE, ở chế độ này sau khi Transaction được commit, sẽ tự động xóa. Do vậy File LOG của database ở chế độ này thường rất nhỏ.
Dùng DBCC SHRINKFILE để SHRINK file log xuống còn 1 Mb. Nếu không set Recovery về SIMPLE, thì sẽ ko thể xóa bỏ hết các Transaction đã được commit. SHRINKFILE chỉ thu dọn và sắp xếp và phân bố lại dữ liệu, bỏ các vùng trống để giải phóng bộ nhớ, chứ không phải xóa dữ liệu. Vì thế ở chế độ FULL, SHRINKFILE hầu như ko tác dụng, hoặc nếu có thì file log database MSSQL dung lượng giảm đi ko đáng kể.
Sau đó SET RECOVERY về lại FULL. Trên MSDN cũng khuyên nếu muốn Backup LOG, các bạn nên chuyển về chế độ SIMPLE, hơn là backup LOG với Truncate_Only và No_LOG.
Chú ý: Với những database dung lượng lớn, bạn cần phải chủ động backup database trước và tham khảo ý kiến của lập trình website trước khi thực hiện.
Các bạn có thể tham khảo thêm các thủ thuật khác tại đây
P.A Việt Nam cung cấp đa dạng các Plan Hosting đáp ứng yêu cầu của khách hàngHosting Phổ ThôngHosting Chất Lượng Cao
Tham khảo các ưu đãi: https://www.pavietnam.vn/vn/tin-khuyen-mai/
Rate this postBài viết liên quan:
- [MSSQL][PLESK]-Hướng dẫn backup database MSSQL trên Plesk 9.x
- [MSSQL][PLESK]-Tạo database MSSQL server trên Plesk
- [MSSQL][PLESK]- Hướng dẫn restore database trên Plesk 9
- Hướng dẫn tạo database Microsoft SQL (MSSQL) trên Plesk
- Websitepanel : tạo database microsoft sql server !
- Tạo và quản lý database trên Plesk Windows Hosting !
- Các cách để thao tác xử lý log files trên Plesk Panel
- Hướng dẫn kết nối VPS Windows và sử dụng tính năng Local Resources trong Remote Desktop
Từ khóa » Cách Giảm Dung Lượng File Log Sql Server
-
Cách Giảm Dung Lượng Log File Của SQL Server
-
Hướng Dẫn Shrink Log để Giảm Bớt Dung Lượng File ... - Wiki Mắt Bão
-
Cách Giảm Dung Lượng File Log Trong SQL Server - Vnfree.Net
-
Làm Sao Giảm Bớt Dung Lượng File LOG Của SQL Server
-
Hướng Dẫn Shrink File Log SQL Server Trên Máy Chủ Windows - Tenten
-
Cách Giảm Dung Lượng Cơ Sở Dữ Liệu SQL - Dotnet Group
-
Shrink Log Database Giảm Dung Lượng File Log Trong SQL Server
-
[SQLSERVER] Hướng Dẫn Giảm Bớt Dung Lượng File Log Database
-
Cách Giảm Dung Lượng File Transaction Log Trong SQL Server
-
Xóa File ERRORLOG, File Log Data Giảm Dung Lượng Database Và ...
-
Dung Lượng Database Phình Lên Quá Lớn, Dễ Full ổ đĩa Server
-
Làm Sao Giảm Bớt Dung Lượng File Log Của SQL Server
-
Giảm Bớt Dung Lượng File LOG Của SQL Server
-
Xóa File Log Của Sql để Giúp Database Nhẹ Hơn