데이터 계층 응용 프로그램 개요

DAC(데이터 계층 응용 프로그램)는 응용 프로그램에 사용되는 Microsoft SQL Server 데이터베이스 및 인스턴스 개체(테이블, 뷰 등)가 모두 포함된 엔터티입니다. DAC는 개별 스크립트 및 개체 집합으로 관리하는 대신 데이터 계층 개체를 개발, 배포 및 관리하는 단일 단위를 제공합니다. DAC를 사용하면 데이터 계층 개발 및 연결된 응용 프로그램 코드 개발이 보다 긴밀하게 통합됩니다. 또한 관리자가 시스템의 리소스 사용을 응용 프로그램 수준에서 볼 수 있습니다. SQL Server 2008 R2 또는 SQL Azure에 DAC를 배포할 수 있습니다.

데이터 계층 응용 프로그램 만들기 및 배포

DAC를 만들고 배포하는 프로세스는 DAC에 연결된 응용 프로그램의 실행 파일을 만들고 배포하는 프로세스와 함께 조정됩니다.

  • 데이터베이스 개발자가 Microsoft Visual Studio 2010에서 데이터 계층 응용 프로그램 프로젝트를 만듭니다. 데이터베이스 개발자는 응용 프로그램 개발 팀과 협력하여 응용 프로그램 코드에 필요한 데이터 계층 개체를 디자인한 다음 개체 정의를 데이터 계층 응용 프로그램 프로젝트에 추가합니다. 또한 데이터베이스 개발자는 SQL Azure 또는 데이터베이스 엔진 인스턴스에서 DAC를 호스팅하기 위해 충족해야 하는 조건을 지정하는 서버 선택 정책을 정의할 수 있습니다.

  • SQL Azure 또는 데이터베이스 엔진 인스턴스에 데이터 계층 개체를 배포하기 위해 데이터베이스 개발자가 DAC 프로젝트를 빌드합니다. DAC 빌드 프로세스에서는 DAC의 모든 개체와 정책을 정의하는 XML 파일인 DAC 패키지를 만듭니다.

  • 데이터베이스 개발자가 단위 테스트를 위해 DAC 패키지를 개발자에게 전달하거나 품질 보증 테스트를 위해 테스터 팀에 전달합니다. 응용 프로그램 개발자와 테스터는 데이터베이스 엔진 인스턴스에 DAC를 배포합니다. DAC가 데이터베이스 엔진 인스턴스에 배포되면 DAC 정의 복사본이 msdb 시스템 데이터베이스에 저장되고 데이터베이스 개체를 저장할 사용자 데이터베이스가 만들어집니다. 응용 프로그램이 DAC에 연결된 데이터베이스에 연결합니다. SQL Azure 또는 SQL Server 2008 R2를 실행하는 데이터베이스 엔진 인스턴스에만 DAC를 배포할 수 있습니다.

  • 응용 프로그램 개발이 완료되면 개발 팀이 응용 프로그램을 프로덕션에 배포하는 데 필요한 파일을 빌드합니다. 응용 프로그램 개발자는 응용 프로그램 실행 파일을 빌드하고 프로덕션 응용 프로그램 서버에 배포하도록 시스템 관리자에게 전달합니다. 데이터베이스 개발자는 DAC 패키지의 최종 버전을 빌드하고 프로덕션에서 실행되고 있는 데이터베이스 엔진 인스턴스에 배포하도록 데이터베이스 관리자에게 전달합니다.

  • 관리자가 SQL Server Management Studio의 데이터 계층 응용 프로그램 배포 마법사를 사용하여 DAC를 프로덕션에 배포합니다. 관리자는 설정된 절차를 사용하여 DAC에 연결된 데이터베이스를 모니터링하고 관리할 수 있습니다. 그러나 DAC 자체에서도 추가 정보를 얻을 수 있습니다.

    • SQL Server 2008 R2를 설치하고 유틸리티 제어 지점을 만든 관리자는 Management Studio의 유틸리티 탐색기에서 추가 정보를 얻을 수 있습니다. 유틸리티 탐색기배포된 데이터 계층 응용 프로그램 노드에서는 관리자가 데이터 계층 응용 프로그램의 상태를 보다 신속하게 평가할 수 있도록 응용 프로그램 중심 리소스 사용 보고서를 제공합니다.

    • Management Studio 개체 탐색기데이터 계층 응용 프로그램 노드는 배포된 각 DAC의 속성을 보고합니다.

  • 데이터 계층 응용 프로그램 삭제 마법사를 사용하여 데이터베이스 엔진 인스턴스에서 DAC를 삭제할 수 있습니다.

경고

Visual Studio 2010 SP1(서비스 팩 1)에는 DAC 업그레이드를 병존 업그레이드에서 전체 업그레이드로 변경하고 DAC 패키지 파일의 형식도 변경하는 새로운 DAC Framework 1.1이 포함되어 있습니다. DAC Framework 1.1에서는 이전 DAC Framework 1.0을 사용하여 만든 패키지를 지원하지만 DAC Framework 1.0을 실행하는 클라이언트에서는 DAC Framework 1.1을 사용하여 만든 DAC 패키지를 처리할 수 없습니다. SQL Server 2008 R2 고객은 DAC Framework 1.1 기능 팩 다운로드를 사용하여 DAC Framework 1.1로 업그레이드할 수 있습니다.

DAC를 만드는 예는 연습: 새 데이터 계층 응용 프로그램 프로젝트 만들기를 참조하십시오.

개체를 데이터 계층 응용 프로그램으로 가져오기

