Tôi dường như không thể tìm ra câu trả lời. Tôi đã thấy nhiều câu trả lời như thế này: Tại sao Nhật ký giao dịch tiếp tục phát triển hoặc hết dung lượng?
và mọi người nói về việc chạy lại các tệp nhật ký của bạn để nó thu nhỏ lại. Tôi đang làm điều đó, nhưng nó không thu nhỏ bất cứ điều gì! Tôi cũng không tin rằng mình đang thực hiện bất kỳ giao dịch siêu dài nào.
Người phục vụ: SQL Server 2008
Chế độ phục hồi: Full
Tôi có một kế hoạch bảo trì để lưu trữ các bản sao lưu trị giá 5 ngày. Nhiệm vụ 1 sao lưu cơ sở dữ liệu với Loại sao lưu Full
, Nhiệm vụ 2 sao lưu nhật ký giao dịch. Verify backup integrity
được kiểm tra trên cả hai nhiệm vụ.
.ldf
Tệp bình thường của DB của tôi là 22gb. Khi tôi chạy tác vụ trên, .bak
tệp là 435mb, nhưng .trn.
tệp là 22gb, giống như ldf. Và sau khi chạy thành công, .ldf
nó không co lại chút nào, bất chấp mọi thứ tôi đã đọc nói với tôi rằng nó nên như thế nào?
Điều gì đang xảy ra ở đây và tại sao tệp nhật ký không bao giờ co lại?
Tôi cũng đã thử chạy lệnh này như được đề cập trong một câu trả lời khác:
select name, log_reuse_wait_desc
from sys.databases
Và nó nói LOG_BACKUP
cho db với tệp nhật ký khổng lồ.
Dựa trên một câu trả lời dưới đây, tôi bối rối được phân bổ với không gian được sử dụng. Đây là số liệu thống kê của tôi về:
Vì lý do tôi không biết tại sao, kích thước ban đầu được đặt thành 22gb ...
everyone talks about running back ups on your log file so it shrinks down
- không, không ai nói vậy và sao lưu nhật ký sẽ không bao giờ thu nhỏ tệp. Họ nói rằng chạy sao lưu thường xuyên sẽ giúp ngăn chặn nó phát triển, vì không gian bên trong có thể được sử dụng lại sau khi nó đã được sao lưu. Đôi khi không gian nhật ký được sử dụng nhanh hơn so với bản sao lưu của bạn chạy. Nếu điều này xảy ra thường xuyên, thu nhỏ chỉ để phát triển trở lại là vô nghĩa, chỉ cần để chúng lớn. Nếu điều này là do một sự kiện bất thường đã biết và bạn đã đặt một cái gì đó để ngăn chặn nó xảy ra lần nữa, thì đó là lần duy nhất tôi sẽ ủng hộ bất kỳ sự thu hẹp nào.