DAC로 데이터베이스 등록

데이터 계층 응용 프로그램 등록 마법사나 Windows PowerShell 스크립트를 사용하여 기존 데이터베이스의 개체를 설명하는 DAC(데이터 계층 응용 프로그램)를 작성하고 이 DAC 정의를 msdb 시스템 데이터베이스(Windows Azure SQL 데이터베이스의 master)에 등록할 수 있습니다.

  • 시작하기 전 주의 사항 제한 사항, 사용 권한

  • 다음을 사용하여 DAC를 업그레이드하려면: 데이터 계층 응용 프로그램 등록 마법사, PowerShell

시작하기 전 주의 사항

등록 프로세스에서는 데이터베이스의 개체를 정의하는 DAC 정의를 만듭니다. DAC 정의와 데이터베이스의 결합으로 DAC 인스턴스가 형성됩니다. DAC를 데이터베이스 엔진의 관리되는 인스턴스에 DAC로 등록할 경우 등록된 DAC는 유틸리티 컬렉션 집합이 인스턴스에서 유틸리티 제어 지점으로 다음에 전송될 때 SQL Server 유틸리티에 통합됩니다. 그러면 DAC가 Management Studio 유틸리티 탐색기배포된 데이터 계층 응용 프로그램 노드에 표시되고 배포된 데이터 계층 응용 프로그램 세부 정보 페이지에 보고됩니다.

제한 사항

SQL 데이터베이스 또는 SQL Server 2005 SP4(서비스 팩 4) 이상의 데이터베이스에서만 DAC 등록을 수행할 수 있습니다. DAC가 데이터베이스에 이미 등록된 경우에는 DAC 등록을 수행할 수 없습니다. 예를 들어 데이터베이스가 DAC를 배포하는 방식으로 만들어진 경우 데이터 계층 응용 프로그램 등록 마법사를 실행할 수 없습니다.

DAC 또는 포함된 사용자가 지원하지 않는 개체가 데이터베이스에 있는 경우 DAC를 등록할 수 없습니다. DAC에서 지원되는 개체 유형에 대한 자세한 내용은 SQL Server 개체 및 버전에 대한 DAC 지원를 참조하십시오.

[맨 위]

사용 권한

데이터베이스 엔진 인스턴스에 DAC를 등록하려면 하나 이상의 ALTER ANY LOGIN과 데이터베이스 범위 VIEW DEFINITION 권한, sys.sql_expression_dependencies에 대한 SELECT 권한 및 dbcreator 고정 서버 역할의 멤버 자격이 필요합니다. sysadmin 고정 서버 역할의 멤버 또는 기본 제공 SQL Server 시스템 관리자 계정인 sa도 DAC를 등록할 수 있습니다. SQL 데이터베이스에 로그인이 없는 DAC를 등록하려면 dbmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다. SQL 데이터베이스에 로그인이 있는 DAC를 등록하려면 loginmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다.

[맨 위]

데이터 계층 응용 프로그램 등록 마법사 사용

마법사를 사용하여 DAC를 등록하려면

  1. 개체 탐색기에서 DAC로 등록할 데이터베이스가 포함된 인스턴스에 대한 노드를 확장합니다.

  2. 데이터베이스 노드를 확장합니다.

  3. 등록할 데이터베이스를 마우스 오른쪽 단추로 클릭하고 태스크를 가리킨 다음 **데이터 계층 응용 프로그램으로 등록…**을 선택합니다.

  4. 마법사 대화 상자를 완료합니다.

    1. 소개 페이지

    2. 속성 설정 페이지

    3. 유효성 검사 및 요약 페이지

    4. DAC 등록 페이지

[맨 위]

소개 페이지

이 페이지에서는 데이터 계층 응용 프로그램을 등록하는 단계에 대해 설명합니다.

이 페이지를 다시 표시 안 함 - 앞으로 이 페이지가 표시되지 않도록 하려면 이 확인란을 클릭합니다.

다음 > - 속성 설정 페이지로 이동합니다.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.

[등록 마법사]

속성 설정 페이지

이 페이지를 사용하여 응용 프로그램 이름 및 버전과 같은 DAC 수준 속성을 지정할 수 있습니다.

응용 프로그램 이름. - DAC 정의를 식별하는 데 사용되는 이름을 지정하는 문자열입니다. 이 필드는 데이터베이스 이름으로 채워집니다.

버전. - DAC의 버전을 식별하는 숫자 값입니다. DAC 버전은 Visual Studio에서 개발자가 작업 중인 DAC의 버전을 식별하는 데 사용됩니다. DAC를 배포하는 경우 이 버전은 msdb 데이터베이스에 저장되고 나중에 SQL Server Management Studio의 데이터 계층 응용 프로그램 노드에서 볼 수 있습니다.

