방법: VSDBCMD.EXE를 사용하여 명령 프롬프트에서 데이터베이스 배포 준비

업데이트: 2010년 7월

SQL Server를 실행하는 어느 컴퓨터에서나 명령 프롬프트를 통해 데이터베이스 프로젝트를 배포할 수 있습니다. 그러나 먼저 데이터베이스 프로젝트의 빌드 출력, VSDBCMD 유틸리티 및 다음 파일을 프로젝트 배포에 사용할 컴퓨터로 복사해야 합니다.

  • DatabaseSchemaProviders.Extensions.xml

  • Microsoft.Data.Schema.dll

  • Microsoft.Data.Schema.ScriptDom.dll

  • Microsoft.Data.Schema.ScriptDom.Sql.dll

  • Microsoft.Data.Schema.Sql.dll

  • Microsoft.Data.Schema.Utilities.dll

  • Microsoft.SqlServer.BatchParser.dll

  • Sqlceer35en.dll

  • Sqlceme35.dll

  • Sqlceqp35.dll

  • Sqlcese35.dll

  • System.Data.SqlServerCe.dll

  • VSDBCMD.EXE

중요

Visual Studio가 설치되어 있지 않은 컴퓨터에서 VSDBCMD.EXE를 사용하려면 사용 중인 SQL Server 버전과 일치하는 버전의 Microsoft.SqlServer.BatchParser.dll을 설치해야 합니다. SQL Server 2008의 경우 다음 소프트웨어를 설치하면 해당 파일이 설치됩니다.

네트워크 연결을 통해 이러한 파일을 복사하거나, USB(범용 직렬 버스) 드라이브로 복사한 다음 이 USB를 프로젝트 배포에 사용할 컴퓨터에 연결할 수 있습니다. 이 절차를 따를 수 있는 컨텍스트에 대한 자세한 내용은 데이터베이스를 빌드하여 스테이징 환경 또는 프로덕션 환경에 배포를 참조하십시오.

추가 명령줄 인수를 제공하여 배포를 사용자 지정할 수 있습니다. 자세한 내용은 VSDBCMD.EXE 명령줄 참조(배포 및 스키마 가져오기)를 참조하십시오.

중요

VSDBCMD를 사용하여 데이터 계층 응용 프로그램 구성 요소 프로젝트를 배포할 수는 없습니다. 데이터 계층 응용 프로그램 구성 요소 프로젝트를 배포하는 방법에 대한 자세한 내용은 Microsoft 웹 사이트의 Deploying Data-tier Application Packages를 참조하십시오.

64비트 운영 체제에 대한 특수 요구 사항

64비트 운영 체제가 실행되는 컴퓨터에서 VSDBCMD.EXE를 배포하려면 이 항목의 앞부분에 나열된 32비트 및 64비트 버전의 SQL CE 어셈블리를 모두 설치해야 합니다. 필요한 파일을 설치하려면 Microsoft 웹 사이트의 다운로드 세부정보: Windows 데스크톱용 Microsoft SQL Server Compact 3.5 서비스 팩 2 페이지를 참조하십시오.

참고

프로덕션 서버에서 배포하면 안 됩니다. 스테이징 컴퓨터와 같이 대상 서버 및 데이터베이스에 연결할 수 있는 컴퓨터를 사용할 수 있습니다.

BadImageFormatException

VSDBCMD.EXE를 실행할 때 BadImageFormatException이 발생하는 경우 Microsoft .NET Framework 4를 설치하면 문제를 해결할 수 있습니다. 자세한 내용은 Microsoft 웹 사이트의 다운로드 세부정보: Microsoft .NET Framework 4(독립 실행형 설치 관리자) 페이지를 참조하십시오.

필요한 파일을 복사하려면

  1. Program Files\Microsoft Visual Studio 10.0\VSTSDB\Deploy 폴더로 이동한 다음 이 폴더와 하위 폴더의 내용을 복사합니다.

    참고

    Extensions 하위 폴더에는 DatabaseSchemaProviders.Extensions.xml이 포함되어 있으며 이 파일이 없으면 배포가 실패합니다.

  2. Program Files\Microsoft SQL Server Compact Edition\v3.5 폴더로 이동한 다음 DLL을 복사합니다.

  3. 다음 폴더 중 하나로 이동합니다. 이때 ProjectDrive, ProjectsFolder, SolutionName 및 ProjectName은 배포 환경에 적절한 값으로 바꿉니다.

    • ProjectDrive:\ProjectsFolder\SolutionName\ProjectName\sql\debug

    • ProjectDrive:\ProjectsFolder\SolutionName\ProjectName\sql\release

  4. 폴더의 내용을 복사합니다.

    참고

    특정 데이터베이스 배포의 파일을 모든 배포의 파일과 구분할 수 있도록 빌드 출력을 하위 폴더에 복사해야 합니다.

    다음에는 프로젝트에 대한 배포 스크립트를 생성합니다.

명령 프롬프트에서 배포 스크립트를 생성하려면

  • 명령 프롬프트 창을 열고 다음 명령줄을 입력합니다.

    VSDBCMD /dd:- /a:Deploy /manifest:manifestFileName.dbmanifest
    

    /dd:- 옵션을 사용하면 스크립트가 생성되지만 배포는 수행되지 않습니다. 배포 매니페스트는 명령줄에서 지정할 수 있는 다른 설정을 제공합니다.

명령 프롬프트에서 데이터베이스 프로젝트를 배포하려면

  • 명령 프롬프트 창을 열고 다음 명령줄을 입력합니다.

    VSDBCMD /a:Deploy /dd:+ /manifest:manifestFileName.dbmanifest
    

    배포 매니페스트는 명령줄에서 지정할 수 있는 대상 데이터베이스 이름, 연결 문자열 등과 같은 다른 설정을 제공합니다.

참고 항목

참조

VSDBCMD.EXE 명령줄 참조(배포 및 스키마 가져오기)

개념

데이터베이스를 빌드하여 스테이징 환경 또는 프로덕션 환경에 배포

데이터베이스 프로젝트 설정 개요

변경 기록

날짜

변경 내용

이유

2010년 7월

Deploy 폴더의 내용뿐 아니라 해당 하위 폴더의 내용도 복사해야 한다는 것을 명시적으로 설명했습니다.

고객 의견

2010년 10월

고객 의견을 반영하여 64비트 플랫폼에서의 특수 요구 사항에 대한 설명을 추가했습니다.

고객 의견

2010년 12월

Microsoft.SQLServer.BatchParser 어셈블리가 포함된 패키지의 설치 위치를 추가했습니다.

고객 의견

2011년 4월

필요한 DLL 목록에 누락된 어셈블리가 추가되었습니다.

고객 의견