DAC로 데이터베이스 등록Register a Database As a DAC

데이터 계층 응용 프로그램 등록 마법사 또는 Windows PowerShell 스크립트를 사용하여 기존 데이터베이스의 개체를 설명하는 DAC(데이터 계층 응용 프로그램)를 작성하고 이 DAC 정의를 msdb 시스템 데이터베이스( master Azure SQL 데이터베이스Azure SQL Database)에 등록할 수 있습니다.Use either the Register Data-tier Application Wizard or a Windows PowerShell script to build a data-tier application (DAC) definition that describes the objects in an existing database, and register the DAC definition in the msdb system database (master in Azure SQL 데이터베이스Azure SQL Database).

시작하기 전에Before You Begin

등록 프로세스에서는 데이터베이스의 개체를 정의하는 DAC 정의를 만듭니다.The registration process creates a DAC definition that defines the objects in the database. DAC 정의와 데이터베이스의 결합으로 DAC 인스턴스가 형성됩니다.The combination of the DAC definition and the database form a DAC instance. DAC를 데이터베이스 엔진의 관리되는 인스턴스에 DAC로 등록할 경우 등록된 DAC는 유틸리티 컬렉션 집합이 인스턴스에서 유틸리티 제어 지점으로 다음에 전송될 때 SQL Server 유틸리티에 통합됩니다.If you register a database as a DAC on a managed instance of the Database Engine, the registered DAC will be incorporated into the SQL Server Utility the next time the utility collection set is sent from the instance to the Utility Control Point. 그러면 DAC가 **** 유틸리티 탐색기 Management StudioManagement Studio 배포된 데이터 계층 응용 프로그램 노드에 표시되고 **** 세부 정보 페이지에 보고됩니다.The DAC will then be present in the Deployed Data-tier Applications node of the Management StudioManagement Studio Utility Explorer and reported in the Deployed Data-tier Applications details page.

제한 사항 Limitations and Restrictions

SQL 데이터베이스SQL Database또는 SQL Server 2005SQL Server 2005 SP4(서비스 팩 4) 이상의 데이터베이스에서만 DAC 등록을 수행할 수 있습니다.DAC registration can only be performed on a database in SQL 데이터베이스SQL Database, or SQL Server 2005SQL Server 2005 Service Pack 4 (SP4) or later. DAC가 데이터베이스에 이미 등록된 경우에는 DAC 등록을 수행할 수 없습니다.DAC registration cannot be performed if a DAC is already registered for the database. 예를 들어 데이터베이스가 DAC를 배포하는 방식으로 만들어진 경우 데이터 계층 응용 프로그램 등록 마법사를 실행할 수 없습니다.For example, if the database was created by deploying a DAC, you cannot run the Register Data-tier Application Wizard.

DAC 또는 포함된 사용자가 지원하지 않는 개체가 데이터베이스에 있는 경우 DAC를 등록할 수 없습니다.You cannot register a DAC if the database has objects that are not supported in a DAC, or contained users. DAC에서 지원되는 개체 유형에 대한 자세한 내용은 DAC Support For SQL Server Objects and Versions을 참조하세요.For more information about the types of objects supported in a DAC, see DAC Support For SQL Server Objects and Versions.

권한 Permissions

데이터베이스 엔진Database Engine 인스턴스에 DAC를 등록하려면 하나 이상의 ALTER ANY LOGIN과 데이터베이스 범위 VIEW DEFINITION 권한, sys.sql_expression_dependencies에 대한 SELECT 권한 및 dbcreator 고정 서버 역할의 멤버 자격이 필요합니다.Registering a DAC in an instance of 데이터베이스 엔진Database Engine requires at least ALTER ANY LOGIN and database scope VIEW DEFINITION permissions, SELECT permissions on sys.sql_expression_dependencies, and membership in the dbcreator fixed server role. sysadmin 고정 서버 역할의 멤버 또는 기본 제공 SQL Server 시스템 관리자 계정인 sa 도 DAC를 등록할 수 있습니다.Members of the sysadmin fixed server role or the built-in SQL Server system administrator account named sa can also register a DAC. SQL 데이터베이스SQL Database 에 로그인이 없는 DAC를 등록하려면 dbmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다.Registering a DAC that does not contain logins in SQL 데이터베이스SQL Database requires membership in the dbmanager or serveradmin roles. SQL 데이터베이스SQL Database 에 로그인이 있는 DAC를 등록하려면 loginmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다.Registering a DAC that contains logins in SQL 데이터베이스SQL Database requires membership in the loginmanager or serveradmin roles.

데이터 계층 응용 프로그램 등록 마법사 사용 Using the Register Data-tier Application Wizard

