Phục Hồi Dữ Liệu SQL Server 2014 – Lab SQL 2014 P4

Trong module trước, chúng ta đã tạo ra các bản sao lưu cơ sở dữ liệu trên SQL server 2014, đây là việc làm rất quan trọng của người quản trị Database. Nhưng điều quan trọng hơn là làm sao để khôi phục lại các database này. Khi phục hồi lại dữ liệu trong một tình huống khẩn cấp, chúng ta cần có một kế hoạch rõ ràng về cách thức tiến hành và các bước để phục hồi lại dữ liệu.

Trong bài lab này hướng dẫn các bạn thực hiện phục hồi lại database bị xóa hẳn từ full backup, differential backup, transaction log backup. Phục hồi lại database bị lỗi khi đang làm việc. Phục hồi database tại một thời điểm. Bài lab này sử dụng các file backup từ module trước.

Thực hiện xong bài lab này, bạn có thể thực hiện phục hồi dữ liệu trên SQL server 2014

THỰC HIỆN PHỤC HỒI DỮ LIỆU SQL SERVER 2014

A: phục hồi lại database bị xóa:

A: phục hồi lại database bị xóa:

B1. Giả lập database bị xóa:

B1. Giả lập database bị xóa:

vào SSMS phải chuột vào Database cần xóa chọn delete, xuất hiện cửa sổ Delete Object ấn OK

phuc-hoi-du-lieu-sql-server

Database đã bị xóa

phuc-hoi-du-lieu-sql-server

B2. Phục hồi lại database bị xóa hẳn bằng SSMS:

B2. Phục hồi lại database bị xóa hẳn bằng SSMS:

2.1 Phục hồi từ full backup:

Phải chuột vào database chọn Restore database

phuc-hoi-du-lieu-sql-server

Tại cửa sổ Restore Database, chọn option Device ấn nút …

phuc-hoi-du-lieu-sql-server

Tại cửa sổ Select backup device, trong phần Backup media type chọn Backup Device, Trong phần Backup media ấn Add

phuc-hoi-du-lieu-sql-server

Chọn Backup_full OK

picture007

Trở về cửa sổ Select backup devices ấn OK

phuc-hoi-du-lieu-sql-server

Trong phần Database chọn database cần phục hồi, có thể ấn timeline

phuc-hoi-du-lieu-sql-server

Để chọn thời gian phục hồi (chọn bản mới nhất) OK Ok thực hiện phục hồi

phuc-hoi-du-lieu-sql-server 2014

Phục hồi thành công

restore sql server

Database đã được phục hồi nhưng chưa có table BangDiem

restore sql server

2.2 phục hồi Differential backup:

Phải chuột vào Databae chọn Restore Database

restore sql server

Tại cửa sổ Restore Database, chọn option Device ấn nút ….

Tại cửa sổ Select backup device, trong phần Backup media type chọn Backup Device, Trong phần Backup media ấn Add

restore sql server

Chọn cả 2 devices là Backup_full và Backup Differential OK

restore sql server

Trở về cửa sổ Restore database, trong phần Database chọn database cần restore OK

restore sql server

Sau khi restore xong, kiểm tra thấy đã có table BangDiem

restore sql server

2.3 phục hồi transaction log:

tiếp tục phải chuột vào Database chọn Restore Database

restore sql server

Tại cửa sổ Restore Database, chọn option Device ấn nút ….

Tại cửa sổ Select backup device, trong phần Backup media type chọn Backup Device, Trong phần Backup media ấn Add

Chọn cả 3 devices Backup_full, Backup Differential và Backup_Transaction_log OK

restore sql server

Tại Restore database, trong phần Database chọn database cần restore OK. hoàn tất

restore sql server

B. Phục hồi lại database bị lỗi khi đang làm việc:

B. Phục hồi lại database bị lỗi khi đang làm việc:

Giả lập database bị lỗi, phải chuột vào tên database cần giả lập chọn properties chọn files để xem nơi lưu trữ data file ok, phải chuột vào tên database lại chọn tasks take offline, sau đó vào nơi lưu trữ data file xóa file .mdf (trong bài lab này là DemoDB1.mdf)

picture026

Database đang bị lỗi

picture027

Thử cố gắn online database, mở cửa sổ New query nhập vào lệnh:

Alter Database DemoBD1 set online; ấn Execute sẽ thấy thông báo lỗi

picture028

b1. thực hiện tial-log backup:

b.1 thực hiện tial-log backup,

Tại cửa sổ new query nhập vào lệnh:

Backup Log Demodb1 to disk =’E:\Backup Demo1\Demodb1_tialLog.bak’

With No_Truncate;

ấn Execute

picture029

b2. Restore database:

