Sao lưu cơ sở dữ liệu mà không có nhật ký giao dịch


8

Khi tôi sao lưu cơ sở dữ liệu có cách nào để loại trừ nhật ký giao dịch trong bản sao lưu đó không? Hoặc tôi đang nghĩ về điều này sai và để khôi phục cơ sở dữ liệu ban đầu, nội dung của nhật ký giao dịch là bắt buộc?

Tôi không thể thu nhỏ nhật ký giao dịch vì cơ sở dữ liệu đang sử dụng bản sao và tôi sẽ phải phá vỡ bản sao.

Nếu tôi phát lệnh này và sau đó khôi phục cơ sở dữ liệu, nó sẽ quay lại với tệp nhật ký 50 GB:

BACKUP DATABASE DatabaseName TO DISK = 'c:\temp\Database.bak'

Tôi phải thay đổi cơ sở dữ liệu được khôi phục thành đơn giản và sau đó thu nhỏ tệp nhật ký trước khi giải phóng 50GB. Tôi không thể thay đổi cơ sở dữ liệu ban đầu thành đơn giản vì nó là một bản sao.

Câu trả lời:


6

Có vẻ như các khái niệm khác nhau khó hiểu của bạn ở đây. Bắt đầu với Quản lý nhật ký giao dịchsao lưu Tổng quan chủ đề trong Sách trực tuyến.

Có phải vấn đề gốc là khi bạn khôi phục lại bản sao lưu đầy đủ sang máy chủ khác, nhật ký giao dịch sẽ tiêu tốn nhiều dung lượng hơn mức bạn có sẵn không?

Nếu vậy, bản hack mà tôi đã mô tả trong câu trả lời cho câu hỏi Có thể khôi phục lại máy chủ sql-bak và thu nhỏ nhật ký cùng một lúc không? có thể hữu ích

Nhật ký giao dịch của bạn đang phát triển, đang phát triển và đang phát triển vì cơ sở dữ liệu của bạn đã được khôi phục hoàn toàn nhưng bạn không thực hiện sao lưu nhật ký? Xem ở đâyở đây .

Khi tôi sao lưu cơ sở dữ liệu vào tệp bak, có cách nào để loại trừ nhật ký giao dịch trong bản sao lưu đó không?

Không. Một bản sao lưu dữ liệu sẽ bao gồm một phần của nhật ký giao dịch, ít nhất là phần của nhật ký được tạo kể từ khi sao lưu bắt đầu. Tuy nhiên, đó không phải là một tỷ lệ đáng kể của nhật ký trừ khi bạn có các giao dịch chạy rất lâu.

Lưu ý rằng khi bạn khôi phục bản sao lưu dữ liệu, cơ sở dữ liệu sẽ được tạo lại với cùng kích thước tệp dữ liệu và tệp nhật ký như trong cơ sở dữ liệu nguồn, bất kể tệp dữ liệu đầy đủ hay phần hoạt động của nhật ký là bao nhiêu. Nếu đây là vấn đề bạn gặp phải, hãy xem bản hack trước đây của tôi để khắc phục tình trạng thiếu không gian để khôi phục.

Hoặc tôi đang nghĩ về điều này sai, để khôi phục cơ sở dữ liệu ban đầu là nội dung của nhật ký giao dịch cần thiết?

Xem ở trên, một tỷ lệ của nhật ký sẽ được bao gồm trong một bản sao lưu đầy đủ.

Tôi không thể thu nhỏ nhật ký giao dịch vì cơ sở dữ liệu đang sử dụng bản sao và tôi sẽ phải phá vỡ bản sao.

Không có lý do tại sao bạn không thể thu nhỏ nhật ký với sao chép tại chỗ (bạn sẽ chỉ có thể thu nhỏ phần không hoạt động) nhưng:

  • Nó sẽ không làm thay đổi kích thước của bản sao lưu dữ liệu của bạn.
  • Nó có thể sẽ phát triển trở lại kích thước hiện tại của nó.
  • Nhật ký giao dịch lớn có thể là do không thực hiện sao lưu nhật ký.
  • Bạn không nên thu nhỏ nhật ký .

Có vấn đề là máy chủ của tôi không có đủ dung lượng để lưu trữ tệp sao lưu và cơ sở dữ liệu được khôi phục. Vấn đề của nhật ký 'phát triển, tăng trưởng' đúng vậy, nhưng đó là tùy thuộc vào quản trị viên cơ sở dữ liệu của chúng tôi - đó không phải là trách nhiệm của tôi.
peter

Nếu đó là trường hợp, sử dụng hack để khôi phục vào một thư mục nén.
Mark Storey-Smith
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.