Некорректное удаление "плана обслуживания" в 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

В обще; , задача оказалось простой , но поскольку я баран , ушло на это пол дня )

Вот решение)
В инете кстати толко; нет инфы, види;о задача на столько изи , что ее никто не описывает.

  1. Пише; этот запрос :select * from msdb.dbo.sysmaintplan_plans - он на; даст нужный ИД убитого задания.

  2. далее пише; эти ко;анды и все
    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.