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에 등록도 되니 해결 완료 🙂
물론 테스트는 반드시 거쳐야하고 ㅎ

4 Comments

  1. 1) 숫자 함수 (1) MOD 함수 MOD(m,n) >>m을 n으로 나누었을 때 나머지 값을 반환. SQL> SELECT MOD(10,3) “Modulus” FROM Dual; >> 10을 3으로 나누었을 때 나머지 값을 반환한다. 결과는 Dual의 “Modulus”라는 칼럼에 출력한다. (2) ROUND 함수 ROUND(m,n) m을 n+1 자리에서 반올림 한 결과를 반환한다. SQL> SELECT ROUND(18.354, 2) “Round” FR..

  2. 1. 오라클 – SELECT, WHERE 1) SELECT – 데이터 조회 하기 ●테이블의 모든 칼럼 조회 SELECT * FROM 테이블; >>테이블 안에 있는 모든 데이터를 조회한다. ●테이블의 특정 칼럼 조회 SELECT 칼럼1, 칼럼2, …. FROM 테이블; >>테이블 안에 있는 특정 칼럼들만 조회한다. 2) WHERE – 전체 데이터중 조건을 만족하는 값만 조회하기 ● 기본적인 조건 조회하기 WHERE 칼럼이름 조건값 SQL) SELE..

  3. 2. 오라클 – ORDER BY, GROUP BY, HAVING 1) ORDER BY – 데이터 정렬해서 보기 ORDER BY 칼럼이름 [ASC|DESC] ※ ORDER BY에 기본은 ASC정렬(오름차순)이다. ASC 오름차순 – 작은 값부터 큰 값 DESC 내림차순 – 큰 값부터 작은 값 ● 오름차순으로 정렬하기 SQL> SELECT employee_id, last_name, salary FROM employees WHERE salary >= 10..

  4. crosleahwh says:

    technology surface summary decrease back deep

Leave a Reply