Tệp nhật ký cơ sở dữ liệu phân phối SQL Server phát triển không kiểm soát được sau khi sao lưu cơ sở dữ liệu đầy đủ


8

Chúng tôi có một môi trường nhân rộng hợp nhất đang đẩy tới 8 người đăng ký. Điều này đang làm việc tốt. Cơ sở dữ liệu phân phối của chúng tôi được thiết lập trong chế độ phục hồi đơn giản. Chúng tôi có một kế hoạch bảo trì sẽ sao lưu tất cả cơ sở dữ liệu mỗi ngày vào lúc 00:30. Khi quá trình này hoàn tất, tệp nhật ký phân phối sẽ phát triển trong 30 phút tiếp theo và hấp thụ tất cả dung lượng còn lại trên ổ cứng (khoảng 90 GB)

Điều sau đó xảy ra là cơ sở dữ liệu phân phối hiển thị là "Đang chờ khôi phục" và chúng tôi không thể làm gì cho đến khi chúng tôi khởi động lại máy. Sau này, tôi có thể thu nhỏ tệp nhật ký xuống còn 2MB.

Tôi không biết tại sao điều này lại xảy ra. Tệp nhật ký đang chạy ở mức khoảng 10 MB trong ngày. Kích thước cơ sở dữ liệu đang ở mức 15 GB.


2
Có gì khác được kế hoạch bảo trì làm gì? Và sys.databases.log_reuse_wait_descgiá trị trong 30 phút đó trong khi nhật ký phát triển là gì?
Remus Rusanu

Cái gì đang đá cơ sở dữ liệu vào trạng thái chờ khôi phục? Điều đó không nên xảy ra để sao lưu toàn bộ.
mrdenny

1
ok, vì vậy có vẻ như khi công việc này chạy "Lịch sử tác nhân dọn dẹp: phân phối", tệp nhật ký sẽ phát triển ... Việc sao lưu có thể xảy ra trong khi công việc này vẫn đang thực thi. Tôi không chắc chắn nếu điều đó sẽ gây ra vấn đề. Tôi đã thiết lập dọn dẹp lịch sử để chạy một giờ trước đó. Sẽ thấy kết quả là gì
Koenyn

Bất kỳ chỉ số xây dựng lại?
Carol Baker West

Câu trả lời:


2

Có vẻ như bạn có một khối lượng lớn các giao dịch xảy ra với bản sao của bạn. Nếu vậy, công việc "dọn dẹp: phân phối" đó có lẽ nên được chạy thường xuyên hơn. Nghe có vẻ như nó xảy ra mỗi ngày một lần. Trên máy chủ sao chép giao dịch cao của tôi, tôi có nó chạy cứ sau 15 phút để chỉ giữ 36 giờ gần nhất. Bằng cách đó, nó tự điều chỉnh và không sa lầy.

Đây là một bài viết có thể giúp ích - http://www.sqlservergeek.com/bloss/singhsatnam84/sql-server-bi/563/sql-server-controlling-growth-of-a-distribution-database


1
Vâng, chúng tôi chạy nó một lần một ngày. Bây giờ tôi đã giới hạn kích thước tệp nhật ký ở mức 15gb. Điều đó dường như đã giúp rất nhiều. Không cần phải cắt nó ngay bây giờ và máy chủ của chúng tôi không gặp sự cố. Những rủi ro trong việc điều hành công việc cứ sau 15 phút là gì?
Koenyn

Việc dọn dẹp là một cuộc gọi Proc được lưu trữ đơn giản. Bằng cách chạy nó thường xuyên hơn kích thước lô nhỏ hơn. Nếu sự lưu giữ của bạn được đặt chính xác, không có rủi ro mà tôi đã tìm thấy. Nó giữ độ trễ nhân rộng xuống, theo kinh nghiệm của tôi. dbo.sp_MSdistribution_cleanup
Cate Donoghue

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.