SQL Server tính toán kích thước ban đầu của bản sao lưu (đã nén) như thế nào?


7

Khi sao lưu được tạo, SQL Server sẽ đoán (?) Kích thước của tệp sao lưu nội bộ. Sau này, có thể khi nó nối thêm nhật ký, kích thước sẽ được điều chỉnh lại, đôi khi nhiều lần cho đến khi đạt được kích thước cuối cùng. Sự khác biệt càng lớn, sao lưu càng mất nhiều thời gian. (so với bản sao lưu khác mà kích thước không được điều chỉnh nhiều về sau). Ví dụ: Cơ sở dữ liệu1 (kích thước 500 GB, nhật ký 70 GB được sử dụng) được sao lưu bằng nén. Tệp .bak được tạo với kích thước 85 GB, sau một thời gian sử dụng CPU tăng lên và tôi có thể thấy rằng tệp .bak được điều chỉnh lại thành 136 GB, điều này xảy ra một lần nữa cho đến khi kích thước cuối cùng là 178 GB cho bản sao lưu đạt.

Khi các tính toán lại này xảy ra, tốc độ sao lưu trung bình tính bằng MB / s sẽ giảm so với các bản sao lưu khác trên cùng một máy. Là duy nhất đến từ việc nối thêm và xóa nhật ký? Hoặc cũng vì các loại dữ liệu khác nhau được sử dụng trong cơ sở dữ liệu? Có nghĩa là chúng được nén với tốc độ nén khác nhau, hoặc bất cứ điều gì?

Tôi đã đến chủ đề này, vì tôi biết rằng các bản sao lưu của tôi mất khoảng 30 phút, nhưng bây giờ phải mất 1,5 giờ mặc dù cơ sở dữ liệu không tăng đến 300% kích thước của nó. Nó chỉ tăng 30%.

Sử dụng số liệu thống kê chờ tôi có thể thấy rằng ngoài BackupIO, tôi cũng đang chờ CPU (SOS_SCHEDULER_YIELD) tại một số điểm.

Machine Details:
VMWare 6.0 
32 GB of Memory (Max memory 28GB given to SQL Server)
2 logical CPU
Max Degree of Parallelism (1, it's a Sharepoint 2013)   
SQL Server 2014
Windows Server 2012 R2
running on an SSD Raid (5)

Tất nhiên tôi đã kích hoạt khởi tạo tập tin ngay lập tức cho người dùng chạy sao lưu.


ah chết tiệt, muốn thêm điều đó, tất nhiên tôi đã kích hoạt nó. Cảm ơn đã chỉ ra rằng.
RayofCommand

Tôi không thể hiểu rõ câu hỏi của bạn?
Shanky

Một điều nữa - máy chủ là VM hay vật lý? Bạn có thể cập nhật câu hỏi của mình với tổng RAM, CPU cùng với cài đặt HT và numa, bộ nhớ tối đa và maxdop không? Bạn đã thử chơi với các tham số sao lưu maxbuffersize và maxtranslikeize chưa?
Kin Shah

Tôi đã thêm thông tin, tôi chưa chơi với maxbuffersize và maxtranslikeize.
RayofCommand

Nhìn vào tiêu đề câu hỏi của bạn ... SQL Server thực hiện điều đó bằng cách pre-allocation algorithm. Kích thước có thể thay đổi khi quá trình sao lưu tiến triển và phụ thuộc vào mức độ sao lưu có thể nén được. đọc Nén sao lưu
Shanky

Câu trả lời:


5

SQL Server tính toán kích thước ban đầu của bản sao lưu (đã nén) như thế nào?

Từ BOL :

Đối với các bản sao lưu nén, kích thước của tệp sao lưu cuối cùng phụ thuộc vào mức độ nén của dữ liệu và điều này không xác định trước khi hoạt động sao lưu kết thúc. Do đó, theo mặc định, khi sao lưu cơ sở dữ liệu bằng cách nén, Cơ sở dữ liệu sử dụng một pre-allocation algorithmtệp sao lưu. Thuật toán này phân bổ trước một tỷ lệ phần trăm được xác định trước về kích thước của cơ sở dữ liệu cho tệp sao lưu. Nếu cần thêm dung lượng trong quá trình sao lưu, Cơ sở dữ liệu sẽ phát triển tệp. Nếu kích thước cuối cùng nhỏ hơn không gian được phân bổ, khi kết thúc hoạt động sao lưu, Cơ sở dữ liệu sẽ thu nhỏ tệp về kích thước thực tế cuối cùng của bản sao lưu.

Để cho phép tệp sao lưu chỉ phát triển khi cần để đạt kích thước cuối cùng, hãy sử dụng cờ theo dõi 3042. Cờ theo dõi 3042 khiến thao tác sao lưu bỏ qua thuật toán cấp phát nén sao lưu mặc định.

Bạn nên tuân theo - Sao lưu và khôi phục các thực tiễn tốt nhất trong SharePoint 2013 .

Ngoài ra, với tôi VM của bạn có 2 CPU dường như không được dùng để chạy cơ sở dữ liệu 70 GB (Không chắc chỉ có một cơ sở dữ liệu hoặc nhiều cơ sở dữ liệu).


đó là máy chủ SQL để sử dụng Sharepoint. 2 CPU không nhiều, nhưng chúng tôi không bao giờ gặp vấn đề về hiệu năng. Tôi chắc chắn có các giá trị tốt cho sự tăng trưởng db của mình, v.v. cho đến nay không có áp lực CPU ... hãy xem nó sẽ kéo dài bao lâu.
RayofCommand
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.