Às vezes, certas tarefas do plano de manutenção do SQL Server podem ser problemáticas, como encolher banco de dados, reconstruir índice, atualizar estatísticas etc. se são necessários.
Existe uma maneira de consultar os planos de manutenção que executam uma ou mais tarefas específicas?
(Não se limitando às tarefas que mencionei.)
Sim. Isso pode ser feito usando uma combinação das tabelas SSIS do sistema e XQuery.
Observação: No SQL 2012, isso funcionará apenas para Planos de Manutenção criados no SSMS. Se você usou o Data Tools para implantar um pacote que realiza manutenção por meio do modelo de implantação do projeto, isso não funcionará.
XQueryName
Se você não estiver familiarizado com XQuery, pode começar aqui .
Encontre o(s) ExecutionType(s) da tarefa para a(s) tarefa(s)
A primeira coisa que você precisa encontrar é o ExecutionType da(s) tarefa(s) que está procurando.
Consulte msdb..sysssispackages para obter o(s) nome(s) do(s) plano(s).
Consulta de exemplo para recuperar o XML do pacote com base no nome do plano de manutenção:
Clique nos resultados na coluna PackageDataXml que abrirá o XML bruto em outra guia de consulta.
Na guia XML recém-aberta, procure a string "ExecutableType". (Nada sofisticado é necessário aqui - apenas o bom e velho CTRL+F.)
Pesquise os planos de manutenção usando o(s) ExecutableType(s)
A consulta a seguir usa XQuery e os valores ExecutableType que foram encontrados na etapa acima para pesquisar em todos os planos de manutenção.