Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Cách sao lưu cơ sở dữ liệu SQL Server bằng T-SQL

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';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nhận giá trị trả về từ thủ tục được lưu trữ trong C #

  2. Tầng một ngày trong máy chủ SQL

  3. Máy chủ SQL ROWCOUNT_BIG ()

  4. Làm cách nào để tìm các bản sao trên nhiều cột?

  5. Sử dụng SQL Server làm kho lưu trữ hình ảnh