Показать полную графическую версию : [решено] Некорректное удаление "плана обслуживания" в ms SQL 2016
Доброго дня коллеги !
Сразу скажу , что в чайник в SQL, заранее прошу прощения поэтому.
В общем дело такое..
Я удалил каким то образом некорректно задание или план обсуживания , что он остался висеть и теперь я удалить не могу , пишет ошибку ( см скрин )
Я командой SELECT NAME, ID FROM MSDB..SYSMAINTPLAN_PLANS узнал какой ИД у этого задания ...
А дальше не знаю точно, что делать , можете подсказать ?
Хотя я так в целом понимаю , что проблема не критична , но все же хотелось бы удалить ..
152426
Вот лог
ЗАГОЛОВОК: Microsoft SQL Server Management Studio
------------------------------
Не удалось выполнить действие "Удалить" для следующего объекта: "Задание", "очистка лога.ВложенныйПлан_1". (Microsoft.SqlServer.Smo)
Чтобы получить справку, щелкните: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=13.0.16106.4+((SSMS_Rel_16_5).170125-2137)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Удалить+Job&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?ProdName=Microsoft%20SQL%20Server&ProdVer=13.00.4206&EvtSrc=MSSQLServer&EvtID=547&LinkId=20476
------------------------------
КНОПКИ:
ОК
------------------------------
В общем , задача оказалось простой , но поскольку я баран , ушло на это пол дня )
Вот решение)
В инете кстати толком нет инфы, видимо задача на столько изи , что ее никто не описывает.
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 = ''
Добрый день, я наверное ещё более чайник;) если спрошу, а где вы эти запросы писали в SQL
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 = ''
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.