Bạn có thể sử dụng T-SQL BACKUP DATABASE
để sao lưu bất kỳ cơ sở dữ liệu SQL Server nào.
Bài viết này hướng dẫn bạn cách sao lưu cơ sở dữ liệu vào đĩa. Thao tác này tạo tệp .bak có thể được sử dụng sau này để khôi phục cơ sở dữ liệu nếu được yêu cầu.
Tạo bản sao lưu đầy đủ
Dưới đây là một ví dụ cơ bản về việc tạo một bản sao lưu đầy đủ của cơ sở dữ liệu SQL Server vào đĩa:
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak';
Ví dụ này tạo một bản sao lưu đầy đủ của cơ sở dữ liệu Phim vào một tệp trên đĩa Ví dụ này sử dụng một vị trí trên ổ Z, nhưng đường dẫn có thể là bất cứ thứ gì bạn muốn. Cơ sở dữ liệu phải được sao lưu vào một ổ đĩa khác với ổ đĩa được sử dụng cho chính cơ sở dữ liệu thực tế. Bằng cách đó, nếu có lỗi đĩa, bạn sẽ không mất tệp sao lưu cùng với cơ sở dữ liệu.
Ví dụ sau cũng làm điều tương tự, nhưng ví dụ này sử dụng cú pháp đường dẫn tệp Linux và Mac:
BACKUP DATABASE Movies TO DISK = '/var/opt/mssql/backups/Movies.bak';
Tạo bản sao lưu khác biệt
Khi bạn đã tạo một bản sao lưu đầy đủ, bạn có thể tạo các bản sao lưu khác nhau. Sao lưu khác biệt là một trong đó chỉ các phần của cơ sở dữ liệu đã thay đổi kể từ khi tạo bản sao lưu cơ sở dữ liệu đầy đủ cuối cùng mới được sao lưu.
Các bản sao lưu khác biệt giúp giảm thời gian sao lưu cơ sở dữ liệu (do thực tế là chỉ những thay đổi kể từ lần sao lưu đầy đủ cuối cùng mới được sao lưu).
Để tạo một bản sao lưu khác biệt, hãy sử dụng cùng một BACKUP DATABASE
câu lệnh mà bạn sử dụng để tạo bản sao lưu đầy đủ, ngoại trừ lần này, hãy thêm WITH DIFFERENTIAL
mệnh đề.
Đây là một ví dụ:
BACKUP DATABASE Movies TO DISK = 'Z:\mssql\backups\Movies.bak' WITH DIFFERENTIAL;
Chạy câu lệnh này sẽ nối bản sao lưu khác biệt vào tệp sao lưu gốc có chứa bản sao lưu đầy đủ.
Sao lưu Nhật ký giao dịch
Bạn cũng có thể sao lưu nhật ký giao dịch. Điều này được thực hiện với BACKUP LOG
tuyên bố.
Đây là một ví dụ:
BACKUP LOG Movies TO DISK = 'Z:\mssql\backups\Movies_log.bak';