2015-11-22 5 views
0

Я добавляю предупреждение, когда пользователь входит в приложение, если план обслуживания базы данных Microsoft SQL не удался, не выполнялся, не был реализован. OR никогда не планировалось. Я бы предпочел не добавлять настройки для определения планов обслуживания, которые необходимо проверить.Какие базы данных используются в плане обслуживания SQL?

Как я могу получить список планов обслуживания, которые выполняют какие-либо действия в текущей базе данных «SELECT db_name()»?

я могу увидеть список всех операций обслуживания планирует здесь: SELECT * FROM msdb.dbo.sysmaintplan_plans

Я предполагаю, что мне нужно запросить шаги плана и проверьте, есть ли содержать свою базу данных.

Было бы неплохо определить тип каждого шага, например: Проверка целостности, перестроение индекса, обновление статистики или резервное копирование и т. Д. Затем я мог бы обеспечить выполнение всех необходимых шагов.

ответ

-1

Используя профилировщик SQL, я собрал несколько запросов и объединил этот единственный SQL вместе, который покажет историю журнала любого плана обслуживания, который включает в себя текущую базу данных. Он показывает каждый шаг, и если он преуспел.

SELECT 
    ld.server_name, 
    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], 
    ld.start_time AS [StepStart], 
    ld.end_time AS [StepEnd], 
    ld.succeeded AS [StepSucceeded], 
    ld.line1, 
    ld.line2, 
    ld.line3, 
    ld.line4, 
    ld.line5, 
    ld.command 
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 
    INNER JOIN msdb.dbo.sysmaintplan_logdetail ld ON mpl.task_detail_id = ld.task_detail_id 
     AND ld.command LIKE ('%['+db_name()+']%') 
ORDER BY 
    mpl.start_time DESC 

Это лучше всего работает с планами технического обслуживания, созданными мастером. Планы ad-hoc не всегда включают столбец команд для фильтрации. Но ссылка на таблицу все еще работает.

 Смежные вопросы

  • Нет связанных вопросов^_^