설명. - 선택 사항입니다. DAC의 용도를 설명하는 텍스트입니다. DAC를 배포하는 경우 이 설명은 msdb 데이터베이스에 저장되고 나중에 Management Studio의 데이터 계층 응용 프로그램 노드에서 볼 수 있습니다.

< 이전 - 소개 페이지로 돌아갑니다.

다음 > - 데이터베이스의 개체로 DAC를 작성할 수 있는지 확인하고 유효성 검사 및 요약 페이지에 결과를 표시합니다.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.

[등록 마법사]

유효성 검사 및 요약 페이지

이 페이지를 사용하여 DAC를 등록할 때 마법사가 수행할 동작을 검토할 수 있습니다. 이 페이지는 데이터베이스의 개체로 DAC를 작성할 수 있는지 확인할 때 세 가지 상태로 전환됩니다.

[등록 마법사]

개체 검색

데이터베이스 및 서버 개체 검색 - 마법사가 데이터베이스의 모든 필요한 개체 및 데이터베이스 엔진의 인스턴스를 검색할 때 진행률 표시줄을 표시합니다.

< 이전 - 입력한 값을 변경하기 위해 속성 설정 페이지로 돌아갑니다.

다음 > - DAC를 등록하고 DAC 등록 페이지에 결과를 표시합니다.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.

[등록 마법사]

개체 유효성 확인

SchemaName**.ObjectName 검색 중. - 마법사가 검색된 개체의 종속성을 확인하고 모두 DAC에 유효한 개체인지 확인할 때 진행률 표시줄을 표시합니다. SchemaName.**ObjectName은 현재 확인 중인 개체가 무엇인지 식별합니다.

< 이전 - 입력한 값을 변경하기 위해 속성 설정 페이지로 돌아갑니다.

다음 > - DAC를 등록하고 DAC 등록 페이지에 결과를 표시합니다.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.

[등록 마법사]

요약

다음 설정이 DAC를 등록하는 데 사용됩니다. - DAC에 포함될 속성 및 개체에 대한 보고서를 표시합니다.

보고서 저장 - 유효성 검사 보고서의 복사본을 HTML 파일로 저장하려면 이 단추를 선택합니다. 기본 폴더는 Windows 계정의 Documents 폴더에 있는 SQL Server Management Studio\DAC Packages 폴더입니다.

< 이전 - 입력한 값을 변경하기 위해 속성 설정 페이지로 돌아갑니다.

다음 > - DAC를 등록하고 DAC 등록 페이지에 결과를 표시합니다.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.

[등록 마법사]

DAC 등록 페이지

이 페이지에서는 등록의 성공 또는 실패를 보고합니다.

DAC 등록 - DAC를 등록하기 위해 수행한 각 동작의 성공 또는 실패를 보고합니다. 정보를 검토하여 각 동작의 성공 또는 실패를 확인합니다. 오류가 발생한 동작에는 모두 결과 열에 링크가 있습니다. 링크를 선택하면 해당 동작의 오류에 대한 보고서가 표시됩니다.

보고서 저장 - 등록 보고서를 HTML 파일로 저장하려면 이 단추를 선택합니다. 파일은 모든 동작에서 생성된 모든 오류를 비롯하여 각 동작의 상태를 보고합니다. 기본 폴더는 Windows 계정의 Documents 폴더에 있는 SQL Server Management Studio\DAC Packages 폴더입니다. 파일 이름의 형식은 <DACPackageName>_RegisterDACReport_yyyymmdd.html이며, 여기서 <DACPackageName>은 배포할 패키지의 이름이고 yyyy는 현재 연도, mm은 현재 월, dd는 현재 날짜입니다.

마침 - 마법사를 종료합니다.

[등록 마법사]

PowerShell을 사용하여 DAC 등록

PowerShell 스크립트에서 Register() 메서드를 사용하여 데이터베이스를 DAC로 등록하려면

  1. SMO Server 개체를 만든 후 이 개체를 DAC로 등록할 데이터베이스를 포함하는 인스턴스로 설정합니다.

  2. 데이터베이스의 이름을 지정하는 변수를 추가합니다.

  3. DAC에 대한 메타데이터(예: DAC 이름, 버전 및 설명)를 지정합니다.

  4. 위에서 지정한 정보로 Register 메서드를 실행합니다.

[맨 위]

예제(PowerShell)

다음 예에서는 MyDB라는 데이터베이스를 DAC로 등록합니다.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$srv = get-item .

## Specify the database to register as a DAC.
$dbname = "MyDB"

## Specify the DAC metadata.
$applicationname = "MyApplication"
$version = "1.0.0.0"
$description = "This DAC defines the database used by my application."

## Register the DAC.
$registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
$registerunit.Description = $description
$registerunit.Register()

[맨 위]

참고 항목

개념

데이터 계층 응용 프로그램