Tại sao một .bak nhỏ hơn nhiều so với cơ sở dữ liệu, nó là bản sao lưu của?


11

Tôi vừa mới sao lưu cơ sở dữ liệu SQL Server. Tổng cộng các tệp MDF và LDF khoảng 29 GB, nhưng tệp .bak chỉ có 23 GB, nhỏ hơn khoảng 20%.

Tôi đoán đầu tiên khi một phiên bản của một tập hợp dữ liệu nhỏ hơn một phiên bản khác chứa cùng dữ liệu sẽ là nén dữ liệu, nhưng nén thường mang lại tỷ lệ nén tốt hơn nhiều so với 20%, đặc biệt là đối với dữ liệu có thứ tự cao (như bảng cơ sở dữ liệu. ) Ngoài ra, dữ liệu nén không thể dễ dàng nén hơn nữa, nhưng tôi biết rằng các tệp .bak có thể được nén.

Vì vậy, nếu dữ liệu không bị nén và không có gì bị loại bỏ, (vì toàn bộ điểm tạo bản sao lưu là có thể khôi phục dữ liệu về trạng thái giống hệt sau đó,) thì 20% đó không được tính là gì?

Câu trả lời:


16

Không gian được phân bổ cho các tệp cơ sở dữ liệu, nhưng không được sử dụng.

Bạn có thể tạo cơ sở dữ liệu mới, kích thước 10GB và xem các tệp phân bổ dung lượng đó trên đĩa. Tuy nhiên, cho đến khi bạn đưa dữ liệu vào cơ sở dữ liệu, tệp về cơ bản là trống và kích thước tệp sao lưu của bạn sẽ ở mức tối thiểu.

HTH


10

Để sao lưu toàn bộ, LDF thường có thể bị bỏ qua

MDF chứa dữ liệu thực tế

Tệp Bak chỉ chứa các trang dữ liệu được sử dụng bên trong mdf. Một số không gian sẽ không được sử dụng. Không gian này là người dùng trên cao để xây dựng lại chỉ mục chẳng hạn.

Thật là điển hình khi có bản sao lưu 100gb cho DB có thể có mdf 250gb. Nếu mdf của tôi có cùng kích thước với bản sao lưu của tôi thì đó sẽ là cờ đỏ về việc thu hẹp DB không mong muốn hoặc thiếu không gian đĩa, v.v.


4

Khi DB được tạo, bạn có thể chỉ định (cho hiệu suất) bao nhiêu dung lượng bạn muốn phân bổ cho dữ liệu và tệp nhật ký. Không gian này sau đó được dành riêng ngay cả khi không có dữ liệu được lưu trữ trong các bảng. Chỉ các phạm vi có dữ liệu được ghi vào nó mới được sao lưu.

Trong trường hợp của bạn, tổng số MDF / LDF của bạn thậm chí có thể là 100 GB nhưng bản sao lưu của bạn vẫn sẽ ở mức khoảng 23 GB cho bản sao lưu mà bạn đã làm. Nếu khoảng 1 GB dữ liệu được thêm vào, tổng số MDF / LDF của bạn sẽ vẫn là 100 GB, nhưng sao lưu của bạn bây giờ sẽ vào khoảng 24 GB.

Một bản sao lưu đầy đủ chứa tất cả các phạm vi có dữ liệu trong đó và một chút tệp nhật ký. Bản sao lưu đầy đủ chứa tất cả dữ liệu từ khi tác vụ sao lưu kết thúc và không chỉ từ thời điểm tác vụ sao lưu bắt đầu; đây là lý do tại sao một chút của tệp nhật ký cũng được yêu cầu.

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.