2012-01-09 3 views
1

Visual Studio 2010 데이터베이스 프로젝트에서 생성 된 배포 스크립트는 저에게 적합하지 않습니다. 업그레이드 및 새로운 데이터베이스 생성을 위해 여러 고객에게 제공 될 MSI에 이들을 포함해야합니다.Visual Studio 2010 데이터베이스 프로젝트 용 배포 스크립트 사용자 지정

Microsoft.Data.Schema ... 네임 스페이스를 통해 보면 배포 스크립트, DeploymentScriptGenerator, ExtensionManager 등의 생성을 사용자 지정할 수있는 많은 가능성이 있습니다. 실제로는 확장 가능하고 데이터 베이스.

내가 찾을 수없는 것은 "시작하기"문서 또는 샘플 종류입니다. 이런 일을 한 사람 있습니까?

답변

0

Visual Studio 데이터 프로젝트는 두 가지 배포 단계를 사용합니다.

데이터베이스 프로젝트를 작성하여 작성된 배치 파일은 실제로 데이터베이스의 원하는 최종 상태를 설명하는 메타 데이터 패키지이지만 전개 될 위치 또는 새 데이터베이스인지 여부는 알지 못합니다. 기존 데이터베이스.

두 번째 부분은 실제로 또는 특정 데이터베이스에 대해 배포 패키지를 실행하고 있습니다. 그렇게하기 위해 Visual Studio는 데이터베이스와 배포 패키지에 대해 diff를 실행하고 적용해야 할 변경 사항을 결정하고 이러한 변경 내용을 적용하는 데 필요한 스크립트를 생성해야합니다.

MSI에 첫 번째 부분을 포함 시키면 최종 사용자의 컴퓨터에서 실행중인 항목이 필요하므로 알 수없는 데이터베이스의 알 수없는 번호에 변경 사항을 적용하고 ' 실제로 Visual Studio를 제공합니다.

운 좋게 MS에는 단일 배포 패키지를 사용하여 변경 내용을 모든 데이터베이스에 적용 할 수있는 명령 줄 (VSDBCMD.exe)이 포함되어 있습니다. 이 도구는 Visual Studio와 동일한 차이점을 수행하고 해당 데이터베이스를 만들거나 업그레이드하는 데 필요한 SQL 스크립트를 생성합니다 (명령 줄 parmaeters를 기반으로 선택하면 실제로 스크립트를 실행합니다). 명령 줄에서 호출하는 방법에 대한 자세한 내용은 http://msdn.microsoft.com/en-us/library/dd193283.aspx을 참조하십시오.

그래서 내가 명령 줄 도구를 응용 프로그램과 함께 제공하는 것을 보았습니다. (재배포 라이센스를 다시 확인하여 확인하십시오.) MSI (또는 다른 유틸리티)에서 사용자 지정 작업이 있어야합니다. 그것을 실행하여 데이터베이스 변경 사항을 적용합니다. 또한 명령 줄 도구의 종속성을 확인하십시오. SQL SMO 개체, SQL Native Client 및 기타 몇 가지 사항이 필요합니다. MSI에 필수 조건이 포함되어 있는지 확인해야합니다.

+0

답장을 보내 주셔서 감사합니다. 우리는 이미 고객의 서버에 데이터베이스를 생성하고 업데이트하는 유틸리티를 만들었습니다. 우리는 몇 년 전에 그것을 창조해야했습니다. 이제 우리는 데이터베이스 프로젝트를 사용하는 방법과 우리가 유틸리티에해야 할 일을 파악하려고합니다. VSDBCMD를 보았지만 REDIST.TXT에 나열되어 있지 않으므로 재배포 할 수 없습니다. 아무리 그래도 재배포 될 수 있다고 주장하는 블로그 게시물이 있습니다. 아마도 잘못된 라이센스를 읽고있을 것입니다. –

+0

흥미롭게도 분명히 실제로 VS 2008에 언급되었습니다. http://blogs.msdn.com/b/gertd/archive/2008/08/22/redist.aspx,하지만 VS에 해당 정보가 표시되지 않습니다. 2010. –