MS SQL Server: После смены имени сервера остаются неудаляемые планы обслуживания и задачи

Все об администрировании Windows NT/2000/2003/2008/2012 Server (в т.ч. R2) серверов. Групповые политики, домены, безопасность и пр. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1518
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

MS SQL Server: После смены имени сервера остаются неудаляемые планы обслуживания и задачи

Сообщение UncleFather »

Проблема:

После смены имени и сервера в MS SQL сервер остаются неудаляемые и не редактируемые планы обслуживания и задачи. Кроме того, эти объекты не выполняются, так как у них в соединениях присутствует ссылка на старый адрес сервера.

01.jpg

Решение:

Здесь все индивидуально, готового решения нет. Есть только путь, как у самурая :lol:

Для удаления пользуемся советами из статьи:

Код: Выделить всё

USE [MSDB]
GO

-- View the Maintenance plan subplans 
select * from sysmaintplan_subplans

-- View the Maintenance plan logs 
select * from sysmaintplan_log

Код: Выделить всё

USE [MSDB]
go

--Delete the Log history for the maintenance plan affected 
DELETE FROM sysmaintplan_log
WHERE subplan_id in 
  ( SELECT Subplan_ID from sysmaintplan_subplans
    -- change Subplan name where neccessary 
  WHERE subplan_name = 'Subplan_1' ) 

-- Delete the subplan 
DELETE FROM sysmaintplan_subplans
WHERE subplan_name = 'Subplan_1'

Советами отсюда:

Код: Выделить всё

SELECT NAME, ID FROM MSDB..SYSMAINTPLAN_PLANS

Код: Выделить всё

DELETE FROM SYSMAINTPLAN_LOG WHERE PLAN_ID='1291B78A-E98A-46CD-B637-82CD0DFC0E72'
DELETE FROM SYSMAINTPLAN_SUBPLANS WHERE PLAN_ID = '1291B78A-E98A-46CD-B637-82CD0DFC0E72'
DELETE FROM SYSMAINTPLAN_PLANS WHERE ID = '1291B78A-E98A-46CD-B637-82CD0DFC0E72'[/color]

Код: Выделить всё

select * from sysmaintplan_subplans

Код: Выделить всё

DELETE FROM sysmaintplan_log WHERE subplan_id in ( SELECT Subplan_ID from sysmaintplan_subplans WHERE subplan_name = 'edbg' ) 
DELETE FROM sysmaintplan_subplans WHERE subplan_name = 'edbg'

И советами отсюда:

Код: Выделить всё

select * from msdb.dbo.sysmaintplan_plans

Код: Выделить всё

delete from msdb.dbo.sysmaintplan_subplans where plan_id = ''
delete from msdb.dbo.sysmaintplan_plans where id = ''

Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение