SQL Server có bao giờ xóa các tệp nhật ký lỗi cũ không?


12

Tôi biết rằng tôi có thể xoay vòng nhật ký lỗi hiện tại một cách dễ dàng bằng cách chạy sp_ Motorcycle_errorlog, nhưng tôi tự hỏi liệu SQL Server có bao giờ xóa các tệp nhật ký lỗi cũ / được lưu trữ không. Dường như không thể tìm thấy câu trả lời cho điều này ở bất cứ đâu ...

Câu trả lời:


19

Trong SQL Server Management Studio, trong Object Explorer> Management, có một cài đặt nếu bạn nhấp chuột phải vào SQL Server Logsvà chọn Configure. Bạn có thể chỉ định số lượng tệp nhật ký bạn muốn giữ. Một khi nó đạt đến con số đó, nó sẽ bắt đầu loại bỏ những cái cũ.

nhập mô tả hình ảnh ở đây


8

Khởi động lại SQL Server 7 lần. Bạn sẽ thấy bạn vẫn chỉ có 7 ERRORLOG*tệp (tùy thuộc vào phiên bản). Đây là tệp nhật ký hiện tại và 6 tệp nhật ký gần đây nhất.

Lưu ý: Bạn có thể cần thay đổi 7 thành một thứ khác, trong trường hợp bạn thay đổi số lượng nhật ký lỗi mà SQL Server giữ . Tối đa, tôi tin là 99. Nhưng cho dù thiết lập hiện tại của bạn là gì, cuối cùng nó sẽ tái chế và thanh lọc các tệp cũ.

Tôi đã kiểm tra cái này và, nếu bạn bỏ chọn hộp có nội dung:

Hạn chế số lượng tệp nhật ký lỗi trước khi chúng được tái chế

... ngụ ý (ít nhất là với tôi) giữ tất cả các tệp nhật ký , nó sẽ vẫn chỉ giữ tệp nhật ký lỗi hiện tại cộng với 6 bản sao lưu . Nếu bạn đã thay đổi khóa đăng ký mà @RLF đã chỉ ra , cài đặt khóa đăng ký sẽ ghi đè (như thể bạn đã không bỏ chọn hộp), nhưng bạn vẫn sẽ bị giới hạn ở một số tệp nhật ký lỗi sao lưu trong khoảng 6 và 99.

Vì vậy, câu trả lời ngắn gọn là: có, trong mọi trường hợp, SQL Server cuối cùng sẽ tìm cách xóa các tệp nhật ký lỗi cũ.


7

SQL Server tự động tái chế các bản ghi lỗi, miễn là bạn định cấu hình chính xác.

Xem http://msdn.microsoft.com/en-us/l Library / ms177285.aspx . Tôi đã sao chép các điểm nổi bật bên dưới:

Trong Object Explorer, mở rộng phiên bản của SQL Server, mở rộng Quản lý, bấm chuột phải vào Nhật ký máy chủ SQL, sau đó bấm Cấu hình.

Trong hộp thoại Cấu hình Nhật ký Lỗi Máy chủ SQL, chọn từ các tùy chọn sau.

  • Giới hạn số lượng tệp nhật ký lỗi trước khi chúng được tái chế

    • Kiểm tra để giới hạn số lượng nhật ký lỗi được tạo trước khi chúng được tái chế. Nhật ký lỗi mới được tạo mỗi khi phiên bản SQL Server được khởi động. SQL Server giữ lại các bản sao lưu của sáu bản ghi trước đó, trừ khi bạn kiểm tra tùy chọn này và chỉ định số lượng tệp nhật ký lỗi tối đa khác bên dưới.
  • Số lượng tệp nhật ký lỗi tối đa

    • Chỉ định số lượng tệp nhật ký lỗi tối đa được tạo trước khi chúng được tái chế. Mặc định là 6, là số lượng nhật ký sao lưu trước đó mà SQL Server giữ lại trước khi tái chế chúng.

2

Có, có một cấu hình cho bao nhiêu lỗi để duy trì.

Nó có thể được tìm thấy trong khoá đăng ký tại:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs

Bạn có thể cần thêm khóa này.


1
Lưu ý rằng bạn cần thay thế phiên bản đầu tiên MSSQLServerbằng ID cá thể của mình nếu đó là một phiên bản được đặt tên (ví dụ: MSSQL12.SQL2014đối tượng được đặt tên năm 2014 của tôi có tên SQL2014).
Aaron Bertrand
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.