Đây là bài viết DBA.SE đầu tiên của tôi, vì vậy xin vui lòng thông báo cho tôi về bất kỳ sai lầm, cảm ơn!
Tôi là một DBA mới (không phải là một chuyên gia CNTT, chỉ là không có ai khác trong công ty làm điều đó), vì vậy giải thích càng cơ bản thì càng tốt. Tôi đã đọc về các chiến lược sao lưu cơ sở dữ liệu (hoặc, như tôi đã học để gọi chúng là "chiến lược khôi phục"). Tôi hiểu các bản sao lưu Full, khác biệt và Nhật ký giao dịch làm gì, nhưng tôi muốn biết tại sao một bản sao lưu khác biệt chỉ có thể dựa trên bản sao lưu đầy đủ gần đây nhất.
Nếu một bản sao lưu vi sai là tất cả mọi thứ đã thay đổi kể từ lần sao lưu đầy đủ cuối cùng, thì tại sao sự khác biệt đó không thể dựa trên bất kỳ bản sao lưu nào tôi chọn? Để rõ ràng hơn, tôi đang hỏi về việc chỉ định cơ sở khi sao lưu được thực hiện , không phải khi khôi phục. Tôi giả sử rằng khi khôi phục bạn sẽ chọn đúng cơ sở và vi sai tương ứng để thực hiện khôi phục (không sử dụng vi sai được tạo từ cơ sở B để khôi phục từ cơ sở A).
Lý do ngăn chức năng này là có thể là gì? Tôi nghĩ rằng phải có một lý do, tôi chỉ không biết nó là gì.
Lưu ý: Tôi hiểu rằng cơ sở không thể được chỉ định, nhưng câu hỏi của tôi là tại sao không ? (Tôi cũng không quan tâm đến cuộc thảo luận về "tại sao bạn?")
Sự giống nhau
Đây là một tương tự cho cách tôi hiểu một bản sao lưu khác biệt:
Tôi có một tệp Excel với một số dữ liệu trong các ô.
Vào ngày 1, tôi tạo một bản sao của tập tin này và lưu trữ nó ở một nơi khác ("bản sao lưu đầy đủ").
Vào ngày thứ 2, tôi xem tập tin và so sánh nó với bản sao lưu mà tôi đã tạo vào ngày 1 và tôi lưu ý tất cả các ô đã thay đổi và giá trị mới của chúng là gì (một "bản sao lưu vi sai"). Tôi không lưu ý mọi thay đổi được thực hiện cho một ô, chỉ có giá trị cuối cùng của nó là gì. Nếu ô A1 bắt đầu là "Alfred", đổi thành "Betty", "Charlie", sau đó là "Dave", tôi sẽ chỉ lưu ý rằng "A1 giờ là Dave".
Vào ngày thứ 3, tôi so sánh tệp hiện tại với tệp sao lưu một lần nữa và lưu ý các thay đổi (một "sao lưu vi sai" khác có cùng cơ sở với ngày 2). Một lần nữa, chỉ lưu ý các giá trị cuối cùng trên mỗi ô tại thời điểm được quan sát, không phải tất cả các giá trị mà ô đó có trong suốt cả ngày.
Vào ngày thứ 4, tôi so sánh lại và ghi chú thay đổi một lần nữa. Tiếp tục với ô A1, bây giờ nó có chữ "Sarah", ngay cả khi đó là 10 tên khác trong suốt cả ngày và tất cả những gì tôi lưu ý là "Bây giờ A1 là Sarah".
Vào ngày thứ 5, tập tin của tôi bị rối tung lên; Vì vậy, tôi nhìn vào bản sao lưu mà tôi đã tạo vào ngày 1, sau đó là các trạng thái cuối cùng được ghi chú vào ngày 4 và tôi áp dụng các thay đổi được ghi nhận cho bản sao lưu và bây giờ tôi đã khôi phục tệp vào ngày 4 Vì vậy, tôi nhìn vào bản sao lưu được thực hiện vào ngày 1, thấy rằng vào ngày 4 ô A1 kết thúc là "Sarah" và thay đổi ô dự phòng A1 thành "Sarah".
Tại sao nó lại quan trọng nếu tôi đã tạo một bản sao lưu khác ("đầy đủ") của tệp vào ngày 2? Tại sao vẫn không thể so sánh (đọc, "sao lưu vi sai") tệp vào ngày 3 hoặc 4 với bản sao được tạo vào ngày 1? Theo tôi hiểu, SQL Server sẽ yêu cầu tôi so sánh (khi thực hiện sao lưu vi sai khác) với bản sao lưu đầy đủ được thực hiện vào ngày 2 (nếu đã được thực hiện) - không có tùy chọn nào khác.
COPY_ONLY
- Nếu OP phải sao lưu toàn bộ thường xuyên vào ngày 1 vàCOPY_ONLY
sao lưu toàn bộ vào ngày 2 thì sẽ có vấn đề gì xảy ra khi áp dụng vi sai sau từ cùng cơ sở đó đến ngày dự phòng 2?