Tại sao tệp .bacpac quá nhỏ so với tệp .bak của cùng một cơ sở dữ liệu?


39

Tôi đã thực hiện sao lưu cơ sở dữ liệu SQL Server 2014 Express để nhập vào các máy chủ khác và nhận thấy sự khác biệt về kích thước tệp giữa .bacpac.bak.

Tại sao một .bacpactệp quá nhỏ so với một .baktệp của cùng một cơ sở dữ liệu?

Cảm ơn cho bất kỳ hiểu biết!

Câu trả lời:


42

Một

  • .bacpactệp = Lược đồ + Dữ liệu. Lưu ý rằng Dữ liệu được BCP'ed sử dụng định dạng gốc (không thể đọc được bởi Con người).

    • Bạn có thể đổi tên .bacpacđể .zipxem nội dung thực tế.

    • Bạn có thể sử dụng ...DAC\bin\sqlpackage.exedòng lệnh để trích xuất .bacpacnội dung theo chương trình.

    • Đây là một ảnh chụp nhanh bao gồm Dữ liệu người dùng + Lược đồ từ Máy chủ SQL hoặc Cơ sở dữ liệu SQL Azure.

-

  • Sao lưu (thường có .bakphần mở rộng) = Bản sao lưu cơ sở dữ liệu ĐẦY ĐỦ chứa một bản sao hoàn chỉnh của cơ sở dữ liệu và cung cấp một điểm duy nhất mà cơ sở dữ liệu có thể được khôi phục. Một bản sao lưu đầy đủ chứa một số bản ghi nhật ký giao dịch để thành phần được khôi phục (cơ sở dữ liệu, tệp hoặc filegroup) có thể được thực hiện nhất quán trong giao dịch.

A BACPACkhông phải là một thay thế cho một bản sao lưu đầy đủ. Đây chỉ là một ảnh chụp nhanh có thể được sử dụng để di chuyển cơ sở dữ liệu từ máy chủ này sang máy chủ khác (hoặc sang đám mây) và lưu trữ cơ sở dữ liệu hiện có ở định dạng mở .

Từ thử nghiệm của tôi, dưới đây là kết quả

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


3
Vậy thông tin nào bị thiếu .bacpac mà tệp .bak có, làm cho nó nhỏ hơn?
AllTradesJack

1
Tệp nhật ký có lẽ là lý do lớn nhất cho sự khác biệt kích thước.
Paul Spangle

6
Tôi giả sử không có dữ liệu chỉ mục trong .bacpac, có khả năng là người đóng góp LỚN cho kích thước tệp.
Rory

9
Trong trường hợp đó, khi bạn khôi phục từ .bacpac, bạn cần phải xây dựng lại các chỉ mục bằng cách nào đó, hoặc điều này được thực hiện tự động?
vui vẻ
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.