Posts tagged ‘job’

MS SQL 서버 이름 변경 후 Maintenance plan 삭제 수정 불가 문제

서비스를 진행하기 전에 서버 이름을 제대로 확정해서 사용하는 것이 좋긴 하지만..
상황에 따라서 서버 머신의 이름을 바꿔야 할 경우가 생기게 되는데.. 문제는 이 경우 메인터넌스 계획에 있는 플랜들의 경우 Local server connection 의 설정을 변경할 수가 없어서 문제가 발생하는 경우가 있다라는 것!
증상으로는 간단하게 변경하기 전의 이름으로 접속을 시도하기에 해당 플랜이 동작을 하지 않는 문제가 나오고.. 삭제 또는 수정을 하려고 해도 변경 전의 이름으로 접속을 시도 하기에 삭제도 수정도 안되는 난감한 상황이 온다라는 것..;;
그럴 경우 내 경우 그냥 강제 삭제 후 재 생성을 택하는데.. 그럴 때 사용하는 법..
———————————————–
USE [msdb]
GO
DECLARE @PlanID AS VARCHAR(255)
BEGIN TRAN DeleteOldMaintenancePlan
SELECT @PlanID = id
FROM sysmaintplan_plans
WHERE name LIKE ‘메인터넌스 플랜 이름’
DELETE FROM sysmaintplan_log
WHERE plan_id = @PlanID
DELETE FROM sysmaintplan_subplans
WHERE plan_id = @PlanID
DELETE FROM sysmaintplan_plans
WHERE id = @PlanID
IF @@ERROR = 0
COMMIT TRAN DeleteOldMaintenancePlan
ELSE
ROLLBACK TRAN DeleteOldMaintenancePlan
GO
———————————————–
이렇게 하면 일단 메인터넌스 계획에 있는 계획들은 삭제가 되며 Job에 생성되어있는 일정은 수동으로;; 삭제를 해주고 (쿼리로 짜도 되는데 귀찮 -ㅂ-) 다시 메인터넌스 플랜을 생성하면 알아서 새로운 정보로 Job에 등록도 되니 해결 완료 🙂
물론 테스트는 반드시 거쳐야하고 ㅎ