Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] Некорректное удаление "плана обслуживания" в ms SQL 2016 (http://forum.oszone.net/showthread.php?t=334711)

Cognos1 07-05-2018 14:00 2812445

Некорректное удаление "плана обслуживания" в ms SQL 2016
 
Доброго дня коллеги !
Сразу скажу , что в чайник в SQL, заранее прошу прощения поэтому.

В общем дело такое..
Я удалил каким то образом некорректно задание или план обсуживания , что он остался висеть и теперь я удалить не могу , пишет ошибку ( см скрин )

Я командой SELECT NAME, ID FROM MSDB..SYSMAINTPLAN_PLANS узнал какой ИД у этого задания ...

А дальше не знаю точно, что делать , можете подсказать ?

Хотя я так в целом понимаю , что проблема не критична , но все же хотелось бы удалить ..

Cognos1 07-05-2018 14:01 2812447

Вложений: 1
Файл 152426

Вот лог
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
------------------------------

Не удалось выполнить действие "Удалить" для следующего объекта: "Задание", "очистка лога.ВложенныйПлан_1". (Microsoft.SqlServer.Smo)

Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdN...b&LinkId=20476

------------------------------
ДОПОЛНИТЕЛЬНЫЕ СВЕДЕНИЯ:

При выполнении инструкции или пакета Transact-SQL возникло исключение. (Microsoft.SqlServer.ConnectionInfo)

------------------------------

Конфликт инструкции DELETE с ограничением REFERENCE "FK_subplan_job_id". Конфликт произошел в базе данных "msdb", таблица "dbo.sysmaintplan_subplans", column 'job_id'.
Выполнение данной инструкции было прервано. (Microsoft SQL Server, ошибка: 547)

Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdN...LinkId=2047 6

------------------------------
КНОПКИ:

ОК
------------------------------

Cognos1 08-05-2018 15:36 2812616

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

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

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 = ''

vovav 06-09-2018 13:44 2830231

Добрый день, я наверное ещё более чайник;) если спрошу, а где вы эти запросы писали в SQL
HTML код:

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 = ''



Время: 10:21.

Время: 10:21.
© OSzone.net 2001-