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

Tạo kế hoạch bảo trì cơ sở dữ liệu

Sử dụng kế hoạch bảo trì cơ sở dữ liệu, chúng ta có thể tự động hóa các hoạt động quản trị cơ sở dữ liệu cơ bản. Kế hoạch bảo trì là gói dịch vụ tích hợp SQL Server được thực thi bởi công việc SQL Server Agent theo lịch trình đã định cấu hình. Sử dụng kế hoạch bảo trì, chúng tôi có thể tự động hóa các tác vụ sau.

  1. Thu nhỏ cơ sở dữ liệu
  2. Sao lưu cơ sở dữ liệu
  3. Thông báo của nhà điều hành
  4. Cập nhật thống kê cơ sở dữ liệu
  5. Thực hiện kiểm tra tính toàn vẹn của cơ sở dữ liệu
  6. Thực thi các công việc của SQL Server Agent
  7. Thực thi tập lệnh T-SQL
  8. Tổ chức lại hoặc xây dựng lại các chỉ mục

Hơn nữa, chúng tôi có thể thiết lập cảnh báo để thông báo cho DBA về trạng thái thực hiện kế hoạch bảo trì bằng cách bật Thư cơ sở dữ liệu.

Trong bài viết này, tôi sẽ giải thích cách tạo một kế hoạch bảo trì cơ bản để thực hiện kiểm tra tính nhất quán của cơ sở dữ liệu trên cơ sở dữ liệu người dùng.

Điều kiện tiên quyết để tạo một kế hoạch bảo trì cơ sở dữ liệu

Để tạo một kế hoạch bảo trì cơ sở dữ liệu, điều kiện tiên quyết là sau đây:

  1. Các dịch vụ tích hợp phải được cài đặt
  2. Dịch vụ SQL Server Agent phải đang chạy.

Các dịch vụ tích hợp phải đang chạy

Như tôi đã đề cập, các kế hoạch bảo trì cơ sở dữ liệu là các gói dịch vụ tích hợp SQL Server, do đó để thực thi chúng, các dịch vụ tích hợp phải được cài đặt.

Để xác minh rằng các dịch vụ tích hợp đã được cài đặt, hãy mở Trình quản lý cấu hình máy chủ SQL , chọn Dịch vụ máy chủ SQL trong ngăn bên trái. Bạn có thể xem phiên bản dịch vụ tích hợp ở đầu danh sách.

Nếu các dịch vụ tích hợp chưa được cài đặt, thì hãy cài đặt chúng bằng trình cài đặt SQL Server. Xem bài viết này để tham khảo.

SQL Server Agent Service phải đang chạy

Thư cơ sở dữ liệu gửi email hoặc tin nhắn bằng SQL Server Agent Service. Nếu Dịch vụ tác nhân không chạy, thì SQL Server không thể gửi email. Trong khi Dịch vụ Đại lý không chạy, tất cả các thư sẽ được xếp hàng đợi và khi dịch vụ Đại lý bắt đầu, tất cả các thư đã xếp hàng sẽ được gửi.

Để xác minh trạng thái của Dịch vụ tác nhân, hãy thực thi lệnh sau trong SQL Server Management Studio.

use master
go
EXEC xp_servicecontrol N'querystate',N'SQLAgent$CMS'

Kết quả như sau:

Nếu Dịch vụ tác nhân SQL Server không chạy, thì chúng ta phải khởi động nó. Để bắt đầu Dịch vụ tác nhân SQL Server, hãy mở dịch vụ, đi tới Bảng điều khiển , nhấp vào Công cụ quản trị , sau đó nhấp vào Dịch vụ . Trong danh sách dịch vụ, hãy tìm kiếm SQL Server Agent . Nhấp chuột phải vào SQL Server Agent và chọn Bắt đầu .

Nếu bạn muốn gửi email trạng thái của kế hoạch bảo trì hơn, bạn phải bật Thư cơ sở dữ liệu và nó có thể được thực hiện bằng cách thay đổi các tham số cấu hình cá thể cơ sở dữ liệu. Theo mặc định, Thư cơ sở dữ liệu tính năng không được kích hoạt. Nó phải được bật bằng cách thay đổi giá trị cấu hình của Database Mail XPs.

Để bật Thư cơ sở dữ liệu , thực hiện các truy vấn sau theo trình tự.

USE master
Go
EXEC sp_configure 'show advanced options', 1 --Enable advance option
Go
RECONFIGURE
Go
EXEC sp_configure 'Database Mail XPs,' 1 --Enable database Mail option
Go
RECONFIGURE
Go
EXEC sp_configure 'show advanced options', 0 --Disabled advanced option
Go
RECONFIGURE
Go

