sql >> Database teknologi >  >> RDS >> Sqlserver

SQL Server-vedligeholdelsesplanhistorik check for succes eller fiasko

I henhold til Nathans forslag kørte jeg SQL-profiler og kompilerede disse forespørgsler til en enkelt for at passe til mine behov.

Denne forespørgsel vil give status for den seneste kørsel af enhver vedligeholdelsesplan, som inkluderer den aktuelle database:

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)

Dette fungerer bedst med vedligeholdelsesplaner, der er genereret af guiden. Ad hoc-planer inkluderer ikke altid kommandoen til filtrering. Men tabellinkningen fungerer stadig.




  1. Grupper mysql resulterer i grupper på fire

  2. mysql date_sub ved hjælp af et felt som interval

  3. php fil upload, hvordan man begrænser fil upload type

  4. Sådan skriver du en SQL-forespørgsel med dynamisk LIMIT