Nếu bạn có một kế hoạch sao lưu có liên quan, tệp nhật ký của bạn sẽ không tăng lên vô thời hạn. Bạn có thể sẽ thấy rằng không gian bên trong nó chủ yếu không được phân bổ - vì các khối trang trong nhật ký được sao lưu (tất nhiên tùy thuộc vào mô hình sao lưu / khôi phục của bạn, hãy đọc các tùy chọn đó nếu bạn không quen thuộc với chúng) miễn phí để được sử dụng lại sau nhưng không được phát hành cho hệ điều hành. Lần tới khi quy trình lớn của bạn chạy, gây ra nhiều lần chèn / cập nhật và do đó cần một vài Gb không gian nhật ký MSSQL sẽ không cần thêm dung lượng từ HĐH vì nó chỉ có thể sử dụng các khối đã được phân bổ cho tệp nhật ký nhưng hiện không giữ bất cứ điều gì không thể được viết qua.
Nếu bạn đang thấy GBytes tăng trưởng thêm trong các tệp nhật ký của mình mỗi khi tiến trình hàng tuần được chạy thì bạn cần kiểm tra gói sao lưu của mình vì điều đó có nghĩa là SQLServer không thấy các trang nhật ký có thể tái sử dụng vì chế độ sao lưu của bạn không đúng với dữ liệu và hoạt động (hoặc có thể đơn giản như bạn không thường xuyên sao lưu dự phòng).
Sự tăng trưởng trong các tệp dữ liệu là tương tự nhau: nếu có một lượng lớn không gian trống trong các tệp thì nó sẽ được sử dụng vào lần tới khi cần thêm dung lượng thay vì yêu cầu HĐH phân bổ thêm. Một điều cần chú ý nếu dữ liệu của bạn lớn bất ngờ là lập chỉ mục quá mức - bạn có thể thấy các bảng lớn có các chỉ mục không bao giờ thực sự được sử dụng (chúng hoàn toàn không cần thiết hoặc không mang lại nhiều lợi ích cho chỉ mục khác hiện tại). Các ví dụ kinh điển về điều này là tìm mọi cột trong một bảng rộng có chỉ mục riêng (thường không phải lúc nào cũng là dấu hiệu của thiết kế bảng / chỉ mục xấu) hoặc tìm chỉ mục cho " cột1 và cột2 " và một chỉ mục cho cột1theo cách riêng của nó: trình lập kế hoạch truy vấn và người chạy sẽ có thể sử dụng chỉ mục tổng hợp cũng như chỉ mục đơn giản cho các truy vấn dựa trên cột1, do đó không cần sử dụng khoảng trắng với chỉ mục phụ. Duy trì các chỉ mục không hữu ích cũng có tác động đến hiệu suất ghi. Cuốn sách này có một vài phần đề cập đến các vấn đề về chỉ mục phổ biến nếu bạn muốn xem xét vấn đề nhiều hơn và đáng để đọc cho tất cả các nhà phát triển và DBA dù sao IMO.
Thu hẹp các tệp không cần thiết có thể dẫn đến sự phân mảnh quá mức trong các tệp, điều này có thể gây hại cho hiệu suất, vì vậy hãy cẩn thận nếu bạn đi theo tuyến đường đó.
Về việc chuyển đổi từ RAID1 sang RAID5: Tôi không khuyến nghị điều đó. RAID5 thường gặp vấn đề về hiệu năng với công việc cơ sở dữ liệu nặng ghi (có khả năng làm chậm đáng kể các quy trình khổng lồ tạo ra các mục nhập dữ liệu và nhật ký giao dịch GB GB) do việc đọc thêm trước khi đọc bất kỳ ghi lại để cập nhật- vấn đề tổng kiểm tra. Thay vì thêm một ổ đĩa để chuyển từ R1 sang R5, tôi sẽ sử dụng thêm hai ổ đĩa và sử dụng R10 - vẫn tăng gấp đôi dung lượng nhưng không có vấn đề về hiệu suất ghi (tất nhiên là giả sử có máy chủ cho hai ổ đĩa phụ !). Dù bạn có làm gì trong khu vực đó, việc chuyển đổi từ sắp xếp RAID này sang sắp xếp RAID khác có thể liên quan đến thời gian ngừng hoạt động lớn khi bạn sao lưu dữ liệu, xây dựng lại mảng, và sao chép lại dữ liệu (trừ khi bạn mua một bộ ổ đĩa hoàn toàn mới và có thể có cả mảng mới và mảng cũ chạy cùng một lúc, điều này sẽ làm giảm thời gian chết khá nhiều). Một tùy chọn khác là thêm hai ổ đĩa dưới dạng mảng RAID1 mới và sau đó sử dụng âm lượng động của Windows để trải rộng trên hai mảng này (cung cấp cho bạn kích thước của RAID10, nhưng không có một số mức tăng hiệu suất có thể lượm lặt được từ việc lột đồ). HOẶC bạn có thể giữ hai mảng riêng biệt và giữ các tệp dữ liệu trên một và các nhật ký giao dịch ở bên kia - giữ dữ liệu và nhật ký trên các trục riêng biệt theo cách này có thể cải thiện đáng kể hiệu suất của hoạt động ghi bằng cách giảm chuyển động đầu cần thiết để cập nhật cả nhật ký và tệp dữ liệu. Tùy chọn cuối cùng này cũng có thời gian ngừng hoạt động tối thiểu vì một khi ổ còn lại có thể được thực hiện "trực tiếp":