Lập lịch tự động sao lưu cơ sở dữ liệu trên SQL Server sử dụng SSMS

Giới thiệu

Bài trước chúng ta đã tìm hiểu lý thuyết về các cách sao lưu và phục hồi cơ sở dữ liệu trên SQL Server. Bài này tôi sẽ hướng dẫn chi tiết các bước lập lịch để SQL Server tự động sao lưu cơ sở dữ liệu .bak (backup database) ở một thời điểm nào đó sử dụng SQL Server Management Studio (SSMS).
Để tự động và lập lịch tự động sao lưu cơ sở dữ liệu với SQL Server Agent.

Các bước thực hiện

1. Mở SQL Server Management Studio của bạn

Connect to SQL Server

2. Đăng nhập vào SQL Server Management Studio (SSMS) và kết nối tới cơ sở dữ liệu. Tới cửa sổ Object Explorer (ở bên trái của màn hình) và chắc chắn rằng SQL Server Agent là đang chạy.

Object Explorer

3. Mở thư mục tên Management và tìm thư mục Maintenance Plan. Kích chuột phải vào thư mục Maintenance Plan và chọn New Maintenance Plan… Đây là cách để tạo Backup SQL Database tự động.

Maintenance Plans

4. Nhập vào tên Maintenance Plan mà bạn muốn đặt, rồi ấn OK. Sau đó ấn vào biểu tượng Calendar ở phía trên bên phải chỗ dòng bôi đậm đang được chọn. Một màn hình New Job Schedure  sẽ hiển thị ra cho bạn thiết lập các thông số cần thiết như bạn lập lịch job đó chạy hàng ngày, hàng tuận, thời gian bắt đầu, v.v.

New Maintenance Plan

Config Maintenance Plans

5. Tiếp theo từ bên cạnh màn hình bên trái, bạn chọn thanh Toolbox, rồi chọn Backup Database Task để thiết lập tiến trình backup và kéo các thành phần vào màn hình bên phải như hình bên dưới.

Back Up Database Task

6. Bây giờ bạn kích đúp chuột vào Back Up Database Task. Màn hình cấu hình sẽ được mở ra, bạn sẽ cấu hình các thông số như kiểu sao lưu (Full, Differential, …), chọn các Database để sao lưu và các thông số khác liên quan đến sao lưu ở các tab Destination, Options.

Config Back Up Database Task

Config Back Up Database Task1

7. Chọn các Options mà sẽ backup. Bạn cũng có thể chọn các tệp sẽ hết hạn sau một khoảng thời gian cụ thể hoặc vào một ngày cụ thể.

Config Back Up Database Task

8. Bây giờ từ Object Explorer > SQL Server Agent > Jobs dưới SQL Agent Jobs, chúng ta có thể tìm thấy job sẽ được tạo tự động theo Maintenance Plan đã được tạo ở trên.

SQL Server Agent

Và bạn kích chuột phải vào job này, và chọn Start job at Step để chạy thử Maintenance Plan mà bạn đã tạo trước đó.

SQL Server Agent Jobs

Start Jobs

9. Bây gừi hãy kiểm tra file bakup mà bạn đã chọn nơi lưu ở bước trước

Check File Backup SQL

Tổng kết

Các phiên bản SQL Server Express không cung cấp cách lập lịch các job hoặc maintenance plans vì thành phần SQL Server Agent không bao gồm trong các phiên bản này. Do đó, bạn phải xem xét một cách tiếp cận khác để sao lưu cơ sở dữ liệu của bạn khi sử dụng các phiên bản này.

Hiện tại người dùng SQL Server Express có thể sao lưu cơ sở dữ liệu của họ bằng cách sử dụng một trong các phương pháp sau:

  • Sử dụng SQL Server Management Studio Express. Điều này được cài đặt cùng với SQL Server Express Advanced Service hoặc SQL Server Express Toolkit.
  • Sử dụng tập lệnh Transact-SQL (T-SQL) và sử dụng câu lệnh BACKUP DATABASE.

Maintenance Plans phù hợp hơn với các DBA ít kinh nghiệm vì chúng cung cấp giao diện đồ hoạ – GUI dễ sử dụng và không yêu cầu các tập lệnh bảo trì được viết thủ công. Nhược điểm của Maintenance Plans là các tác vụ cung cấp ở mức cơ bản và không có nhiều tùy chỉnh.

Maintenance Plan cũng là nguyên tử và do đó không thể chạy nhiều tác vụ. Mỗi loại Maintenance Task trong một Maintenance Plan chỉ có thể được định cấu hình để chạy một lần trong Plan đó. Ví dụ: nếu một tác vụ được thực hiện để xóa các tệp sao lưu cũ hơn, nó sẽ chỉ xóa một loại tệp tại một thời điểm. Do nhiềuMaintenance Plans phải được tạo chỉ để thực hiện một tác vụ duy nhất, trong một số trường hợp, và mỗi Maintenance Plan phải có một job SQL Server Agent tương ứng được lập lịch.

Đó là tất cả, kế hoạch sao lưu của bạn đã sẵn sàng và tất cả các bản sao lưu của bạn sẽ được thực hiện theo lịch trình đã định. Bây giờ bạn đã biết cách sao lưu cơ sở dữ liệu một cách tự động trên SQL Server sử dụng SSMS

Có thể bạn sẽ thích…

Trả lời

EnglishVietnamese