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

Kiểm tra lịch sử kế hoạch bảo trì SQL Server xem thành công hay thất bại

Theo đề xuất của Nathans, tôi đã chạy trình biên dịch SQL và biên dịch các truy vấn đó thành một truy vấn duy nhất để phù hợp với nhu cầu của tôi.

Truy vấn này sẽ cung cấp trạng thái của lần chạy gần đây nhất của bất kỳ kế hoạch bảo trì nào bao gồm cơ sở dữ liệu hiện tại:

SELECT
    mp.name AS [MTX Plan Name],
    msp.subplan_name AS [Sub Plan Name],    
    mpl.start_time AS [JobStart],
    mpl.end_time AS [JobEnd],
    mpl.succeeded AS [JobSucceeded]
FROM
    msdb.dbo.sysmaintplan_plans mp
    INNER JOIN msdb.dbo.sysmaintplan_subplans msp ON mp.id = msp.plan_id
    INNER JOIN msdb.dbo.sysmaintplan_log mpl ON msp.subplan_id = mpl.subplan_id
        AND mpl.task_detail_id = -- Get the most recent run for this database
            (SELECT TOP 1 ld.task_detail_id 
            FROM msdb.dbo.sysmaintplan_logdetail ld
            WHERE ld.command LIKE ('%['+db_name()+']%')
            ORDER BY ld.start_time DESC)

Điều này hoạt động tốt nhất với các kế hoạch bảo trì được tạo bởi trình hướng dẫn. Các kế hoạch đặc biệt không phải lúc nào cũng bao gồm lệnh để lọc nhưng liên kết bảng vẫn hoạt động.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách chỉ định vị trí của tệp dữ liệu và tệp nhật ký khi tạo cơ sở dữ liệu trong SQL Server

  2. SQL Server - Ưu và nhược điểm của Dirty Reads

  3. BCP - Giá trị ký tự không hợp lệ cho đặc tả truyền khi nhập vào bảng có cột IDENTITY

  4. Phân trang dựa trên bù đắp / Tìm nạp (Triển khai) trong EntityFramework (Sử dụng LINQ) cho SQL Server 2008

  5. Thay đổi vị trí của NULL trong việc sắp xếp