Visualstudio 데이터베이스 프로젝트를 데이터베이스와 동기화 상태로 유지하려면 어떻게해야합니까?


11

데이터베이스 스키마를 Visual Studio .dbproj 데이터베이스 프로젝트와 동기화하고 싶습니다.

지금은 대부분의 데이터베이스 개발 작업에 SSMS를 사용하고 있으며 db 스키마와 .dbproj를 동기화해야 할 때 Visual Studio의 스키마 비교 도구를 수동으로 사용해야합니다. 내가 왜 이것을 원 할까? 때문에 :

  • 변경 사항을 체크인하는 유일한 방법입니다
  • 변경 사항을 적용 할 수있는 유일한 방법입니다
  • 그렇게하지 않으면 파일을 가져올 때 일부 병합 문제가 발생합니다 (기본적으로 "최신 정보 얻기"에는 파일을 확인하지 않고 업데이트 한 db 객체에 대한 일부 DB 변경 사항이 포함되어 있으면 병합이 트리거되지 않으며 쉽게 수행 할 수 있습니다) 어떤 버전인지 확인하십시오.)
  • 최신 버전의 스키마에서 VisualStudio의 검색 기능을 사용하는 것이 좋습니다.
  • 검색 결과를 사용하여 VS (보통 파일 이름을 바꾼 경우)에서 저장 프로 시저를 수정할 수있는 것이 좋습니다.

"스키마 비교"도구를 자동화하여 5 분마다 실행되도록하는 것 외에도 ( "깨끗한"솔루션처럼 들리지 않음)이를 달성 할 수있는 방법이 있습니까?

가능하면 SSMS를 계속 사용하고 싶지만 Visual Studio의 "서버 탐색기 / 데이터베이스 연결"을 사용하여 변경 한 내용을 .dbproj에 자동으로 전파하는 방법에도 관심이 있습니다.


데이터베이스 프로젝트를 SSMS와 동기화하는 방법을 찾았습니까?

답변:


4

SQL Server Management Studio는 기본적으로 SQL Server 관리 도구이므로 원하는 시나리오를 지원하기 위해 반드시 구축 된 것은 아닙니다.

Visual Studio Team System 2008 Database Edition 및 Visual Studio Team System 2010 Pro / Ultimate에는 광범위한 데이터베이스 자산이있는 사용자가 데이터베이스 스키마 /보기 / 프로 시저 등을 통합 할 수 있도록 데이터베이스 개발자 도구 (VSDB)가 포함되어 있습니다. 앱 개발을 통한 개발.

VSDB를 사용하면 기존 DB 스키마를 Visual Studio 프로젝트로 리버스 엔지니어링하여 스키마 요소 별 스크립트 파일을 소스 제어 할 수 있습니다. 또한 SQL 2005/2008/2010에서 지원하는 거의 모든 스키마 요소를 작성하기 위해 SQL Server 스키마 스크립트를 수정 / 작성할 수도 있습니다.

VSDB는 또한 기존 DB를 수정하는 데 필요한 변경 사항 만 적용하려고 시도하는 빈 / 기존 DB에 전체 / 부분 DB 스키마 업데이트를 배포하는 기능을 지원합니다 (있는 경우). 소스 VSDB 데이터베이스 프로젝트

VSDB에는 DB 및 / 또는 DB 프로젝트 간의 스키마를 비교하는 데 도움이되는 여러 도구가 포함되어 있으며 테이블 내용을 비교하고 병합 할 수도 있습니다.

그러나이 도구 세트가 현재 지원되는 동안 팀은 해체되었으며 제품은 유지 관리 모드에 있습니다. SQL Server 제품 그룹은 이제 개발자를위한 도구 작성에 대한 책임을 가지며 작업을 수행하는 데 어려움을 겪고 있습니다. :)


1
저는 이미 VS 2010 db 기능의 사용자입니다. 그러나 아직 데이터베이스 프로젝트와 데이터베이스 프로젝트를 동시에 즉시 수정하는 데 사용하는 방법을 찾지 못했습니다. 모든 단일 수정 후에 스키마 비교를 실행하는 것은 너무 번거 롭다 ... :(
Brann

어제 VSDB를 살펴보기 시작한 나는 마지막 단락이 오히려 놀랍습니다. 많은 시간이나 에너지를 투자하지 않아도되는 것처럼 들리지만 ...?
Benjol

1

VS2010의 궁극적 인 기능으로이를 수행하는 방법에는 두 가지가 있습니다.

  1. SSMS 또는 기타 도구를 사용하여 DB 스키마를 편집 한 다음 정기적으로 스키마 비교를 실행 한 다음 (종료) 스키마 변경 사항을 DB 프로젝트로 가져옵니다.
  2. VS를 통해 DB 프로젝트의 파일을 편집 한 다음 DB에서 직접 실행하거나 DB에서 스키마를 업데이트하기 위해 실행할 스크립트를 생성하는 배포 패키지를 만듭니다.

두 번째 해결책은 제 생각에 가장 좋은 해결책입니다. 한 번의 클릭만으로 배포 프로세스를 설정할 수 있습니다. Visual Studio에서 파일을 편집하면 파일이 소스 제어에서 자동으로 확인됩니다. 첫 번째 방법으로 작업했지만 항상 스키마 비교를 수행하는 것은 어렵습니다. 또한 적어도 나에게 스키마 비교 도구는 Visual Studio와 충돌합니다.
Kris Harper
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.