DAC를 사용 하여 데이터베이스 배포Deploy a Database By Using a DAC

SQL Azure에 데이터베이스 배포 마법사를 사용하여 데이터베이스 엔진Database Engine 인스턴스와 Azure SQL 데이터베이스Azure SQL Database 서버 간에 또는 두 Azure SQL 데이터베이스Azure SQL Database서버 간에 데이터베이스를 배포합니다.Use the Deploy a Database to SQL Azure Wizard to deploy a database between an instance of the 데이터베이스 엔진Database Engine and a Azure SQL 데이터베이스Azure SQL Database server, or between two Azure SQL 데이터베이스Azure SQL Databaseservers.

시작하기 전에 Before You Begin

마법사는 DAC(데이터 계층 응용 프로그램) BACPAC 아카이브 파일을 사용하여 데이터 및 데이터베이스 개체의 데이터 및 정의를 배포합니다.The wizard uses a Data-tier Application (DAC) BACPAC archive file to deploy both the data and the definitions of database objects. 원본 데이터베이스에서 DAC 내보내기 작업과 대상으로 DAC 가져오기 작업을 수행합니다.It performs a DAC export operation from the source database, and a DAC import to the destination.

데이터베이스 옵션 및 설정 Database Options and Settings

기본적으로 배포 중에 생성된 데이터베이스에는 CREATE DATABASE 문의 기본 설정이 적용됩니다.By default, the database created during the deployment will have the default settings from the CREATE DATABASE statement. 예외는 데이터베이스 데이터 정렬 및 호환성 수준이 원본 데이터베이스의 값으로 설정된다는 점입니다.The exception is that the database collation and compatibility level are set to the values from the source database.

TRUSTWORTHY, DB_CHAINING 및 HONOR_BROKER_PRIORITY와 같은 데이터베이스 옵션은 배포 프로세스 도중 조정할 수 없습니다.Database options, such as TRUSTWORTHY, DB_CHAINING and HONOR_BROKER_PRIORITY, cannot be adjusted as part of the deployment process. 파일 그룹의 수, 파일의 수 및 크기와 같은 물리적 속성은 배포 프로세스 도중 변경할 수 없습니다.Physical properties, such as the number of filegroups, or the numbers and sizes of files cannot be altered as part of the deployment process. 배포가 완료된 후 ALTER DATABASE 문, SQL Server Management StudioSQL Server Management Studio또는 SQL ServerSQL Server PowerShell을 사용하여 데이터베이스를 맞춤 구성할 수 있습니다.After the deployment completes, you can use the ALTER DATABASE statement, SQL Server Management StudioSQL Server Management Studio, or SQL ServerSQL Server PowerShell to tailor the database.

제한 사항 Limitations and Restrictions

데이터베이스 배포 마법사는 다음과 같은 데이터베이스 배포를 지원합니다.The Deploy Database wizard supports deploying a database:

  • 데이터베이스 엔진Database Engine 의 인스턴스에서 Azure SQL 데이터베이스Azure SQL Database로 배포From an instance of the 데이터베이스 엔진Database Engine to Azure SQL 데이터베이스Azure SQL Database.

  • Azure SQL 데이터베이스Azure SQL Database 에서 데이터베이스 엔진Database Engine의 인스턴스로 배포From Azure SQL 데이터베이스Azure SQL Database to an instance of the 데이터베이스 엔진Database Engine.

  • Azure SQL 데이터베이스Azure SQL Database 서버 간에 배포Between two Azure SQL 데이터베이스Azure SQL Database servers.

    마법사는 데이터베이스 엔진Database Engine의 두 인스턴스 간의 배포를 지원하지 않습니다.The wizard does not support deploying databases between two instances of the 데이터베이스 엔진Database Engine.

    마법사를 작동하려면 데이터베이스 엔진Database Engine 의 인스턴스가 SQL Server 2005SQL Server 2005 SP4(서비스 팩 4) 이상을 실행하고 있어야 합니다.An instance of the 데이터베이스 엔진Database Engine must be running SQL Server 2005SQL Server 2005 Service Pack 4 (SP4) or later to work with the wizard. 데이터베이스 엔진Database Engine 인스턴스의 데이터베이스에 Azure SQL 데이터베이스Azure SQL Database에서 지원되지 않는 개체가 포함되는 경우 Azure SQL 데이터베이스Azure SQL Database에 데이터베이스를 배포하는 데 마법사를 사용할 수 없습니다.If a database on an instance of the 데이터베이스 엔진Database Engine contains objects not supported on Azure SQL 데이터베이스Azure SQL Database, you cannot use the wizard to deploy the database to Azure SQL 데이터베이스Azure SQL Database. Azure SQL 데이터베이스Azure SQL Database 의 데이터베이스에 SQL ServerSQL Server에서 지원되지 않는 개체가 포함되는 경우 SQL ServerSQL Server인스턴스에 데이터베이스를 배포하는 데 마법사를 사용할 수 없습니다.If a database on Azure SQL 데이터베이스Azure SQL Database contains objects not supported by SQL ServerSQL Server, you cannot use the wizard to deploy the database to instances of SQL ServerSQL Server.

