sql >> Databáze >  >> RDS >> Sqlserver

Kontrola historie plánu údržby serveru SQL pro úspěch nebo selhání

Podle Nathansova návrhu jsem spustil SQL profiler a zkompiloval tyto dotazy do jediného, ​​aby vyhovoval mým potřebám.

Tento dotaz poskytne stav posledního spuštění jakéhokoli plánu údržby, který zahrnuje aktuální databázi:

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)

Nejlépe to funguje s plány údržby generovanými průvodcem. Ad-hoc plány ne vždy obsahují příkaz pro filtrování. Propojení tabulek však stále funguje.




  1. Použití group_concat

  2. Přidejte roky k datu v PostgreSQL

  3. Výkon MySQL pomocí AUTO_INCREMENT na PRIMARY KEY

  4. Zabránit sequelizaci zahodit databázi v aplikaci node.js