Sao lưu cơ sở dữ liệu


2

Tôi có 10gb RDBMS (Máy chủ SQL).Tôi muốn sao lưu nó thường xuyên nhất có thể, nhưng có vẻ như tôi sẽ cần rất nhiều không gian để thực hiện điều này theo thứ tự vài lần mỗi ngày.

Làm thế nào thường là hợp lý để sao lưu một DB kích thước này?Làm thế nào là các bản sao lưu thường được lưu trữ?

Tôi đã xem xét Amazon S3 và tôi tự hỏi mức độ phổ biến của mọi người khi sử dụng một dịch vụ như thế này để thực hiện sao lưu DB của họ?

  0

Tôi đồng ý với Thoreau, tuy nhiên vì bạn nói rằng bạn muốn có càng nhiều bản sao lưu càng tốt, bạn có thể muốn xem xét thực hiện sao lưu gia tăng/khác biệt thường xuyên hơn, cứ sau 2-6 giờ tùy theo nhu cầu của bạn 14 sep. 112011-09-14 15:22:23

1

Phiên bản SQL nào bạn đang làm việc với?"Càng thường xuyên càng tốt" nghĩa là gì?tại sao bạn muốn làm việc này?

Bạn không cần phải sao lưu đầy đủ.Bạn có thể làm một lần một tuần đầy đủ, và một sự khác biệt mỗi đêm.Với t-sql hoặc SSMS, bạn có thể xóa các bản sao lưu tự động sau n số ngày do đó giữ cho bản sao lưu của bạn gọn gàng và ngăn nắp.

Càng thường xuyên càng tốt?Tại sao không sao lưu nhật ký giao dịch cứ sau 5 phút, sau đó xóa chúng sau mỗi 5 ngày?

:: Tôi đã thêm nhiều câu hỏi ::


4

Tôi nghĩ câu hỏi chính không phải là tần suất người khác sao lưu cơ sở dữ liệu của họ - mà mức độ tổn thất mà doanh nghiệp của bạn sẽ chấp nhận.Nếu máy chủ của bạn chết, họ sẽ vui vẻ quay lại tệp sao lưu từ 24 giờ trước hay họ sẽ cần một tệp từ một giờ trước?

Tất cả các cơ sở dữ liệu sản xuất của chúng tôi thực hiện sao lưu toàn bộ mỗi ngày một lần, sau đó họ chạy sao lưu nhật ký giao dịch mỗi giờ.Trong trường hợp thất bại hoàn toàn, trường hợp xấu nhất của chúng tôi là chúng tôi mất một giờ dữ liệu (mặc dù trên thực tế chúng tôi sử dụng phản ánh cơ sở dữ liệu để bảo vệ chính mình trước điều này).Sao lưu nhật ký giao dịch cũng cung cấp cho bạn tùy chọn để thực hiện khôi phục tại thời điểm: http://msdn.microsoft.com/en-us/library/ms179451.aspx

Một yếu tố khác là mô hình phục hồi của cơ sở dữ liệu - nếu bạn đang ở chế độ khôi phục hoàn toàn thì bạn sẽ cần sao lưu nhật ký giao dịch để ngăn nhật ký giao dịch trở nên không thể quản lý được.Ngược lại, nếu bạn đang sử dụng phục hồi đơn giản thì sao lưu nhật ký giao dịch không phải là một tùy chọn.

Đây là một điểm khởi đầu khá: http://msdn.microsoft.com/en-us/library/ms191239.aspx

Mong rằng sẽ giúp ...


1

Hãy nói rằng bạn có một kịch bản kinh doanh chung với thời gian bận rộn của bạn là: 9 giờ sáng đến 5 giờ chiều Thứ Hai-Thứ Sáu.Sau đó, tôi sẽ đề nghị: Sao lưu đầy đủ vào tối chủ nhật.Sao lưu chênh lệch lúc 8 giờ sáng, 6 giờ chiều và 1 giờ sáng (để giảm thời gian phục hồi).Đăng nhập sao lưu mỗi giờ hoặc tùy thuộc vào những gì doanh nghiệp của bạn yêu cầu.

Tùy thuộc vào thời gian lưu giữ của bạn, bạn nên có một công việc dọn dẹp tự động để xóa các tệp sao lưu cũ.