b.2 Phải chuột vào Database cần restore chọn tasks Restore Database

picture030

Tại cửa sổ Restore Database, chọn option Device ấn nút ….

Tại cửa sổ Select backup device, trong phần Backup media type chọn Backup Device, Trong phần Backup media ấn Add, chọn tất cả các device backup và chọn file tial-log backup như trong hình OK

picture033

Tại cửa sổ Restore Database chọn Option, nếu muốn xem các lệnh backup thì vào Script chọn New Query Editor Windows, trong phần Recovery State chọn Restore With Recovery OK

picture034

Database đã trở lại làm việc, và xem các lệnh Restore

picture036

C. Phục hồi lại tại một thời điểm: (Point-in-time)

Tạo database mới bằng lệnh:

CREATE DATABASE DEMODB4;

go

picture001

Tạo table khachhang trong database DemoDB4

USE DEMODB4

GO

CREATE TABLE KhachHang

(MAKH int identity primary key,

TENKH nvarchar(50),

EMAIL nvarchar(50))

GO

picture002

Thực hiện backup database DemoDB4

BACKUP DATABASE [DEMODB4] TO DISK = ‘E:\Backup DemoDB4\demodb4.bak’

WITH FORMAT, INIT, NAME = ‘DEMODB4 Database Backup’

GO

picture003

Thêm thông tin vào table Khachhang

INSERT INTO DemoDB4.dbo.KhachHang

VALUES (‘Chung tan Loc’, ‘chungtanloc@gmail.com’)

GO

picture004

Phải chuột vào table khachhang chọn edit top 200 rows, xem lại thông tin vừa nhập

picture005

Xem thời gian hiện tại bằng lệnh

SELECT getdate()

Ghi nhận lại thời gian

picture006

Tiếp tục thêm thông tin thứ 2 vào table khachhang

INSERT INTO DemoDB4.dbo.KhachHang

VALUES (‘Do Quang Ngoc’, ‘doquangngoc@gmail.com’)

GO

picture007

Phải chuột vào table khachhang chọn edit top 200 rows, xem lại thông tin vừa nhập

picture008

Thực hiện backup transaction log

BACKUP LOG [Demodb4] TO DISK = ‘E:\Backup DemoDB4\demodb4.bak’

WITH NOFORMAT, NOINIT, NAME = ‘demodb4 Log Backup’

GO

picture009

Sau khi backup xong, tiếp tục thêm thông tin thứ 3 vào table khachhang

INSERT INTO DemoDB4.dbo.KhachHang

VALUES (‘Nguyen Ho Phi Long’, ‘Nhphilong@gmail.com’)

GO

picture010

Thục hiện backup log lần thứ 2

BACKUP LOG [Demodb4] TO DISK = ‘E:\Backup DemoDB4\demodb4.bak’

WITH NOFORMAT, NOINIT, NAME = ‘demodb4 Log Backup’

GO

picture011

Ghi nhận lại thời gian lần 2

SELECT getdate()

picture012

Phải chuột vào table khachhang chọn edit top 200 rows, xem thông tin trong table

picture013

Thực hiện restore lại thời thời điểm trước khi nhập mẫu tin thứ 3

Phải chuột vào database DemoDB4 chọn tasks RestoreDatabase

picture014

Trong phần source chọn database Demodb4, trong phần Destination chọn database DemoDB4, xem tất cả các đã file backup của database này, ấn Timeline…

picture015

Tại cửa sổ Backup Timeline chọn Specific date and time, chọn ngày và giờ tại thời điểm trước khi nhập mẫu tin thứ 3 Ok

picture016

Xem lại các backup file sẽ restore OK

picture017

Phải chuột vào table khachhang chọn edit top 200 rows, xem thông tin trong table sau khi phục hồi (chỉ có 2 mẫu tin)

picture018

  • Một cách khác là bạn có thể dùng các lệnh sau để phục hồi lại database tại một thời điểm, trước tiên bạn dùng lệnh sau Để xem thông tin các file backup

Use Demodb4;

Restore headeronly from disk = ‘E:\Backup DemoDB4\demodb4.bak’;

Go

picture019

Tiếp tục thực thi các lệnh sau:

use master

go

backup log demodb4 to disk =’E:\Backup DemoDB4\Tail_log.bak’

with Norecovery;

restore database demodb4

from disk = ‘E:\Backup DemoDB4\demodb4.bak’

with file =1, norecovery;

restore log demodb4

from disk = ‘E:\Backup DemoDB4\demodb4.bak’

with file =2, norecovery;

restore log demodb4

from disk = ‘E:\Backup DemoDB4\Tail_log.bak’

——

Lab SQL server 2014 phần 5

Mr CTL – CTL.VN


Leave a Reply