Thiết lập Demo

Đối với bản trình diễn này, tôi sẽ tạo một kế hoạch bảo trì để thực hiện kiểm tra tính nhất quán của cơ sở dữ liệu trên FileStream_Demo cơ sở dữ liệu. Kế hoạch bảo trì sẽ thực hiện lúc 12:00 sáng Chủ Nhật hàng tuần.

Phiên bản SQL Server :SQL Server 2017.

Phần mềm :SQL Server Management Studio.

Có thể tạo kế hoạch bảo trì cơ sở dữ liệu bằng cách sử dụng Trình hướng dẫn kế hoạch bảo trì hoặc sử dụng bề mặt thiết kế kế hoạch bảo trì. Trước tiên, tôi sẽ giải thích cách tạo kế hoạch bảo trì bằng cách sử dụng Trình hướng dẫn kế hoạch bảo trì .

Tạo kế hoạch bảo trì bằng Trình hướng dẫn kế hoạch bảo trì

Chúng tôi có thể tạo nhiều kế hoạch bảo trì bằng cách sử dụng Trình hướng dẫn kế hoạch bảo trì cơ sở dữ liệu . Trình hướng dẫn có một số tác vụ bảo trì được xác định trước có thể được định cấu hình từng bước.

Để tạo kế hoạch bảo trì bằng trình hướng dẫn, hãy mở SSMS, mở rộng Quản lý , nhấp chuột phải vào Kế hoạch bảo trì và chọn Trình hướng dẫn kế hoạch bảo trì.

Trình hướng dẫn kế hoạch bảo trì hộp thoại mở ra, nơi bạn có thể xem tóm tắt các tác vụ có thể được thực hiện bằng trình hướng dẫn. Bạn có thể bỏ qua nó và nhấp vào Tiếp theo .

Trên hộp thoại tiếp theo, chỉ định tên và mô tả mong muốn của kế hoạch bảo trì. Chỉ định người dùng hoặc tài khoản thực hiện kế hoạch bảo trì. Như tôi đã đề cập, bạn có thể tạo nhiều kế hoạch bảo trì bằng trình hướng dẫn; hộp thoại này chứa một tùy chọn để định cấu hình lịch biểu. Bạn có thể thực hiện tất cả các nhiệm vụ cùng một lúc hoặc bạn có thể chỉ định một lịch trình duy nhất cho toàn bộ kế hoạch. Chỉ định tên và mô tả mong muốn trong Tên Mô tả hộp văn bản. SQL Server Agent chạy kế hoạch bảo trì nếu tài khoản dịch vụ SQL Server Agent đã được chọn. Kế hoạch của chúng tôi sẽ thực hiện riêng lẻ, do đó hãy chọn Lịch biểu duy nhất cho toàn bộ kế hoạch hoặc không có lịch biểu .

Để định cấu hình lịch biểu, hãy nhấp vào Lịch biểu bên cạnh nút Thay đổi hộp văn bản. Lịch trình công việc mới hộp thoại mở ra. Chỉ định tên mong muốn trong Tên hộp văn bản. Kế hoạch bảo trì sẽ thực hiện hàng tuần, do đó hãy chọn Định kỳ trong Loại lịch biểu thả cái hộp xuống. Như đã đề cập, kế hoạch bảo trì thực hiện hàng tuần, do đó hãy chọn Hàng tuần trong hộp thả xuống và chọn Chủ nhật. Nhiệm vụ thực thi lúc 12:00 sáng, do đó hãy nhập 12:00:00 sáng trong hộp văn bản tương ứng. Nhấp vào OK .

Sau khi lịch được định cấu hình, hãy nhấp vào Tiếp theo trên Chọn thuộc tính gói hộp thoại.

Trên Chọn Nhiệm vụ Bảo trì , chọn hộp thoại Kiểm tra tính toàn vẹn của cơ sở dữ liệu hộp kiểm và nhấp vào Tiếp theo .

Nếu nhiều nhiệm vụ bảo trì đã được định cấu hình, bạn có thể sắp xếp chúng trong Chọn thứ tự nhiệm vụ bảo trì hộp thoại. Chỉ một tác vụ được định cấu hình, sau đó không cần thực hiện hành động nào ở đây. Nhấp vào Tiếp theo .

Trong hộp thoại tiếp theo, chọn tên của cơ sở dữ liệu nơi tác vụ bảo trì sẽ được thực thi. Chọn FileStream_Demo cơ sở dữ liệu từ Cơ sở dữ liệu hộp thả xuống và nhấp vào Tiếp theo .

