2015년 6월 16일 화요일

VisualStudio 2013 에서 SQL Server Database 프로젝트를 등록하여 컴파일시 오류가 날때. (SSDT 오류)

요즘은 DB 작업을 할 때, 거의 저장 프로시저를 사용하다 보니, 아예 프로젝트에 DB 를 등록해 놓고 쓰는 경우가 대부분이다.


이렇게, 데이터 베이스 프로젝트를 등록하여 ...


사용할 디비를 등록해 놓으면 VisualStudio 에서 저장 프로시저및 테이블을 관할 수 있는데...
유독 VisualStudio 2013 에서는 이렇게 하면, 오류가 난다.


이렇게 오류는 나는데, 뭐가 문제인지는 알려 주지는 않는다.
아몰랑... 정말 답답하다.

결론은 SSDT(SQL Server Data Tools) 문제...
버그인지... 아니면... 뭔가 다른 문제인진 모르겠지만, 저걸 업데이트 해주면 된다.

"확장 및 업데이트" 에서...


"업데이트 > 제품업데이트 > 데이터베이스 도구용..." 을 업데이트 한다.


말이 업데이트지, 사실 그냥 파일 다운로드임... 다운 로드된 파일을 실행해야만 설치가 됨.


다운 받은 파일을 실행 하면...


이렇게 SSDT 가 재 설치가 됨.
이걸 설치하고 VisualStudio 를 재시작하면 정상적으로 컴파일이 됨.

어차피, 업데이트 파일을 다운 받아 설치하는 거라서,
http://go.microsoft.com/fwlink/?linkid=393521&clcid=0x409 (영문)
https://msdn.microsoft.com/ko-kr/dn864412 (다국어)
... 여기서 다운 받아 설치해도 된다고 함...

만약....

업데이트를 해도 안된다면 ...
(작업하는 컴중 하나가
"SqlModelResolutionTask" 작업이 잘못 선언 또는 사용되었거나, 생성 중에 실패했습니다.
... 라는 에러를 뱉으며 빌드가 안된다. 쒩... )

그럼, 재설치를 시도 해본다.
다운 받은 SSDTsetup.exe 를 실행시키면 나오는 "제거" 기능을 이용해 지우면 되는데...



아마도 경고 창이 나오겠지만, "제거" 기능을 이용해 지워도 다 지워지지는 않는다.


알림창에 나와있는 URL을 잘 기억하고 있자.
일단 그대로 진행해 기존에 설치되어 있는 SSDT 를 삭제하고...

http://go.microsoft.com/fwlink/?linkid=257900

... 로 이동해보면...


SSDT 삭제 기능으로는 지워지지 않는 관련 패키지들이 나와 있다.
이중에...

Microsoft SQL Server Data Tools(SSDT.msi)
Microsoft SQL Server Data Tools 빌드 유틸리티(SSDTBuildUtilities.msi)
SSDT의 필수 구성 요소(SSDTDBSvcExternals.msi)

... 이 세가지를 제어판의 "프로그램 제거 또는 변경" 을 이용해 지워준다.


프로그램을 여러종류를 반복해서 설치했던 컴퓨터라면, 저 패키지가 중복으로 여러개 설치되어 있을 수도 있다.
그냥 모두 다 지워 준다.

그런다음, SSDT 를 새로 설치한다.
그럼 아마도 될것이다.

만약... 그래도 안된다면... ?

... 아몰랑... 난 이렇게 하니까 됐어...