마법사를 사용하여 DAC를 등록하려면To Register a DAC Using a Wizard

  1. 개체 탐색기에서 DAC로 등록할 데이터베이스가 포함된 인스턴스에 대한 노드를 확장합니다.In Object Explorer, expand the node for the instance containing the database to be registered as a DAC.

  2. 데이터베이스 노드를 확장합니다.Expand the Databases node.

  3. 등록할 데이터베이스를 마우스 오른쪽 단추로 클릭하고 태스크를 가리킨 다음 데이터 계층 응용 프로그램으로 등록…을 선택합니다.Right-click the database to be registered, point to Tasks, and then select Register As Data-tier Application…

  4. 마법사 대화 상자를 완료합니다.Complete the wizard dialogs:

    1. 소개 페이지Introduction Page

    2. 속성 설정 페이지Set Properties Page

    3. 유효성 검사 및 요약 페이지Validation and Summary Page

    4. DAC 등록 페이지Register DAC Page

소개 페이지 Introduction Page

이 페이지에서는 데이터 계층 응용 프로그램을 등록하는 단계에 대해 설명합니다.This page describes the steps for registering a data-tier application.

이 페이지를 다시 표시 안 함Do not show this page again. - 앞으로 이 페이지가 표시되지 않도록 하려면 이 확인란을 클릭합니다.- Click the check box to stop the page from being displayed in the future.

다음 > - 속성 설정 페이지로 이동합니다.Next > - Proceeds to the Set Properties page.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.Cancel - Terminates the wizard without registering a DAC.

데이터 계층 응용 프로그램 등록 마법사 사용Using the Register Data-tier Application Wizard

속성 설정 페이지 Set Properties Page

이 페이지를 사용하여 응용 프로그램 이름 및 버전과 같은 DAC 수준 속성을 지정할 수 있습니다.Use this page to specify DAC-level properties such as the application name and version.

응용 프로그램 이름.Application name. - DAC 정의를 식별하는 데 사용되는 이름을 지정하는 문자열입니다. 이 필드는 데이터베이스 이름으로 채워집니다.- A string that specifies the name used to identify the DAC defintion, the field is been populated with the database name.

버전.Version. - DAC의 버전을 식별하는 숫자 값입니다.- A numeric value that identifies the version of the DAC. DAC 버전은 Visual Studio에서 개발자가 작업 중인 DAC의 버전을 식별하는 데 사용됩니다.The DAC version is used in Visual Studio to identify the version of the DAC that developers are working on. DAC를 배포하는 경우 이 버전은 msdb 데이터베이스에 저장되고 나중에 데이터 계층 응용 프로그램 SQL Server Management StudioSQL Server Management Studio노드에서 볼 수 있습니다.When deploying a DAC, the version is stored in the msdb database and can later be viewed under the Data-tier Applications node in SQL Server Management StudioSQL Server Management Studio.

설명Description. - 선택 사항입니다.- Optional. DAC의 용도를 설명하는 텍스트입니다.Text that explains the purpose of the DAC. DAC를 배포하는 경우 이 설명은 msdb 데이터베이스에 저장되고 나중에 Management StudioManagement Studio데이터 계층 응용 프로그램 노드에서 볼 수 있습니다.When deploying a DAC, the description is stored in the msdb database and can later be viewed under the Data-tier Applications node in Management StudioManagement Studio.

< 이전 - 소개 페이지로 돌아갑니다.< Previous - Returns you to the Introduction page.

다음 > - 데이터베이스의 개체로 DAC를 작성할 수 있는지 확인하고 유효성 검사 및 요약 페이지에 결과를 표시합니다.Next > - Verifies that a DAC can be built from the objects in the database, and displays the results in the Validation and Summary page.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.Cancel - Terminates the wizard without registering the DAC.

데이터 계층 응용 프로그램 등록 마법사 사용Using the Register Data-tier Application Wizard

유효성 검사 및 요약 페이지 Validation and Summary Page

이 페이지를 사용하여 DAC를 등록할 때 마법사가 수행할 동작을 검토할 수 있습니다.Use this page to review the actions the wizard will take when registering the DAC. 이 페이지는 데이터베이스의 개체로 DAC를 작성할 수 있는지 확인할 때 세 가지 상태로 전환됩니다.The page transitions through three states as it verifies that a DAC can be built from the objects in the database.

데이터 계층 응용 프로그램 등록 마법사 사용Using the Register Data-tier Application Wizard

개체 검색Retrieving Objects

데이터베이스 및 서버 개체 검색Retrieving database and server objects. - 마법사가 데이터베이스의 모든 필요한 개체 및 데이터베이스 엔진의 인스턴스를 검색할 때 진행률 표시줄을 표시합니다.- Displays a progress bar as the wizard retrieves all of the required objects from the database and the instance of the Database Engine.

< 이전 - 입력한 값을 변경하기 위해 속성 설정 페이지로 돌아갑니다.< Previous - Returns you to the Set Properties page to change your entries.

다음 > - DAC를 등록하고 DAC 등록 페이지에 결과를 표시합니다.Next > - Registers the DAC and displays the results in the Register DAC page.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.Cancel - Terminates the wizard without registering the DAC.

데이터 계층 응용 프로그램 등록 마법사 사용Using the Register Data-tier Application Wizard

개체 유효성 확인Validating Objects