보안 Security

보안을 개선하기 위해 SQL Server 인증 로그인은 암호 없이 DAC BACPAC 파일에 저장됩니다.To improve security, SQL Server Authentication logins are stored in a DAC BACPAC file without a password. BACPAC를 가져오면 생성된 암호와 함께 비활성 로그인이 생성됩니다.When the BACPAC is imported, the login is created as a disabled login with a generated password. 로그인을 활성화하려면 ALTER ANY LOGIN 권한이 있는 로그인을 사용하여 로그인하고 ALTER LOGIN을 사용하여 로그인을 활성화하여 사용자에게 알려 줄 수 있는 새 암호를 할당합니다.To enable the logins, log in using a login that has ALTER ANY LOGIN permission and use ALTER LOGIN to enable the login and assign a new password that can be communicated to the user. Windows 인증 로그인의 경우 암호가 SQL Server에서 관리되지 않으므로 이 과정이 필요 없습니다.This is not needed for Windows Authentication logins because their passwords are not managed by SQL Server.

사용 권한Permissions

마법사에 원본 데이터베이스에 대한 DAC 내보내기 권한이 필요합니다.The wizard requires DAC export permissions on the source database. 로그인하려면 sys.sql_expression_dependencies에 대한 SELECT 권한뿐만 아니라 최소한 ALTER ANY LOGIN 및 데이터베이스 범위 VIEW DEFINITION 권한이 있어야 합니다.The login requires at least ALTER ANY LOGIN and database scope VIEW DEFINITION permissions, as well as SELECT permissions on sys.sql_expression_dependencies. DAC를 내보내려면 securityadmin 고정 서버 역할의 멤버이면서 DAC를 내보내는 데이터베이스의 database_owner 고정 데이터베이스 역할의 멤버여야 합니다.Exporting a DAC can be done by members of the securityadmin fixed server role who are also members of the database_owner fixed database role in the database from which the DAC is exported. 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 export a DAC.

마법사에 대상 인스턴스 또는 서버에 대한 DAC 가져오기 권한이 필요합니다.The wizard requires DAC import permissions on the destination instance or server. 로그인은 sysadmin 또는 serveradmin 고정 서버 역할의 멤버이거나 dbcreator 고정 서버 역할에 포함되고 ALTER ANY LOGIN 권한이 있어야 합니다.The login must be a member of the sysadmin or serveradmin fixed server roles, or in the dbcreator fixed server role and have ALTER ANY LOGIN permissions. SQL ServerSQL Server sa 라는 기본 제공 시스템 관리자 계정도 DAC를 가져올 수 있습니다.The built-in SQL ServerSQL Server system administrator account named sa can also import a DAC. SQL 데이터베이스SQL Database 에 대한 로그인이 있는 DAC를 가져오려면 loginmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다.Importing a DAC with logins to SQL 데이터베이스SQL Database requires membership in the loginmanager or serveradmin roles. SQL 데이터베이스SQL Database 에 대한 로그인이 없는 DAC를 가져오려면 dbmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다.Importing a DAC without logins to SQL 데이터베이스SQL Database requires membership in the dbmanager or serveradmin roles.

데이터베이스 배포 마법사 사용 Using the Deploy Database Wizard

데이터베이스 배포 마법사를 사용하여 데이터베이스를 마이그레이션하려면To migrate a database using the Deploy Database Wizard

  1. 배포하려는 데이터베이스의 위치에 연결합니다.Connect to the location of the database you want to deploy. 데이터베이스 엔진Database Engine 인스턴스 또는 Azure SQL 데이터베이스Azure SQL Database 서버를 지정할 수 있습니다.You can specify either an instance of 데이터베이스 엔진Database Engine or a Azure SQL 데이터베이스Azure SQL Database server.

  2. 개체 탐색기에서 데이터베이스가 있는 인스턴스에 대한 노드를 확장합니다.In Object Explorer, expand the node for the instance that has the database.

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

  4. 배포하려는 데이터베이스를 마우스 오른쪽 단추로 클릭하고 태스크를 선택한 다음 SQL Azure에 데이터베이스 배포…를 선택합니다.Right click the database you want to deploy, select Tasks, and then select Deploy Database to SQL Azure…

  5. 다음 마법사 대화 상자를 완료합니다.Complete the Wizard dialogs:

소개 페이지 Introduction Page

이 페이지에서는 데이터베이스 배포 마법사의 단계를 설명합니다.This page describes the steps for the Deploy Database Wizard.

옵션Options

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

  • 다음 - 배포 설정 페이지로 진행합니다.Next - Proceeds to the Deployment Settings page.

  • 취소 - 작업을 취소하고 마법사를 닫습니다.Cancel – Cancels the operation and closes the Wizard.

배포 설정 페이지 Deployment Settings Page

이 페이지에서는 대상 서버를 지정하고 새 데이터베이스에 대한 세부 정보를 제공할 수 있습니다.Use this page to specify the destination server and to provide details about your new database.