새 응용 프로그램에서 작업하는 경우 DAC 프로젝트 사용자 인터페이스를 사용하여 데이터 계층 개체를 만듭니다. 추가 개발을 위해 기존 응용 프로그램의 데이터베이스 개체를 사용하여 데이터 계층 응용 프로그램 프로젝트를 만드는 여러 방법은 다음과 같습니다.

  • 프로덕션 데이터베이스 관리자가 Management Studio의 데이터 계층 응용 프로그램 추출 마법사를 사용하여 기존 데이터베이스에 있는 모든 개체의 정의가 포함된 DAC 패키지를 추출할 수 있습니다. 그런 다음 데이터베이스 개발자가 해당 DAC 패키지를 Visual Studio의 DAC 프로젝트로 가져올 수 있습니다. SQL Server 2008 R2, SQL Azure, SQL Server 2008 및 SQL Server 2005의 데이터베이스에서 DAC 패키지를 추출할 수 있습니다.

  • 데이터베이스 개발자가 데이터 계층 응용 프로그램 프로젝트의 개체 가져오기 마법사를 사용하여 데이터베이스에서 개체를 가져올 수 있습니다.

  • 기존 데이터베이스를 만드는 Transact-SQL 스크립트가 있는 경우 데이터베이스 개발자가 스크립트를 DAC 프로젝트로 가져올 수 있습니다.

데이터 계층 응용 프로그램 요소

DAC에는 다음 요소가 포함되어 있습니다.

  • DAC의 특성을 정의하는 DAC 속성. 예를 들어, 각 DAC에는 일반적으로 연결된 응용 프로그램의 이름 및 버전 번호와 관련된 값을 가진 이름 속성과 버전 속성이 있습니다.

  • 응용 프로그램에 사용되는 스키마, 테이블, 뷰, 저장 프로시저 등의 모든 데이터베이스 개체에 대한 정의. SQL Server 2008 R2에서는 DAC가 사용 가능한 SQL Server 개체 중 일부를 지원하지 않습니다. 자세한 내용은 데이터 계층 응용 프로그램에서 지원되는 기능을 참조하십시오.

  • 응용 프로그램에 사용되고 데이터베이스 개체와 연결된 로그인 등의 인스턴스 수준 개체에 대한 정의

  • 데이터베이스 엔진 인스턴스가 DAC를 호스팅하기 위해 구비해야 하는 필수 구성 요소 조건을 정의하는 서버 선택 정책. 이 정책은 서버 선택 패싯을 사용하여 정의되며 인스턴스의 버전 및 데이터 정렬과 같은 조건을 평가할 수 있습니다.

  • 의미 있는 테스트 데이터를 만드는 데 사용되는 데이터 생성 계획

  • 배포 전 또는 배포 후 작업을 구현하는 스크립트

데이터 계층 응용 프로그램 패키지

DAC를 배포할 준비가 되면 DAC의 정의가 포함된 XML 파일인 DAC 패키지로 빌드됩니다. DAC 패키지는 단일 배포 단위입니다. DAC 패키지는 일반적으로 연결된 응용 프로그램의 실행 파일과 함께 빌드됩니다. 시스템 관리자가 응용 프로그램 계층이나 클라이언트 컴퓨터에 실행 파일을 배포하면 데이터베이스 관리자는 연결된 DAC 패키지를 SQL Azure 또는 데이터베이스 엔진 인스턴스에 배포합니다.

예를 들어, 개발 팀에서 Finance라는 3계층 응용 프로그램을 개발하고 있습니다. 응용 프로그램 빌드 1.0.1.123이 승인 테스트를 모두 통과하고 프로덕션에 배포할 준비가 되었습니다. 응용 프로그램 개발자가 프로덕션 응용 프로그램 서버에 배포하도록 버전 1.0.1.123 Finance.exe 파일을 프로덕션 시스템 관리자에게 전달합니다. 데이터베이스 개발자가 데이터베이스 엔진의 프로덕션 인스턴스에 배포하도록 버전 1.0.1.123 Finance.dacpac 파일을 프로덕션 데이터베이스 관리자에게 전달합니다.

DAC 패키지는 DAC의 요소를 정의하는 XML 파일이 포함된 압축 파일입니다. DAC 패키지 파일 스키마의 정의에 대한 자세한 내용은 Microsoft SQL Server 파일 형식 문서를 참조하십시오.

데이터 계층 응용 프로그램 인스턴스

데이터베이스 엔진 인스턴스에 DAC가 배포되면 다음과 같이 DAC 인스턴스를 구성합니다.

  • 해당 데이터베이스 엔진 인스턴스의 기본 데이터베이스 속성을 사용하여 데이터베이스가 만들어집니다. DAC에 정의된 데이터베이스 개체가 새 데이터베이스에 만들어집니다.

  • DAC에 정의된 로그인 등의 모든 인스턴스 수준 개체가 만들어집니다.

  • 원래 DAC 정의와 DAC 인스턴스에 대한 메타데이터가 msdb 시스템 데이터베이스(SQL Azure의 master 데이터베이스)에 저장됩니다.

인스턴스가 배포된 후 사용자는 개체 작업과 DAC에 대해 만들어진 데이터베이스에 데이터 추가를 시작할 수 있습니다.

참고 항목

개념

데이터 계층 응용 프로그램 프로젝트 만들기

서버 선택 정책 구성

데이터 계층 응용 프로그램 프로젝트 빌드

데이터 계층 응용 프로그램 패키지 배포

데이터 계층 응용 프로그램의 수명 주기 관리