Hướng dẫn restore database sql server 2005

Việc sao lưu và phục hồi cơ sở dữ liệu là một trong những công việc khá quan trọng của một quản trị viên CSDL trong một hệ Quản trị CSDL.

Trong bài này mình xin chia sẻ cách sao lưu và phục hồi CSDL trong SQL Server 2005

II.Backup and Restore

1.Database Recovery Models : (Các kiểu phục hồi CSDL)

1.1 Full Recovery Model:

-Đối với kiểu phục hồi này, tất cả cơ sở dữ liệu sẽ được phục hồi.

-Khi thực thi các câu lệnh, các thao tác sẽ được ghi nhận trong Transaction log file (.log).chính vì vậy CSDL Có thể phục hồi từng thời điểm mong muốn.

-Các thao tác có thể phục hồi đầy đủ (nếu có sự cố).

-Nhược điểm : File Log tăng dung lượng rất nhanh.

Có thể phục hồi Cơ Sở Dữ Liệu ở mọi thời điểm.

1.2 Bulk-Logged Recovery Model:

Kiểu phục hồi này cũng chiếm dung lượng khá lớn, dĩ nhiên là ko bằng Full Logged. Như đã đề cập ở trên, Đối với kiểu Full Logged sẽ phục hồi tất cả trên CSDL ở mọi thời điểm, vì lý đo đó nên dung lượng file log sẽ răng rất nhanh. Để giải quyết vấn đề đó, Bulk Log tối ưu hơn việc sao lưu, và hạn chế đến mực tối thiểu sao lưu vào log file thông tin của :

Index creation Index rebuild Bulk copy operations BULK INSERT SELECT INTO BLOB operations

VD : CSDL chúng ta đã backup full với một bảng có 10 row, và sau đó chúng ta cho thêm 2 row thành 12 row. lở như có gì xảy ra với CSDL, Bây giờ với Bulk Log sẽ giúp chúng ta phục hồi từ Full log(gồm 10 row) + 2 row vừa thêm.

1.3 Simple Recovery Model:

-File Log sẽ được khóa cho đến khi tới một checkpoint nào đó.

-Kích thước file log hầu như không tăng.

-Các giao thức có sự cố sẽ không được phục hồi

Cách phục hồi này khá đơn giản và hiệu quả, nhưng chỉ phục hồi ở một giởi hạn nào đó.

2.SQL Server Database Backup:

2.1 Tổng quan

Backup Device:ổ đĩa băng từ hay đường dẫn file lưu backup

Các bước thực hiện khi backup(nguyên văn sách):

1. Logs the BACKUP statement in the transaction log.

2. Issues a checkpoint causing all outstanding dirty buffer pages to be written to the disk.

3. Writes all data pages specified by the FULL, DIFFERENTIAL, FILE, or FILEGROUP backup options to the backup media.

4. Writes all data modifications recorded in the transaction log that occurred during the backup to the backup media.

5. Logs the completion of the backup in the transaction log.

Các kiểu backup:

Full Backup : backup toàn bộ dữ liệu tại một thời điểm

Differential Backup: backup dữ liệu phát sinh sau thời điểm xảy ra Full Backup

File/Filegroup Backup: backup những file và filegroup

Transaction Log Backup: backup các log record hiện có trong log file, nghĩa là nó sao lưu các hành động (các thao tác xảy ra đối với database) chứ không sao lưu dữ liệu.

Partial Backup: sao lưu một phần

Copy Only Backup :Chỉ sao chép các bản sao lưu có thể được thực hiện trên các tập tin cơ sở dữ liệu và các bản ghi giao dịch để tạo ra mộtbản sao lưu mà không ảnh hưởng tới chuỗi của các sao lưucần thiết để khôi phục lại một cơ sở dữ liệu.

2.2 Cú Pháp lệnh :

a.Full Backup:

 --Full database backup of SmallWorks

BACKUP DATABASE SmallWorks

TO DISK = 'C:\SQLBackups\SmallWorksFull.BAK'

WITH DESCRIPTION = 'SmallWorks FULL Backup';

 b.Differential Backup

--Differential database backup of SmallWorks

BACKUP DATABASE SmallWorks

TO DISK = 'C:\SQLBackups\SmallWorksDiff.BAK'

WITH DIFFERENTIAL, DESCRIPTION = 'SmallWorks Differential Backup';

c.File/Filegroup Backup

--Full database backup of SmallWorks

0

BACKUP DATABASE SmallWorks

--Full database backup of SmallWorks

2

--Full database backup of SmallWorks

3

--Full database backup of SmallWorks

4

 --Full database backup of SmallWorks

6

 --Full database backup of SmallWorks

8

BACKUP DATABASE SmallWorks

--Full database backup of SmallWorks

2

BACKUP DATABASE SmallWorks

1

BACKUP DATABASE SmallWorks

2

d.Partial Backup

BACKUP DATABASE SmallWorks

3

BACKUP DATABASE SmallWorks

4

BACKUP DATABASE SmallWorks

5

e.Transaction Log Backup

BACKUP DATABASE SmallWorks

6

BACKUP DATABASE SmallWorks

7

BACKUP DATABASE SmallWorks

8

BACKUP DATABASE SmallWorks

9

 TO DISK = 'C:\SQLBackups\SmallWorksFull.BAK'

1

BACKUP DATABASE SmallWorks

7

TO DISK = 'C:\SQLBackups\SmallWorksFull.BAK'

3

TO DISK = 'C:\SQLBackups\SmallWorksFull.BAK'

4

f.Copy Only Backup

BACKUP DATABASE SmallWorks

TO DISK = 'C:\SQLBackups\SmallWorksFull.BAK'

6

TO DISK = 'C:\SQLBackups\SmallWorksFull.BAK'

7

3. Sao Lưu và phục hồi Cơ Sở Dữ Liệu với SQL Server 2005 Management Studio:

B1: Mở SQL Server 2005 Management Studio lên vào tạo mới một CSDL

–Right Click vào Database và chọn New Database

Hướng dẫn restore database sql server 2005

-Đặt tên cho CSDL là TempDataBase và chọn OK:

Hướng dẫn restore database sql server 2005

B2: Right Click vào Table và chọn Add New Table, và tạo một CSDL đơn giản:

Hướng dẫn restore database sql server 2005

B3: Nhập liệu :

Hướng dẫn restore database sql server 2005

B4: Bây chúng ta tiến hành backup :

-Các bạn chọn Right Click vào tên CSDL –> Task –> Backup

Hướng dẫn restore database sql server 2005

Trước tiên chúng ta Backup Full, nên chọn ở Backup Type là Full:

Chọn Add để ghi tên File và chọn nơi lưu file Backup:

Hướng dẫn restore database sql server 2005

Chọn OK : vậy là backup full xong

B6: Delete CSDL đi và thử Restore nó lại :

-Delete CSDL

-Right Click và Database chọn Restore Database :

Hướng dẫn restore database sql server 2005

-Điền tên CSDL vào To Database, chọn From Devide, kế tiếp chọn vào Button … như hình dưới và đưa đường dẫn đến File Backup(.bak) :