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.