Bạn nên lưu trữ bản sao lưu của mình trên một số dạng đĩa dự phòng (được nhân đôi).

Nếu bạn sử dụng Amazon S3, thì bạn sẽ phải trả tiền cho băng thông, lưu trữ và nhận/đặt yêu cầu.Sau đó, có một sự phức tạp hơn nữa nếu DB của bạn lưu trữ dữ liệu nhạy cảm.Thay vào đó, bạn có thể lấy một ổ đĩa ngoài hoặc thiết bị NAS và lưu trữ các bản sao lưu của bạn trên những cái này.Giá không phải là một vấn đề vì đĩa là giá rẻ.


5

Có vẻ như bạn không hiểu cách sao lưu trong SQL Server hoạt động.Có ba loại sao lưu khác nhau trong SQL Server.

FULL - Sao lưu cơ sở dữ liệu đầy đủ đổ toàn bộ cơ sở dữ liệu và nhật ký giao dịch đang hoạt động vào một tệp (hoặc sọc, nhưng bây giờ hãy bỏ qua tính năng này) trên đĩa.

KHÁC BIỆT - Sao lưu cơ sở dữ liệu khác biệt sao lưu tất cả dữ liệu đã được thay đổi kể từ lần sao lưu đầy đủ cuối cùng thành tệp sao lưu.Để khôi phục từ bản sao lưu vi sai, bạn PHẢI có bản sao lưu đầy đủ được thực hiện trước khi sao lưu vi sai được thực hiện.

LOG - Sao lưu nhật ký sao lưu chỉ dữ liệu hiện có trong nhật ký giao dịch.Sao lưu nhật ký cung cấp cho bạn khả năng khôi phục cơ sở dữ liệu đến một thời điểm cụ thể (ví dụ: nếu ai đó đánh rơi một bảng bạn có thể khôi phục đến một điểm chỉ cần khôi phục bảng đã bị hủy và lấy lại tất cả dữ liệu từ bảng đó).Sao lưu LOG ​​yêu cầu cơ sở dữ liệu của bạn ở chế độ phục hồi FULL hoặc BULK_LOGGED.Để khôi phục bản sao lưu nhật ký, bạn phải thực hiện sao lưu toàn bộ gần đây nhất trước khi sao lưu nhật ký bạn muốn khôi phục, tùy chọn sao lưu chênh lệch được thực hiện giữa sao lưu toàn bộ và sao lưu nhật ký và tất cả các bản sao lưu nhật ký giữa bản sao lưu đầy đủ hoặc khác biệt và tệp nhật ký cuối cùng bạn muốn khôi phục.

Từ những gì bạn đã mô tả, có vẻ như bạn cần mất ít dữ liệu nhất có thể.Bạn sẽ cần thay đổi chế độ khôi phục thành FULL hoặc BULK_LOGGED (FULL là những gì hầu hết mọi người chọn) và sau đó thiết lập sao lưu toàn bộ hàng ngày và sao lưu nhật ký giao dịch mỗi vài phút.Tần suất bạn chạy các bản sao lưu nhật ký sẽ phụ thuộc vào lượng dữ liệu bạn có thể đủ khả năng để mất.Doanh nghiệp nên là người đặt ra con số này, không phải bạn.Không có gì lạ khi chạy sao lưu nhật ký cứ sau 10 - 15 phút tùy theo yêu cầu.

Sau khi sao lưu được thiết lập, bạn sẽ muốn định cấu hình thứ gì đó để xóa các tệp sau một số ngày (tùy thuộc vào yêu cầu kinh doanh và dung lượng bạn có thể đủ để lưu trữ).

Bạn sẽ muốn sao lưu cơ sở dữ liệu vào máy chủ trong vùng khả dụng EC2 khác để nếu việc lặp lại sự cố ngừng hoạt động của Amazon từ đầu năm nay xảy ra, dữ liệu sao lưu của bạn vẫn an toàn.

Có thể đáng để mang đến một nhà tư vấn trong một hoặc hai giờ để đảm bảo rằng các bản sao lưu của bạn được thực hiện chính xác.Nếu họ không làm đúng, bây giờ là lúc để tìm ra điều đó, không phải khi hệ thống bị lỗi.