Zaobserwowałem problem z planem konserwacji (Maintenance Plan), którego nie mogę usunąć. Podczas próby skasowania pojawia się następujący błąd:
Index was out of range. Must be non-negative and less than the size of the collection.Parameter name: index (mscorlib)
Analogiczny błąd powstaje przy próbie wykasowania joba, który został utworzony z poziomu Maintenance Planu.
Poniżej przedstawiam kolejne kroki w celu usunięcia niechcianego Maintenance Planu:
USE MSDB
--wybrać id dla planu, który ma być wykasowany
select * from sysmaintplan_plans
where name = 'szukana nazwa planu'
-- id = 9B331D57-C0AB-4B50-BD98-05BC39AB6F00
delete from sysmaintplan_log
where plan_id = '9B331D57-C0AB-4B50-BD98-05BC39AB6F00'
delete from sysmaintplan_subplans
where plan_id = '9B331D57-C0AB-4B50-BD98-05BC39AB6F00'
delete from sysmaintplan_plans
where id = '9B331D57-C0AB-4B50-BD98-05BC39AB6F00'
Po wykasowaniu Maintenance Plan można już z poziomu SSMS wykasować joba, który miał uruchamiać Maintenance Plan.