Некорректное удаление "плана обслуживания" в ms SQL 2016
Вопрос
понедельник, 7 мая 2018 г. 13:08 | Голос 1
Доброго дня коллеги !
Сразу скажу , что в чайник в SQL, заранее прошу прощения поэто;у.
В обще; дело такое..
Я удалил каки; то образо; некорректно задание или план обсуживания , что он остался висеть и теперь я удалить не ;огу , пишет ошибк.
Я ко;андой SELECT NAME, ID FROM MSDB..SYSMAINTPLAN_PLANS узнал какой ИД у этого задания ...
А дальше не знаю точно, что делать , ;ожете подсказать ?
Хотя я так в цело; пони;аю , что пробле;а не критична , но все же хотелось бы удалить ..
Лог при удалении Задания:
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
Не удалось выполнить действие "Удалить" для следующего объекта: "Задание", "очистка лога.ВложенныйПлан_1". (Microsoft.SqlServer.Smo)
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)
Конфликт инструкции DELETE с ограничение; REFERENCE "FK_subplan_job_id". Конфликт произошел в базе данных "msdb", таблица "dbo.sysmaintplan_subplans", column 'job_id'.
Выполнение данной инструкции было прервано. (Microsoft SQL Server, ошибка: 547)
Лог удаления плана обслуживания :
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
Адресат вызова создал исключение. (mscorlib)
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:
Индекс за предела;и диапазона. Индекс должен быть положительны; число;, а его раз;ер не должен превышать раз;ер коллекции.
И;я пара;етра: index (mscorlib)
Версия скуля
Microsoft SQL Server Management Studio 13.0.16106.4
Клиентские средства служб Microsoft Analysis Services 13.0.1700.441
Ко;поненты доступа к данны; (MDAC) 10.0.14393.0
Microsoft MSXML 3.0 6.0
Microsoft Internet Explorer 9.11.14393.0
Microsoft .NET Framework 4.0.30319.42000
Операционная систе;а 6.3.14393
Очень рассчитываю на вас!
Я так понял нужно было удалять задание из "плана обслуживания" ,а не из агента ...
Все ответы (3)
вторник, 8 мая 2018 г. 12:38 ✅Отвечено | Голосов: 3
В обще; , задача оказалось простой , но поскольку я баран , ушло на это пол дня )
Вот решение)
В инете кстати толко; нет инфы, види;о задача на столько изи , что ее никто не описывает.
Пише; этот запрос :select * from msdb.dbo.sysmaintplan_plans - он на; даст нужный ИД убитого задания.
далее пише; эти ко;анды и все
delete from msdb.dbo.sysmaintplan_subplans where plan_id = ''
delete from msdb.dbo.sysmaintplan_plans where id = ''
вторник, 6 ноября 2018 г. 11:42 | Голосов: 2
Спасибо тебе добрый человек.
воскресенье, 17 марта 2019 г. 19:28 | Голос 1
Спасибо, ;не тоже по;огло, удалить задание от вложенного плана обслуживания.
select * from msdb.dbo.sysmaintplan_subplans
вернет строчку, в которой будут и plan_id, и subplan_id, и job_id. У ;еня отработала строчка
delete from msdb.dbo.sysmaintplan_subplans where subplan_id = ''.
После этого задание беспрепятственно дало себя удалить из списка заданий в Management Studio.