Khôi phục SQL Server từ Transaction Log - Pdf 69

Khôi phục SQL Server từ Transaction Log
Nguồn : 3c.com.vn Khôi phục SQL Server từ Transaction Log Backup là một phần công
việc cần thực hiện trong quá trình nâng cấp và vận hành máy chủ
SQL. Và phần công việc còn lại là tiến trình restore được thực hiện
mỗi khi máy chủ SQL có lỗi phát sinh. Một trong những tình huống
này có thể liên quan tới quá trình restore từ file Transaction Log (Bản
ghi giao tác) Backups.
Transaction Log (có tên gọi khác là Database Log hay Binary Log) là
một lược sử hành động được hệ thống quản lý cơ sở dữ liệu thực thi
để đảm bảo thuộc tính ACID (atomicity, consistency, isolation, durability) khi hệ thống
bị lỗi.

Có một rắc rối với Transaction Log Backups đó là yêu cầu restore từ nhiều file hơn là chỉ
từ một file full backup. Để khôi phục thành công cơ sở dữ liệu, bạn phải sử dụng mọi file
Transaction Log Backups đã được tạo và chúng phải được khôi phục theo trật tự khi tạo.
Nếu một file Transaction Log Backup nào đó bị lỗi, bạn sẽ không thể thực hiện khôi phục
bất kì file Transaction Log Backup nào sau file lỗi đó. Chúng cần được khôi phục theo
thứ tự và bạn không thể bỏ qua bất kì file nào.

Trên đây là 5 bước cơ bản cần thực hiện khi tiến hành restore một cơ sở dữ liệu SQL từ
Transaction Log.

Bước 1: Backup phần hoạt động của Transaction Log

Trong trường hợp máy chủ SQL bị lỗi và bạn cần phải restore sang một máy chủ khác,
trước tiên bạn cần backup phần hoạt động của Transaction Log để lưu lại những giao tác
đang sử dụng vẫn chưa được backup vào một Transaction Log Backup hiện có. Để tạo
Transaction Log Backup cuối này bạn hãy sử dụng lệnh có cú pháp tương tự như sau:

Backup bao gồm Differential (file cập nhật) và những Transaction Log Backup cho
Differential. Những bảng trên sẽ hiển thị file backup thực hiện trước trên cùng, vì vậy
bạn cần tìm đến file Full Backup mới nhất và những file backup khác được tạo sau khi
thực hiện Full Backup.

Bước 3: Kiểm tra nội dung của file Backup

Ngoài lệnh RESTORE thực hiện khôi phục những file backup, một số lệnh RESTORE
khác cho phép bạn kiểm tra nội dung của những file backup. Những lệnh này bao gồm
RESTORE HEADERONLY và RESTORE FILELISTONLY.

RESTORE HEADERONLY

Lệnh này cho phép bạn kiểm tra thông tin tổng quát của mọi file backup trên một công ụ
backup cụ thể. Lệnh này rất hữu dụng khi bạn cần restore từ nhiều file backup hay nếu
file backup đó là của một máy chủ khác mà bạn không quản lý. Để kiểm tra những gì
được lưu trữ trong file backup đó, bạn hãy chạy lệnh này trong Query Analyzer.

RESTORE FILELISTONLY

Lệnh này cho phép bạn kiểm tra danh sách cơ sở dữ liệu và những file Log trong nhóm
file backup, dung lượng của dữ liệu và các file Log. LogicalName và PhysicalName là
những thành phần dữ liệu chính được sử dụng trong suốt tiến trình restore. Cú pháp lệnh
có dạng:
RESTORE FILELISTONLY FROM DISK = 'C:\SQL\Backup\North.bak'
Bước 4: Lựa chọn tùy chọn restore

Có một số tùy chọn để áp dụng khi restore file backup, bao gồm những file Transaction
Log Backup. Dưới đây là một số tùy chọn restore:


MOVE nếu những máy chủ không được cài đặt theo cùng một phương pháp. Như đã
nhắc đến ở trên, khi sử dụng LogicalName (tên logic) và PhysicalName (tên vật lý) từ
lệnh RESTORE FILELISTONLY. Tùy chọn MOVE cho phép bạn di chuyển những file
vật lý tới một vị trí khác trên máy chủ. Tùy chọn này cần được sử dụng cho mọi loại file
backup bao gồm Full, Differential và Transaction Log. Lệnh lựa chọn tùy chọn này có
dạng:
RESTORE LOG NORTH
FROM DISK = 'C:\SQL\Backup\North_Log.bak'
WITH RECOVERY,
MOVE 'Northwind_Data' TO 'c:\data\Northwind.mdf',
MOVE 'Northwind_Log' TO 'c:\data\Northwind _log.ldf'

Bước 5: Lựa chọn thời điểm Restore

Ngoài việc restore hoàn toàn Transaction Log, SQL Server cũng có những tùy chọn dừng
tại một thời điểm cụ thể hay dấu giao tác. Bạn có thể lựa chọn những tùy chọn này khi
biết khi nào hay vị trí lỗi xảy ra trên cơ sở dữ liệu này, bạn có thể phục hồi những giao
tác cơ sở dữ liệu cho một điểm cụ thể để tránh lỗi xảy ra. Ví dụ, nếu ai đó xóa mọi bản
ghi trong một bảng, có thể bạn sẽ muốn khôi phục cơ sở dữ liệu tới thời điểm trước khi
khôi phục tới bảng đã bị xóa bản ghi đó.

STOPAT

Tùy chọn này giúp khôi phục mọi giao đã thực hiện tính đến một thời điểm nhất định. Ví
dụ:
RESTORE LOG Northwind
FROM DISK = 'C:\SQL\Backup\North_Log.bak'
WITH RECOVERY,
STOPAT = 'Sep 22, 2009 09:00 AM'
Hai lệnh tiếp theo giúp bạn khôi phục những giao tác sử dụng dấu giao tác mà phải là


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status