1. Sao lưu cơ sở dữ liệu bằng BACKUP DATABASE

Câu lệnh  BACKUP DATABASE được sử dụng trong SQL Server để tạo bản sao lưu đầy đủ của cơ sở dữ liệu SQL hiện có. Việc sao lưu cơ sở dữ liệu là rất cần thiết vì trong một số trường hợp có thể chính chúng ta có thể xóa nhầm đi các cơ sở dữ liệu cần thiết, và nếu như không thực hiện việc sao lưu thì dữ liệu sẽ bị mất hoàn toàn.

Cú pháp của câu lệnh BACKUP DATABASE như sau:

BACKUP DATABASE databasename
TO DISK = 'filepath';

Trong đó:

  • BACKUP DATABASE là câu lệnh cần có
  • databasename là tên cơ sở dữ liệu cần sao lưu
  • TO DISK là câu lệnh chỉ ra địa chỉ cơ sở dữ liệu sẽ được lưu trữ (Ví dụ ổ đĩa: E, C, F…)
  • filepatch là địa chỉ cụ thể đến file sao lưu

Một cách thứ hai để ta có thể sao lưu được cơ sở dữ liệu đó là sao lưu mỗi khi cơ sở dữ liệu có sự khác tác động và gây ra sự biệt với cơ sở dữ liệu đã sao lưu ví dụ như các thao tác thêm sửa xóa dữ liệu. Cú pháp như sau:

BACKUP DATABASE databasename
TO DISK = 'filepath'
WITH DIFFERENTIAL;

2. Ví dụ BACKUP DATABASE

Ví dụ dưới đây tôi sẽ sao lưu lại cơ sở dữ liệu có tên Laptrinhtudau mà tôi đã tạo ở những bài trước. Tôi sẽ sử dụng câu lệnh như sau:

BACKUP DATABASE Laptrinhtudau
TO DISK = 'D:\backups\Laptrinhtudau.bak';

Ở ví dụ trên, tôi sẽ sao lưu lại cơ sở dữ liệu Laptrinhtudau tại ổ đĩa D:\, thư mục backups và tên file là Laptrinhtudau.bak

Chú ý: Luôn sao lưu cơ sở dữ liệu vào ổ đĩa khác với cơ sở dữ liệu thực. Trong trường hợp, nếu bạn gặp sự cố  về ổ đĩa, bạn sẽ không bị mất tệp sao lưu cùng với cơ sở dữ liệu.

Ví dụ dưới đây sẽ sao lưu lại cơ sở dữ liệu Laptrinhtudau khi có sự thay đổi hay tác động đến cơ sở dữ liệu đó:

BACKUP DATABASE Laptrinhtudau
TO DISK = 'D:\backups\Laptrinhtudau.bak'
WITH DIFFERENTIAL;

Hai cách sao lưu trên đều lưu sao lưu được cơ sở dữ liệu, tuy nhiên việc sao lưu khi cơ sở dữ liệu có sự khác biệt hay thay đổi sẽ làm cho việc sao lưu nhanh hơn vì chỉ những thay đổi mới được sao lưu!