데이터베이스를 DAC로 등록

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

데이터 계층 애플리케이션 등록 마법사 또는 Windows PowerShell 스크립트를 사용하여 기존 데이터베이스의 개체를 설명하는 DAC(데이터 계층 애플리케이션) 정의를 빌드하고 시스템 데이터베이스(masterAzure SQL Database)에 msdb DAC 정의를 등록합니다.

시작하기 전에

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

제한 사항

DAC 등록은 SQL Database 또는 SQL Server 2005(9.x) SP4(서비스 팩 4) 이상의 데이터베이스에서만 수행할 수 있습니다. DAC가 데이터베이스에 이미 등록된 경우 DAC 등록을 수행할 수 없습니다. 예를 들어 DAC를 배포하여 데이터베이스를 만든 경우 데이터 계층 애플리케이션 등록 마법사실행할 수 없습니다.

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

사용 권한

데이터베이스 엔진 인스턴스에 DAC를 등록하려면 적어도 ALTER ANY 로그인 및 데이터베이스 범위 VIEW DEFINITION 권한, SELECT 권한 sys.sql_expression_dependencies및 dbcreator 고정 서버 역할의 멤버 자격이 필요합니다. sysadmin 고정 서버 역할 또는 sa라는 기본 제공 SQL Server 시스템 관리자 계정의 멤버도 DAC를 등록할 수 있습니다. SQL Database에 로그인이 포함되지 않은 DAC를 등록하려면 dbmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다. SQL Database에 로그인이 포함된 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()

참고 항목