로컬 호스트:Local host:

  • 서버 연결 – 서버 연결 세부 정보를 지정한 후 연결 을 클릭하여 연결을 확인합니다.Server connection – Specify server connection details and then click Connect to verify the connection.

  • 새 데이터베이스 이름 – 새 데이터베이스 이름을 지정합니다.New database name – Specify a name for the new database.

    SQL 데이터베이스SQL Database 데이터베이스 설정: SQL 데이터베이스SQL Database database settings:

  • SQL 데이터베이스SQL Database 버전 – 드롭다운 메뉴에서 SQL 데이터베이스SQL Database 버전을 선택합니다. SQL 데이터베이스SQL Database edition – Select the edition of SQL 데이터베이스SQL Database from the drop-down menu.

  • 최대 데이터베이스 크기 – 드롭다운 메뉴에서 최대 데이터베이스 크기를 선택합니다.Maximum database size – Select the maximum database size from the drop-down menu.

    기타 설정:Other settings:

  • BACPAC 아카이브 파일인 임시 파일의 로컬 디렉터리를 지정합니다.Specify a local directory for the temporary file, which is the BACPAC archive file. 지정된 위치에 파일이 만들어지고 작업이 완료된 후에도 해당 위치에 유지됩니다.Note that the file will be created at the specified location and will remain there after the operation completes.

요약 페이지 Summary Page

이 페이지에서 작업에 대해 지정한 원본 및 대상 설정을 검토할 수 있습니다.Use this page to review the specified source and target settings for the operation. 지정한 설정을 사용하여 배포 작업을 완료하려면 마침을 클릭합니다.To complete the deploy operation using the specified settings, click Finish. 배포 작업을 취소하고 마법사를 종료하려면 취소를 클릭합니다.To cancel the deploy operation and exit the Wizard, click Cancel.

진행률 페이지 Progress Page

이 페이지에는 작업 상태를 나타내는 진행률 표시줄이 표시됩니다.This page displays a progress bar that indicates the status of the operation. 자세한 상태를 보려면 자세히 보기 옵션을 클릭합니다.To view detailed status, click the View details option.

결과 페이지 Results Page

이 페이지에서는 배포 작업의 성공 또는 실패를 보고하고 각 작업의 결과를 보여 줍니다.This page reports the success or failure of the deploy operation, showing the results of each action. 오류가 발생한 동작에는 모두 결과 열에 링크가 있습니다.Any action that encountered an error will have a link in the Result column. 링크를 클릭하면 해당 동작의 오류에 대한 보고서가 표시됩니다.Click the link to view a report of the error for that action.

마침 을 클릭하여 마법사를 닫습니다.Click Finish to close the Wizard.

.Net Framework 응용 프로그램 사용Using a .Net Framework Application

.Net Framework 응용 프로그램에서 DacStoreExport() 및 Import() 메서드를 사용하여 데이터베이스를 배포합니다.To deploy a database using the DacStoreExport() and Import() methods in a .Net Framework application.

코드 예제를 보려면 Codeplex에서 DAC 샘플 응용 프로그램을 다운로드합니다.To view a code example, download the DAC sample application on Codeplex

  1. SMO Server 개체를 만든 후 이 개체를 배포할 데이터베이스를 포함하는 인스턴스 또는 서버로 설정합니다.Create a SMO Server object and set it to the instance or server that contains the database to be deployed.

  2. ServerConnection 개체를 열고 동일한 인스턴스에 연결합니다.Open a ServerConnection object and connect to the same instance.

  3. Export 형식의 Microsoft.SqlServer.Management.Dac.DacStore 메서드를 사용하여 데이터베이스를 BACPAC 파일로 내보냅니다.Use the Export method of the Microsoft.SqlServer.Management.Dac.DacStore type to export the database to a BACPAC file. 내보낼 데이터베이스의 이름과 BACPAC 파일을 배치할 폴더의 경로를 지정합니다.Specify the name of the database to be exported, and the path to the folder where the BACPAC file is to be placed.

  4. SMO Server 개체를 만든 다음 대상 인스턴스 또는 서버로 설정합니다.Create a SMO Server object and set it to the destination instance or server.

  5. ServerConnection 개체를 열고 동일한 인스턴스에 연결합니다.Open a ServerConnection object and connect to the same instance.

  6. Import 형식의 Microsoft.SqlServer.Management.Dac.DacStore 메서드를 사용하여 BACPAC를 가져옵니다.Use the Import method of the Microsoft.SqlServer.Management.Dac.DacStore type to import the BACPAC. 내보내기에 의해 생성되는 BACPAC 파일을 지정합니다.Specify the BACPAC file created by the export.

참고 항목See Also

데이터 계층 응용 프로그램 Data-tier Applications
데이터 계층 응용 프로그램 내보내기 Export a Data-tier Application
BACPAC 파일을 가져와 새 사용자 데이터베이스 만들기 Import a BACPAC File to Create a New User Database