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에 필수 조건이 포함되어 있는지 확인해야합니다.
답장을 보내 주셔서 감사합니다. 우리는 이미 고객의 서버에 데이터베이스를 생성하고 업데이트하는 유틸리티를 만들었습니다. 우리는 몇 년 전에 그것을 창조해야했습니다. 이제 우리는 데이터베이스 프로젝트를 사용하는 방법과 우리가 유틸리티에해야 할 일을 파악하려고합니다. VSDBCMD를 보았지만 REDIST.TXT에 나열되어 있지 않으므로 재배포 할 수 없습니다. 아무리 그래도 재배포 될 수 있다고 주장하는 블로그 게시물이 있습니다. 아마도 잘못된 라이센스를 읽고있을 것입니다. –
흥미롭게도 분명히 실제로 VS 2008에 언급되었습니다. http://blogs.msdn.com/b/gertd/archive/2008/08/22/redist.aspx,하지만 VS에 해당 정보가 표시되지 않습니다. 2010. –