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

SQL Server 2016:Sao lưu cơ sở dữ liệu

SQL Server cung cấp một cách dễ dàng để tạo bản sao lưu cơ sở dữ liệu. Sao lưu có thể được thực hiện bằng Transact-SQL, PowerShell hoặc thông qua SQL Server Management Studio GUI.

Ở đây, tôi sẽ trình bày cách tạo bản sao lưu bằng GUI của Hệ thống quản lý SQL Server, sau đó sử dụng Transact-SQL, cuối cùng là với SQL Server Powershell.

Tạo bản sao lưu qua GUI

  1. Khởi chạy Cơ sở dữ liệu sao lưu Hộp thoại

    Trong Trình khám phá đối tượng, nhấp chuột phải vào cơ sở dữ liệu bạn muốn sao lưu và chọn Tác vụ> Sao lưu ... từ menu ngữ cảnh.

  2. Xem lại Cài đặt sao lưu

    Hộp thoại này cho bạn cơ hội thay đổi bất kỳ cài đặt nào nếu được yêu cầu.

    Đối với ví dụ của chúng tôi, hãy để nó ở cài đặt mặc định và nhấp vào OK để tạo bản sao lưu.

    Bạn có thể thay đổi cơ sở dữ liệu tại đây nếu bạn vô tình chọn sai ở bước trước.

  3. Hoàn tất sao lưu

    Bạn sẽ nhận được thông báo khi sao lưu hoàn tất.

    Nhấp vào OK để đóng thư và hộp thoại.

    Tệp sao lưu bây giờ sẽ được đặt tại vị trí đã chỉ định.

Sao lưu cơ sở dữ liệu bằng Transact-SQL

  • Bạn có thể thực hiện sao lưu tương tự như trên bằng cách sử dụng SQL.

    Để thực hiện việc này, hãy mở một cửa sổ truy vấn mới và thực thi BACKUP tuyên bố.

    BACKUP câu lệnh chấp nhận các tùy chọn khác nhau (giống như tùy chọn GUI), nhưng bạn cũng có thể chạy một bản sao lưu đơn giản với tối thiểu mã.

    Mã mẫu

    Dưới đây là ví dụ về một tập lệnh sao lưu đơn giản chỉ định cơ sở dữ liệu để sao lưu và vị trí để sao lưu nó.

    Sau khi chạy mã này, tệp sao lưu sẽ được đặt tại vị trí được chỉ định.

    BACKUP DATABASE Music  
    TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';

    Bạn có thể xem cú pháp đầy đủ cho BACKUP tuyên bố trên trang web của Microsoft.

Sao lưu cơ sở dữ liệu bằng PowerShell

SQL Server 2016 hỗ trợ Windows PowerShell, là một trình bao kịch bản, thường được sử dụng để tự động hóa các tác vụ quản trị và triển khai.

Ngôn ngữ PowerShell hỗ trợ logic phức tạp hơn so với các tập lệnh Transact-SQL, mang đến cho bạn khả năng xây dựng các tập lệnh phức tạp hơn cho các bản sao lưu và các tác vụ khác của bạn.

  1. Mở PowerShell

    Nhấp chuột phải vào cơ sở dữ liệu và chọn Start Powershell .

  2. Chạy lệnh sao lưu

    Nhập lệnh để tạo bản sao lưu và nhấn Enter (hoặc Trả lại , tùy thuộc vào bàn phím của bạn).

    Bản sao lưu sẽ chạy ngay lập tức.

    Mã mẫu

    Đoạn mã sau sẽ tạo một bản sao lưu giống như các ví dụ trước. Chỉ cần thay thế MyServer với tên máy chủ của bạn.

    Sau khi chạy mã này, tệp sao lưu sẽ được đặt ở vị trí mặc định.

    Backup-SqlDatabase -ServerInstance MyServer -Database Music

    Bạn cũng có thể chỉ định một vị trí

    Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'

    Bạn cũng có thể chỉ định -BackupAction Database để tuyên bố rõ ràng rằng nó là một bản sao lưu đầy đủ. Tuy nhiên, đây là tùy chọn mặc định.

    Bạn có thể xem tài liệu đầy đủ cho Backup-SqlDatabase lệnh tại trang web của Microsoft.

Ghi đè các tệp sao lưu

Nếu bạn đã chạy tất cả các ví dụ trên chính xác như hiện tại, bạn có thể nhận thấy rằng mỗi lần bạn chạy nó, kích thước tệp của tệp sao lưu sẽ tăng lên.

Điều này là do mỗi bản sao lưu liên tiếp đang thêm chính nó vào tệp hiện có.

Nó làm được điều này bởi vì chúng tôi đang sử dụng cùng một tên tệp và chúng tôi chưa chỉ định rõ ràng rằng mỗi bản sao lưu sẽ ghi đè lên bất kỳ tệp hiện có nào.

Có một tùy chọn cho phép bạn ghi đè lên tệp hiện có.

  • Sử dụng GUI , nhấp vào Tùy chọn phương tiện trong menu bên trái của Cơ sở dữ liệu sao lưu hộp thoại và chọn Ghi đè tất cả các bộ sao lưu hiện có trong Phương tiện ghi đè phần.
  • Sử dụng SQL thêm WITH INIT vào câu lệnh SQL.
  • Sử dụng Powershell , thêm -Initialize vào lệnh.

Lưu tệp sao lưu

Tuy nhiên, bạn nên tạo một bản sao lưu đầy đủ với một tên tệp duy nhất (thường bao gồm ngày trong tên tệp). Có một tên tệp duy nhất sẽ có nghĩa là mỗi bản sao lưu sẽ là một tệp riêng biệt.

Ngoài ra, tùy thuộc vào kích thước cơ sở dữ liệu của bạn và lượng dữ liệu mới đang được nhập vào đó, bạn có thể muốn bổ sung các bản sao lưu đầy đủ của mình bằng các bản sao lưu khác nhau. Một bản sao lưu khác biệt chỉ nắm bắt dữ liệu đã thay đổi kể từ lần sao lưu đầy đủ gần đây nhất.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server 2008 Dữ liệu dọc sang ngang

  2. Ưu điểm về hiệu suất của SQL Server 2016 Enterprise Edition

  3. Giám sát truy vấn chạy SQL Server

  4. Tạo một hàm vô hướng do người dùng xác định trong SQL Server

  5. Tập lệnh để loại bỏ tất cả các kết nối đến cơ sở dữ liệu (Hơn RESTRICTED_USER ROLLBACK)