Không, không thể khôi phục cơ sở dữ liệu từ tệp ldf. Tệp ldf sẽ được khôi phục cùng với các tệp mdf.
Không, nó không dư thừa vì chúng có hai mục đích khác nhau.
Điều quan trọng là phải sao lưu đầy đủ và sao lưu nhật ký giao dịch. Chỉ có một bản sao của tệp ldf không giúp bạn khôi phục cơ sở dữ liệu.
Đối với những gì một tập tin ldf là dành cho, ldf là nhật ký giao dịch. Hãy nghĩ về nó như một bộ đệm tròn ghi lại các thay đổi vào cơ sở dữ liệu của bạn. Khi bạn cập nhật một hàng, thay đổi ngay lập tức được ghi vào ldf. Tại một số thời điểm trong tương lai (thường là ít hơn năm phút), dữ liệu đã sửa đổi được ghi vào tệp mdf.
Nếu máy chủ gặp sự cố hoặc bị mất điện, khi SQL khởi động, nó sẽ đọc ldf và áp dụng lại (REDO) những thay đổi đó.
Ngoài ra, nếu bạn có một giao dịch chưa được thực hiện và sự cố nghiêm trọng, tất cả các thay đổi được thực hiện bởi giao dịch đó phải được hoàn tác để làm cho cơ sở dữ liệu nhất quán. Các tập tin ldf có nhiệm vụ đó là tốt. (HOÀN TÁC)
Tôi đã đề cập ở trên rằng tập tin ldf là hình tròn. Lấy một bản sao lưu nhật ký giao dịch (.trn) sao chép một phần của tệp ldf. Sau khi tệp trn được tạo an toàn, sql có thể sử dụng lại phần đó của tệp ldf. Một loạt các bản sao lưu trn tạo ra một chuỗi cùng nhau ghi lại mọi sửa đổi được thực hiện cho cơ sở dữ liệu. Tất nhiên, nếu bạn chưa bao giờ thực hiện sao lưu nhật ký yên tĩnh, tệp ldf sẽ phát triển và tăng trưởng.
Trong trường hợp thảm họa, việc khôi phục lại bản sao lưu đầy đủ sẽ giúp bạn có một bản sao của cơ sở dữ liệu tại thời điểm sao lưu toàn bộ kết thúc. Sau đó, bạn có thể khôi phục các tệp trn theo thứ tự và đưa cơ sở dữ liệu hiện tại đến bất kỳ thời điểm nào, bao gồm đến bản sao lưu trn cuối cùng.
Tôi đang xem qua một số chi tiết quan trọng, nhưng ý chính là ldf là một tệp làm việc ghi lại các thay đổi gần đây cho cơ sở dữ liệu. Các tệp trn là bản sao của các phần của ldf được tạo theo giả định rằng bạn sẽ giữ an toàn để sql có thể sử dụng lại không gian trong ldf và nếu thảm họa xảy ra, bạn sẽ đặt chúng ở một vị trí thay thế.