SQL

MSDE dbo.sysjobs 이동하기.

ravon 2014. 1. 28. 16:07

 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 값으로 원복햇습니다. 







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