DAC를 사용 하여 데이터베이스 배포

SQL Azure에 데이터베이스 배포 마법사를 사용하여 데이터베이스 엔진의 인스턴스와 Windows Azure SQL 데이터베이스 서버 간에 또는 두 Windows Azure SQL 데이터베이스 서버 간에 데이터베이스를 배포합니다.

시작하기 전 주의 사항

마법사는 DAC(데이터 계층 응용 프로그램) BACPAC 아카이브 파일을 사용하여 데이터 및 데이터베이스 개체의 데이터 및 정의를 배포합니다. 원본 데이터베이스에서 DAC 내보내기 작업과 대상으로 DAC 가져오기 작업을 수행합니다.

데이터베이스 옵션 및 설정

기본적으로 배포 중에 생성된 데이터베이스에는 CREATE DATABASE 문의 기본 설정이 적용됩니다. 예외는 데이터베이스 데이터 정렬 및 호환성 수준이 원본 데이터베이스의 값으로 설정된다는 점입니다.

TRUSTWORTHY, DB_CHAINING 및 HONOR_BROKER_PRIORITY와 같은 데이터베이스 옵션은 배포 프로세스 도중 조정할 수 없습니다. 파일 그룹의 수, 파일의 수 및 크기와 같은 물리적 속성은 배포 프로세스 도중 변경할 수 없습니다. 배포가 완료된 후 ALTER DATABASE 문, SQL Server Management Studio 또는 SQL Server PowerShell을 사용하여 데이터베이스를 맞춤 구성할 수 있습니다.

제한 사항

데이터베이스 배포 마법사는 다음과 같은 데이터베이스 배포를 지원합니다.

  • 데이터베이스 엔진의 인스턴스에서 Windows Azure SQL 데이터베이스로 배포

  • Windows Azure SQL 데이터베이스에서 데이터베이스 엔진의 인스턴스로 배포

  • 두 Windows Azure SQL 데이터베이스 서버 간에 배포

마법사는 데이터베이스 엔진의 두 인스턴스 간의 배포를 지원하지 않습니다.

마법사를 작동하려면 데이터베이스 엔진의 인스턴스가 SQL Server 2005 SP4(서비스 팩 4) 이상을 실행하고 있어야 합니다. 데이터베이스 엔진 인스턴스의 데이터베이스에 Windows Azure SQL 데이터베이스에서 지원되지 않는 개체가 포함되는 경우 Windows Azure SQL 데이터베이스에 데이터베이스를 배포하는 데 마법사를 사용할 수 없습니다. Windows Azure SQL 데이터베이스의 데이터베이스에 SQL Server 2005에서 지원되지 않는 개체가 포함되는 경우 SQL Server 2005 인스턴스에 데이터베이스를 배포하는 데 마법사를 사용할 수 없습니다.

보안

보안을 개선하기 위해 SQL Server 인증 로그인은 암호 없이 DAC BACPAC 파일에 저장됩니다. BACPAC를 가져오면 생성된 암호와 함께 비활성 로그인이 생성됩니다. 로그인을 활성화하려면 ALTER ANY LOGIN 권한이 있는 로그인을 사용하여 로그인하고 ALTER LOGIN을 사용하여 로그인을 활성화하여 사용자에게 알려 줄 수 있는 새 암호를 할당합니다. Windows 인증 로그인의 경우 암호가 SQL Server에서 관리되지 않으므로 이 과정이 필요 없습니다.

사용 권한

마법사에 원본 데이터베이스에 대한 DAC 내보내기 권한이 필요합니다. 로그인하려면 sys.sql_expression_dependencies에 대한 SELECT 권한뿐만 아니라 최소한 ALTER ANY LOGIN 및 데이터베이스 범위 VIEW DEFINITION 권한이 있어야 합니다. DAC를 내보내려면 securityadmin 고정 서버 역할의 멤버이면서 DAC를 내보내는 데이터베이스의 database_owner 고정 데이터베이스 역할의 멤버여야 합니다. sysadmin 고정 서버 역할의 멤버 또는 기본 제공 SQL Server 시스템 관리자 계정인 sa는 DAC를 내보낼 수 있습니다.

마법사에 대상 인스턴스 또는 서버에 대한 DAC 가져오기 권한이 필요합니다. 로그인은 sysadmin 또는 serveradmin 고정 서버 역할의 멤버이거나 dbcreator 고정 서버 역할에 포함되고 ALTER ANY LOGIN 권한이 있어야 합니다. sa라는 기본 제공 SQL Server 시스템 관리자 계정도 DAC를 가져올 수 있습니다. SQL 데이터베이스에 대한 로그인이 있는 DAC를 가져오려면 loginmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다. SQL 데이터베이스에 대한 로그인이 없는 DAC를 가져오려면 dbmanager 또는 serveradmin 역할의 멤버 자격이 필요합니다.