Trong hộp thoại tiếp theo, chọn tùy chọn ghi nhật ký. Bạn có thể ghi trạng thái thực hiện kế hoạch bảo trì vào tệp văn bản hoặc bạn có thể gửi email cảnh báo. Chọn tùy chọn mong muốn và nhấp vào Tiếp theo .

Trong hộp thoại tiếp theo, bạn có thể xem tóm tắt các nhiệm vụ được thực hiện để tạo kế hoạch bảo trì. Xem lại chúng và nhấp vào Hoàn tất .

Sau khi kế hoạch được tạo, Trình hướng dẫn kế hoạch bảo trì hoàn thành thành công.

Tạo kế hoạch bảo trì tùy chỉnh bằng cách sử dụng bề mặt Trình thiết kế kế hoạch bảo trì

Như tôi đã giải thích, Trình hướng dẫn kế hoạch bảo trì có một số tác vụ cơ bản được xác định trước không cung cấp thêm tùy chọn kiểm soát và tùy chỉnh. Ví dụ:nếu bạn muốn chạy một tập lệnh SQL trước khi thực hiện bất kỳ tác vụ bảo trì nào, thì không thể thực hiện nó bằng trình hướng dẫn.

Để tạo kế hoạch bảo trì tùy chỉnh, hãy mở SQL Server Management Studio, mở rộng Quản lý , nhấp chuột phải vào Kế hoạch bảo trì và chọn Kế hoạch bảo trì mới .

Trong hộp thoại, chỉ định tên mong muốn của kế hoạch bảo trì và nhấp vào OK .

Nhà thiết kế kế hoạch bảo trì mở ra. Nó có hai phần. Trong phần đầu tiên, bạn có thể chỉ định tên và mô tả của kế hoạch bảo trì. Bạn có thể thay đổi các thuộc tính của kế hoạch phụ hiện có hoặc thêm kế hoạch phụ vào kế hoạch bảo trì hiện có.

Mô tả của các thành phần riêng lẻ:

Khi bạn tạo một kế hoạch bảo trì mới, SQL sẽ tạo một kế hoạch con mặc định có tên là Subplan_1 . Chúng tôi có thể chỉnh sửa các thuộc tính của nó. Để chỉnh sửa kế hoạch phụ mặc định, hãy nhấp vào Chỉnh sửa thuộc tính kế hoạch phụ cái nút. Ngoài ra, chọn sơ đồ phụ từ chế độ xem lưới và nhấp đúp vào sơ đồ đó. Thuộc tính kế hoạch phụ hộp thoại mở ra. Chỉ định tên mong muốn của kế hoạch phụ và nhấp vào OK .

Như tôi đã đề cập trước đó, chúng tôi sẽ tạo một công việc bảo trì để thực hiện kiểm tra tính nhất quán của cơ sở dữ liệu. Kéo Kiểm tra tác vụ toàn vẹn cơ sở dữ liệu từ Kế hoạch bảo trì hộp công cụ và thả đến Trình thiết kế kế hoạch bảo trì bề mặt.

Nhấp đúp vào Kiểm tra tác vụ toàn vẹn cơ sở dữ liệu . Tác vụ Kiểm tra tính toàn vẹn của cơ sở dữ liệu hộp thoại mở ra.

Trong hộp thoại, chọn kết nối SQL Server từ Kết nối thả cái hộp xuống. Bạn cũng có thể tạo kết nối mới bằng cách nhấp vào nút Mới cái nút. Khi bạn nhấp vào (các) Cơ sở dữ liệu hộp thả xuống, một hộp thoại với nhiều tùy chọn sẽ mở ra. Bạn có thể thực hiện kiểm tra tính nhất quán trên:

  1. Tất cả cơ sở dữ liệu
  2. Chỉ cơ sở dữ liệu hệ thống (chính, msdb, model, TempDB)
  3. Cơ sở dữ liệu người dùng
  4. Cơ sở dữ liệu cụ thể.

Bạn cũng có thể bỏ qua danh sách cơ sở dữ liệu đang ngoại tuyến. Như đã đề cập, chúng tôi muốn thực hiện kiểm tra tính nhất quán trên FileStream_Demo cơ sở dữ liệu. Chọn FileStream_Demo từ Các cơ sở dữ liệu này danh sách và nhấp vào OK .

Khi nhiệm vụ kiểm tra tính toàn vẹn của cơ sở dữ liệu hoàn tất, hãy lên lịch thời gian thực hiện của nó. Để làm điều đó, hãy nhấp vào Lịch trên thanh công cụ.

