Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Проверка на историята на плана за поддръжка на SQL Server за успех или неуспех

По предложение на Nathans стартирах SQL Profiler и компилирах тези заявки в една, за да отговарят на нуждите ми.

Тази заявка ще даде състоянието на последното изпълнение на всеки план за поддръжка, който включва текущата база данни:

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)

Това работи най-добре с планове за поддръжка, генерирани от съветника. Специалните планове не винаги включват командата за филтриране. Но свързването на таблицата все още работи.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Физическото местоположение на данните от FILESTREAM

  2. Оптимистичен едновременност:IsConcurrencyToken и RowVersion

  3. Как да създадете функция на SQL Server, за да обедините множество редове от подзаявка в едно ограничено поле?

  4. Как работят имплицитните транзакции в SQL Server

  5. Как да извлечете данни от xml колона в sql 2008