데이터베이스 배포 마법사 사용

데이터베이스 배포 마법사를 사용하여 데이터베이스를 마이그레이션하려면

  1. 배포하려는 데이터베이스의 위치에 연결합니다. 데이터베이스 엔진 인스턴스 또는 Windows Azure SQL 데이터베이스서버를 지정할 수 있습니다.

  2. 개체 탐색기에서 데이터베이스가 있는 인스턴스에 대한 노드를 확장합니다.

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

  4. 배포하려는 데이터베이스를 마우스 오른쪽 단추로 클릭하고 태스크를 선택한 다음 **SQL Azure에 데이터베이스 배포…**를 선택합니다.

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

    • 소개 페이지

    • 배포 설정

    • 유효성 검사

    • 요약 페이지

    • 결과

소개 페이지

이 페이지에서는 데이터베이스 배포 마법사의 단계를 설명합니다.

옵션

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

  • 다음 - 배포 설정 페이지로 진행합니다.

  • 취소 - 작업을 취소하고 마법사를 닫습니다.

배포 설정 페이지

이 페이지에서는 대상 서버를 지정하고 새 데이터베이스에 대한 세부 정보를 제공할 수 있습니다.

로컬 호스트:

  • 서버 연결 – 서버 연결 세부 정보를 지정한 후 연결을 클릭하여 연결을 확인합니다.

  • 새 데이터베이스 이름 – 새 데이터베이스 이름을 지정합니다.

SQL 데이터베이스 데이터베이스 설정:

  • SQL 데이터베이스 버전 – 드롭다운 메뉴에서 SQL 데이터베이스 버전을 선택합니다.

  • 최대 데이터베이스 크기 – 드롭다운 메뉴에서 최대 데이터베이스 크기를 선택합니다.

기타 설정:

  • BACPAC 아카이브 파일인 임시 파일의 로컬 디렉터리를 지정합니다. 지정된 위치에 파일이 만들어지고 작업이 완료된 후에도 해당 위치에 유지됩니다.

요약 페이지

이 페이지에서 작업에 대해 지정한 원본 및 대상 설정을 검토할 수 있습니다. 지정한 설정을 사용하여 배포 작업을 완료하려면 마침을 클릭합니다. 배포 작업을 취소하고 마법사를 종료하려면 취소를 클릭합니다.

진행률 페이지

이 페이지에는 작업 상태를 나타내는 진행률 표시줄이 표시됩니다. 자세한 상태를 보려면 자세히 보기 옵션을 클릭합니다.

결과 페이지

이 페이지에서는 배포 작업의 성공 또는 실패를 보고하고 각 작업의 결과를 보여 줍니다. 오류가 발생한 동작에는 모두 결과 열에 링크가 있습니다. 링크를 클릭하면 해당 동작의 오류에 대한 보고서가 표시됩니다.

마침을 클릭하여 마법사를 닫습니다.

.Net Framework 응용 프로그램 사용

.Net Framework 응용 프로그램에서 DacStore Export() 및 Import() 메서드를 사용하여 데이터베이스를 배포합니다.

코드 예제를 보려면 Codeplex에서 DAC 샘플 응용 프로그램을 다운로드합니다.

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

  2. ServerConnection 개체를 열고 동일한 인스턴스에 연결합니다.

  3. Microsoft.SqlServer.Management.Dac.DacStore 형식의 Export 메서드를 사용하여 데이터베이스를 BACPAC 파일로 내보냅니다. 내보낼 데이터베이스의 이름과 BACPAC 파일을 배치할 폴더의 경로를 지정합니다.

  4. SMO Server 개체를 만든 다음 대상 인스턴스 또는 서버로 설정합니다.

  5. ServerConnection 개체를 열고 동일한 인스턴스에 연결합니다.

  6. Microsoft.SqlServer.Management.Dac.DacStore 형식의 Import 메서드를 사용하여 BACPAC를 가져옵니다. 내보내기에 의해 생성되는 BACPAC 파일을 지정합니다.

참고 항목

개념

데이터 계층 응용 프로그램

데이터 계층 응용 프로그램 내보내기

BACPAC 파일을 가져와 새 사용자 데이터베이스 만들기