Ngoài ra, bạn có thể nhấp đúp vào kế hoạch phụ để mở thuộc tính và nhấp vào Lịch bên cạnh nút Lịch biểu hộp văn bản.

Lịch trình công việc mới hộp thoại mở ra. Như đã đề cập, công việc phải thực hiện lúc 12:00 sáng Chủ nhật hàng tuần, do đó, hãy tạo lịch trình cho phù hợp. Trong Tên hộp văn bản, chỉ định tên công việc mong muốn, chọn loại lịch biểu mong muốn. Trong Tần suất , chọn Hàng tuần trong Xảy ra hộp văn bản. Công việc sẽ thực hiện mỗi tuần một lần, do đó hãy chọn 1 trong Lặp lại mỗi lần hộp văn bản. Bên dưới, chọn Chủ nhật . Trong Tần suất hàng ngày , chỉ định thời gian trong phần Xảy ra một lần lúc hộp văn bản. Công việc sẽ được thực hiện lúc 12:00 AM, do đó hãy nhập 12:00:00 AM vào đó. Và cuối cùng, chọn ngày bắt đầu công việc và nhấp vào OK .

Sau khi lịch biểu được tạo, bạn có thể xem tóm tắt lịch biểu trong Lịch biểu cột của chế độ xem lưới sơ đồ phụ.

Sau khi kế hoạch bảo trì được tạo, hãy lưu nó. Bạn có thể xem kế hoạch bảo trì trong Kế hoạch bảo trì thư mục trong Quản lý .

Dịch vụ SQL Server Agent thực thi kế hoạch bảo trì; do đó lịch trình của kế hoạch bảo trì được liệt kê trong Công việc danh mục. Để xem nó, hãy mở SSMS, mở rộng SQL Server Agent và mở rộng Công việc .

Bạn có thể thực hiện kế hoạch bảo trì theo cách thủ công. Để làm điều đó, hãy nhấp chuột phải vào Kế hoạch bảo trì và nhấp vào Thực thi .

Kế hoạch bảo trì hoàn thành thành công. Bạn có thể xem báo cáo bằng cách nhấp vào Báo cáo và chọn nút Xem báo cáo tùy chọn.

Bạn cũng có thể di chuyển nhiệm vụ bảo trì hiện có sang một máy chủ khác bằng cách xuất nó sang hệ thống tệp và triển khai theo cách thủ công trên máy chủ khác. Như tôi đã đề cập, kế hoạch bảo trì cơ sở dữ liệu là các gói dịch vụ tích hợp được lưu trữ trong cơ sở dữ liệu MSDB. Để xuất kế hoạch bảo trì sang hệ thống tệp, hãy kết nối với các dịch vụ tích hợp bằng SQL Server Management Studio, mở rộng Gói được lưu trữ , sau đó mở rộng Kế hoạch bảo trì , nhấp chuột phải vào kế hoạch bảo trì có tên Công việc kiểm tra tính nhất quán của cơ sở dữ liệu và chọn Gói xuất khẩu .

Gói xuất khẩu hộp thoại mở ra. Trong Vị trí gói hàng hộp thả xuống, chọn Hệ thống tệp . Trong Đường dẫn gói , nhập vị trí nơi kế hoạch bảo trì sẽ được lưu vào và nhấp vào OK.

Kế hoạch bảo trì sẽ được xuất đến vị trí mong muốn.

Tóm tắt

Trong bài viết này, tôi đã giải thích:

  1. Kế hoạch bảo trì là gì;
  2. Điều kiện tiên quyết để tạo kế hoạch bảo trì;
  3. Cách tạo các kế hoạch bảo trì tùy chỉnh;
  4. Cách tạo kế hoạch bảo trì bằng trình hướng dẫn;
  5. Cách xuất kế hoạch bảo trì sang hệ thống tệp.

Công cụ hữu ích:

dbForge Studio dành cho SQL Server - IDE mạnh mẽ để quản lý, quản trị, phát triển, báo cáo và phân tích dữ liệu SQL Server.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lệnh TCL trong SQL

  2. Mô hình Cơ sở dữ liệu cho Hệ thống Đặt chỗ của Trường Lái xe. Phần 2

  3. Nhiều kế hoạch cho một truy vấn giống hệt nhau

  4. Hoàn thiện SQL. Câu chuyện về thành công và thất bại

  5. Lỗi T-SQL, cạm bẫy và các phương pháp hay nhất - tham gia