2014. 1. 28. 16:07

MSDE dbo.sysjobs 이동하기.

 MSSQL 2005 에서 MSSQL 2008로 Agent 작업에 있는 것으로 옴겨야 합니다. 

작업 스케줄에 어마어마한 작업을 걸어놓는 업체가 있어서 한꺼번에 옴기는 작업을 진행합니다. 


SQL Server Business Intelligence Development Studio 를 이용해서 진행하겠습니다.



위와 같이 새로운 프로젝트를 실행시켜 integration Servers 프로젝트를 선택합니다.




* 도구모음에 작업 전송 작업 을 선택해서 가져옵니다.





그럼후 오른쪽마우스 '편집'을 선택해서 SourceConnection 과 DestionationConnection 을 선택합니다. 








작업 시작하면 아래와 같은 메세지가 나타납니다. 

거의 90% 가까이 나타날것으로 예상합니다. 


오류 : 다음 오류로 인해 실행하지 못했습니다: "테이블 'msdb.dbo.sysjobs', 열 'owner_sid'에 NULL 값을 삽입할 수 없습니다. 열에는 NULL을 사용할 수 없습니다. INSERT이(가) 실패했습니다. 문이 종료되었습니다.".





말 그대로 Destion 에 Owner_SID 가 없다는 야그입니다. 

그럼 그 owner_Sid 가 뭣이냐 하면요..


바로 Source 에서 작업을 생성한 유져입니다. 

Source 에서 해당 작업을 생성한 유져를 보니 NT 계정의 유져로 생성했군요.  ㅡ.ㅡ;

SQL 계정으로 생성한것이면, SQL 로 생성하고 하면 될듯한데....


어쩔수 없이 Destion 서버의 hostname 명도 변경하고 동일한 계정도 Destion 을 생성해 줬습니다. 

그러나 여기서 또다시 작업이 되지 않았습니다. 


원인 : Workgroup 에 동일한 NetBois 명이 존재하기 때문에 진행되지 않더군요.

그리하여 Source 서버와 동일한 hostname 를 기재한다음. 서버를 리붓팅하고 source 와 동이한 계정을 생성한다음.

다시 이전 hostname 값으로 원복햇습니다. 







결론은 깔끔하게 진행되었습니다.