Checking SchemaName .Checking SchemaName . ObjectName .ObjectName . - 마법사가 검색된 개체의 종속성을 확인하고 모두 DAC에 유효한 개체인지 확인할 때 진행률 표시줄을 표시합니다.- Displays a progress bar as the wizard verifies the dependencies of the retrieved objects, and verifies that they are all valid objects for a DAC. SchemaName.ObjectName 은 현재 확인 중인 개체가 무엇인지 식별합니다.SchemaName.ObjectName identify which object is currently being verified.

< 이전 - 입력한 값을 변경하기 위해 속성 설정 페이지로 돌아갑니다.< Previous - Returns you to the Set Properties page to change your entries.

다음 > - DAC를 등록하고 DAC 등록 페이지에 결과를 표시합니다.Next > - Registers the DAC and displays the results in the Register DAC page.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.Cancel - Terminates the wizard without registering the DAC.

데이터 계층 응용 프로그램 등록 마법사 사용Using the Register Data-tier Application Wizard

요약Summary

다음 설정이 DAC를 등록하는 데 사용됩니다.The following setting will be used to register your DAC. - DAC에 포함될 속성 및 개체에 대한 보고서를 표시합니다.- Displays a report of the properties and objects that will be included in the DAC.

보고서 저장 - 유효성 검사 보고서의 복사본을 HTML 파일로 저장하려면 이 단추를 선택합니다.Save Report - Select this button to save a copy of the validation report to an HTML file. 기본 폴더는 Windows 계정의 Documents 폴더에 있는 SQL Server Management Studio\DAC Packages 폴더입니다.The default folder is a SQL Server Management Studio\DAC Packages folder in the Documents folder of your Windows account.

< 이전 - 입력한 값을 변경하기 위해 속성 설정 페이지로 돌아갑니다.< Previous - Returns you to the Set Properties page to change your entries.

다음 > - DAC를 등록하고 DAC 등록 페이지에 결과를 표시합니다.Next > - Registers the DAC and displays the results in the Register DAC page.

취소 - DAC를 등록하지 않고 마법사를 종료합니다.Cancel - Terminates the wizard without registering the DAC.

데이터 계층 응용 프로그램 등록 마법사 사용Using the Register Data-tier Application Wizard

DAC 등록 페이지 Register DAC Page

이 페이지에서는 등록의 성공 또는 실패를 보고합니다.This page reports the success or failure of the registration.

DAC 등록 - DAC를 등록하기 위해 수행한 각 동작의 성공 또는 실패를 보고합니다.Registering the DAC - Reports the success or failure of each action taken to register the DAC. 정보를 검토하여 각 동작의 성공 또는 실패를 확인합니다.Review the information to determine the success or failure of each action. 오류가 발생한 동작에는 모두 결과 열에 링크가 있습니다.Any action that encountered an error will have a link in the Result column. 링크를 선택하면 해당 동작의 오류에 대한 보고서가 표시됩니다.Select the link to view a report of the error for that action.

보고서 저장 - 등록 보고서를 HTML 파일로 저장하려면 이 단추를 선택합니다.Save Report - Select this button to save the registration report to an HTML file. 파일은 모든 동작에서 생성된 모든 오류를 비롯하여 각 동작의 상태를 보고합니다.The file reports the status of each action, including all errors generated by any of the actions. 기본 폴더는 Windows 계정의 Documents 폴더에 있는 SQL Server Management Studio\DAC Packages 폴더입니다.The default folder is a SQL Server Management Studio\DAC Packages folder in the Documents folder of your Windows account. 파일 이름의 형식은 <DACPackageName>_RegisterDACReport_yyyymmdd.html이며, 여기서 <DACPackageName>은 배포할 패키지의 이름이고 yyyy는 현재 연도, mm은 현재 월, dd는 현재 날짜입니다.The file name is in the format <DACPackageName>_RegisterDACReport_yyyymmdd.html, where <DACPackageName> is the name of the package being deployed, yyyy = the current year, mm = the current month, and dd = the current day.

마침 - 마법사를 종료합니다.Finish - Terminates the wizard.

데이터 계층 응용 프로그램 등록 마법사 사용Using the Register Data-tier Application Wizard

PowerShell을 사용하여 DAC 등록 Register a DAC Using PowerShell

PowerShell 스크립트에서 Register() 메서드를 사용하여 데이터베이스를 DAC로 등록하려면To register a database as a DAC using the Register() method in a PowerShell script

  1. SMO Server 개체를 만든 후 이 개체를 DAC로 등록할 데이터베이스를 포함하는 인스턴스로 설정합니다.Create a SMO Server object and set it to the instance that contains the database to be registered as a DAC.

  2. 데이터베이스의 이름을 지정하는 변수를 추가합니다.Add a variable that specifies the name of the database.

  3. DAC에 대한 메타데이터(예: DAC 이름, 버전 및 설명)를 지정합니다.Specify the metadata for the DAC, such as the DAC name, version, and description.

  4. 위에서 지정한 정보로 Register 메서드를 실행합니다.Run the Register method with the information specified above.

예제(PowerShell)Example (PowerShell)

다음 예에서는 MyDB라는 데이터베이스를 DAC로 등록합니다.The following example registers a database named MyDB as a 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()  

참고 항목See Also

데이터 계층 응용 프로그램Data-tier Applications