2010-08-03 2 views
9

Visual Studio 2010 데이터베이스 프로젝트를 사용하여 여러 데이터베이스 설치에 변경 사항을 배포하는 시나리오가 있지만 특정 인스턴스에서 해당 복사본에서 뷰 집합을 제외하고자합니다. 빌드 구성을 사용하여 이러한보기가 배포되지 않도록 제외하는 방법이 있습니까?Visual Studio 데이터베이스 프로젝트에서 배포 중에 특정 개체를 제외시키는 방법이 있습니까?

답변

6

복합 프로젝트를 만들려고 했습니까? 이 시나리오를 직접 구현하지는 않았지만 다음과 같이 할 수 있습니다.

  1. 모든 배포에 필요한 핵심 개체로 구성된 project1을 만듭니다.
  2. 일부 배포에 필요한보기 집합으로 구성된 project2를 만듭니다.
  3. project2의 project1에 대한 참조를 추가하십시오.

따라서 project1을 배포 할 때보기가 포함되지 않으며 project2를 배포 할 때보기뿐만 아니라 핵심 개체가 포함됩니다.

다음 Microsoft 링크를 참조하십시오. 특히 섹션 내가 배포 중에 접촉하지 않아야 객체를 지정 SQLCMD 변수를 사용하여 제어 사용자 정의 배포 계획 수정, 쓰기, 결국 "복합 프로젝트의 사용 및 제한 사항"

http://msdn.microsoft.com/en-us/library/dd193405.aspx

7

제목. 각 데이터베이스 프로젝트 구성은 다른 변수 집합 (.sqlcmdvars 파일)을 참조 할 수 있습니다.이 속성은 프로젝트 속성의 배포 탭에서 설정할 수 있습니다.

plan 수정자는 배치 계획을 검사하고 무시해야하는 오브젝트를 작성/수정/삭제하는 단계를 삭제합니다. 우리는 다양한 준비 환경에서 이름이 다른 데이터 파일, 일부 백업 테이블 및 우리가 DB 프로젝트에 보관하지 않는 몇 가지 유형의 개체 (사용자, 역할 구성원 자격, 데이터베이스 수준 사용 권한)를 무시하기 위해이 파일을 사용하고 있습니다. 이 기능은 Schema Comparison 구성 (무시 된 개체 유형)과 유사하지만 더 세분화되어 있지만 배포 중에 (VSDBCMD와 함께) 작동합니다.

"사용자 지정 배포 계획 수정 자 쓰기"부분은 많은 작업처럼 들리지만 실제로는 간단하고 학습 및 테스트 부분을 포함하여 하루도 걸리지 않았습니다. 매우 유용한 walkthrough on MSDN가 있습니다.

관련 문제