Khi bạn sao lưu cơ sở dữ liệu và các tập lệnh đang chạy cùng một lúc, tại thời điểm nào thì bản sao lưu phản ánh?


7

Nếu tôi chạy bản sao lưu cơ sở dữ liệu SQL Server thông qua Management Studio và có các tập lệnh chạy cùng lúc, bản sao lưu có phản ánh đúng thời điểm khi bản sao lưu được bắt đầu hay khi nó kết thúc? Db của tôi có dung lượng khoảng 10 GB nên việc sao lưu mất một chút thời gian, có nghĩa là có rất nhiều điều có thể xảy ra trong thời gian này.

Tôi đang sử dụng SQL Server 2008 R2

Tôi chỉ đăng câu hỏi này trong SO nhưng nghĩ rằng đây có lẽ là một nơi tốt hơn cho nó?

Câu trả lời:


10

Giả sử chúng ta đang nói về một bản sao lưu đầy đủ hoặc khác biệt, một điểm đánh dấu được đặt ở đầu quá trình sao lưu. Khi kết thúc quá trình sao lưu, mọi giao dịch đã cam kết trong quá trình được chuyển tiếp vào bản sao lưu. Bất kỳ giao dịch nào không được hoàn thành đều được đánh dấu là được khôi phục trong bản sao lưu. Vì vậy, câu trả lời ngắn gọn cho câu hỏi của bạn là, tất cả các giao dịch đã hoàn thành từ đầu đến cuối quá trình sao lưu. Trong quá trình khôi phục, bước cuối cùng là dọn sạch các giao dịch này.


Đây là một chút sai lệch. Không có những thứ như marked as rolled back within the backup. Nhật ký được tạo trong quá trình sao lưu dữ liệu được sao chép vào bản sao lưu cùng với dữ liệu, nhưng việc quyết định khôi phục những gì sẽ bị bỏ lại cho quá trình khôi phục sau RESTORE. Ví dụ. Nếu một bản sao lưu LOG ​​bổ sung được thực hiện và sau đó được khôi phục cùng với bản sao lưu đầy đủ, một số giao dịch đó sẽ được cam kết , không được khôi phục. Không phải BACKUP mà 'đánh dấu' chúng sẽ được khôi phục, là quá trình phục hồi quyết định như vậy.
Remus Rusanu


Thật. Xin lỗi về việc làm rối loạn ranh giới giữa những gì trong quá trình phục hồi và sao lưu. Cuối cùng, kết quả là như nhau.
Grant Fritchey
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.