영업: 1-800-867-1380

Azure 가상 컴퓨터의 SQL Server로 마이그레이션

업데이트 날짜: 2014년 3월

이 항목에서는 Windows Server 플랫폼에서 빌드된 기존의 온-프레미스 SQL Server 데이터베이스를 Azure VM(가상 컴퓨터)의 SQL Server로 마이그레이션하는 방법에 대해 간략하게 설명합니다. 또한 클라우드의 가상 컴퓨터에서 SQL Server 응용 프로그램을 실행하거나 기존 SQL Server 데이터베이스를 Azure SQL 데이터베이스(SQL 데이터베이스)로 마이그레이션하도록 선택하는 시기에 대한 의사 결정 워크플로에 대해 설명합니다.

가상 컴퓨터에서 SQL Server를 사용하면 이러한 응용 프로그램을 Azure로 쉽게 마이그레이션하여 회사 전체에서 응용 프로그램을 배포 및 유지 관리하는 데 필요한 총 소유 비용을 줄일 수 있습니다. 최소한의 코드만 변경하거나 코드를 전혀 변경하지 않고 기존 SQL Server 응용 프로그램을 Azure 가상 컴퓨터로 마이그레이션할 수 있습니다. 가상 컴퓨터에서 SQL Server를 사용하는 경우에도 관리자와 개발자는 내부에서 사용하는 것과 동일한 개발 및 관리 도구를 사용할 수 있습니다.

저자: Selcin Turkarslan
검토자: Evgeny Krivosheev, Paolo Salvatori, Lindsey Allen, Steve Howard

이 문서에는 다음과 같은 섹션이 있습니다.

Azure 가상 컴퓨터에서 SQL Server를 사용하면 클라우드에서 많은 온-프레미스 시나리오를 사용할 수 있습니다.

  • 신속한 응용 프로그램 개발 및 테스트: 프로덕션과 유사한 환경에서 일부 유효성 검사가 필요한 데이터베이스 응용 프로그램을 개발합니다. 새 응용 프로그램을 유효성 검사하거나 테스트하기 위해 새로운 하드웨어를 구입하는 대신 가상 컴퓨터에서 SQL Server를 사용하십시오. SQL Server를 포함하는 플랫폼 이미지를 사용하여 가상 컴퓨터를 만들거나 보유한 이미지를 Azure에 업로드합니다. 새 컴퓨터에 연결하여 데이터를 이동하고 응용 프로그램을 설정한 다음 테스트하여 문제를 해결합니다.

  • 가상화 플랫폼 총 소유 비용: 기존 온-프레미스 가상화 플랫폼을 Azure로 이동합니다. 엔터프라이즈 전반에서 점점 많아지는 응용 프로그램을 온-프레미스 가상 플랫폼에서 실행하기 위해 새 하드웨어를 구입하는 대신 Azure 가상 컴퓨터에서 SQL Server 인프라를 활용하여 응용 프로그램을 Azure로 이동하십시오.

  • 요청 시 신속한 확장: 주기적인 응용 프로그램 최대 사용량을 처리하도록 추가 컴퓨터, 저장소 및 네트워크 리소스를 확보합니다. 특정 기간 동안만 필요한 추가 하드웨어를 구입하는 대신 Azure 가상 컴퓨터에서 SQL Server 인프라를 사용하십시오.

  • 데이터 가용성 및 이동성: Azure 가상 컴퓨터에서 SQL Server 데이터베이스를 호스팅하면 내부 응용 프로그램과 클라우드 응용 프로그램 모두에서 데이터베이스를 사용할 수 있습니다.

다음 의사 결정 워크플로에서는 가상 컴퓨터 및 Azure SQL 데이터베이스에서 SQL Server를 선택하는 시기에 대해 설명합니다.

  • 새 데이터베이스 응용 프로그램의 경우 Azure의 가상 컴퓨터에서 Azure SQL 데이터베이스(SQL 데이터베이스) 또는 SQL Server를 사용하십시오.

    • SQL 데이터베이스에서 모든 필요한 기능을 지원하는 경우 Azure에서 새 SQL 데이터베이스 인스턴스를 프로비저닝합니다. Azure SDK 및 Visual Studio, Java, PHP 또는 Node.js용 플러그 인을 사용하여 새 데이터베이스 응용 프로그램을 개발합니다. 응용 프로그램을 Azure에 배포하고 SQL 데이터베이스에서 테이블을 만듭니다.

    • SQL 데이터베이스에서 모든 필요한 기능을 지원하지 않고 응용 프로그램 데이터베이스에서 변경 사항을 다시 디자인하는 데 투자하지 않으려면 관리 포털에 제공된 SQL Server 플랫폼 이미지를 사용하여 새 가상 컴퓨터를 프로비저닝합니다. SQL Server Data Tools를 사용하여 데이터베이스 배포 패키지를 만듭니다. 이 데이터베이스 패키지를 가상 컴퓨터의 SQL Server에 배포합니다. SQL Server Management Studio와 같은 기존 관리 도구를 사용하여 데이터베이스를 관리, 업그레이드 및 모니터링할 수 있습니다.

  • 기존 데이터베이스 응용 프로그램의 경우 먼저 Azure 가상 컴퓨터에서 SQL Server로 마이그레이션할 데이터베이스를 식별합니다. 그런 후 다음 두 가지 옵션 중 하나를 따르십시오.

    • System Center 2012 Virtual Machine Manager P2V(Physical-To-Virtual machine) 또는 V2V(Virtual-To-Virtual) 마법사를 사용하여 물리적 컴퓨터 또는 가상 컴퓨터를 Hyper-V VHD로 변환합니다. Add-AzureVHD cmdlet을 사용하여 VHD 파일을 Azure 저장소에 업로드합니다. 그런 다음 업로드된 VHD를 사용하여 새 가상 컴퓨터를 배포할 수 있습니다. SQL Server Management Studio와 같은 기존 관리 도구를 사용하여 데이터베이스를 관리, 업그레이드 및 모니터링할 수 있습니다.

    • SQL Server 플랫폼 이미지 및 Azure 관리 포털의 응용 프로그램 계층 클라우드 컴퓨팅 리소스를 사용하여 새 가상 컴퓨터를 프로비저닝합니다. SQL Server Data Tools 및 SQL Server Management Studio를 사용하여 데이터베이스 배포 패키지를 만듭니다. Azure SDK 및 Visual Studio, Java, PHP 또는 Node.js용 플러그 인을 사용하여 기존 응용 프로그램 계층을 Azure 프로젝트로 마이그레이션합니다. 응용 프로그램 계층을 Azure에 배포하고 클라우드에서 데이터에 액세스합니다.

데이터베이스 및 데이터를 Azure 가상 컴퓨터에서 SQL Server로 마이그레이션하는 동안 다음 단계를 지정된 순서대로 수행하십시오.

  1. DAC, 백업 또는 분리를 사용하여 데이터베이스 스키마 및 데이터 파일을 내부에서 준비합니다. 자세한 내용은 아래의 스키마 및 데이터를 내부에서 준비하여 가상 컴퓨터의 SQL Server 인스턴스에 업로드하는 방법을 참조하십시오.

  2. 선택적으로 파일을 Azure로 전송하기 전에 압축하여 암호화합니다.

  3. 데이터베이스 스키마, 데이터 및 로그 파일을 Azure로 전송합니다. Add-AzureVHD cmdlet을 사용할 경우 파일을 VHD(가상 하드 드라이브)에 저장한 다음 VHD를 Azure에 업로드합니다. 자세한 내용은 아래의 데이터베이스 스키마 및 데이터 파일을 Azure 가상 컴퓨터로 이동하는 방법을 참조하십시오.

  4. 데이터베이스 스키마 및 데이터 파일을 가상 컴퓨터에서 SQL Server로 로드합니다. 자세한 내용은 아래의 스키마 및 데이터를 내부에서 준비하여 가상 컴퓨터의 SQL Server 인스턴스에 업로드하는 방법을 참조하십시오.

  5. 마이그레이션 도구로 Azure 가상 컴퓨터의 SQL Server에서 만들 수 없는 메타데이터를 다시 만듭니다.

SQL Server 2014 릴리스부터는 SQL Server Management Studio의 "Azure 가상 컴퓨터에 SQL Server 데이터베이스 배포" 마법사를 사용하여 데이터베이스 엔진 인스턴스의 데이터베이스를 Azure 가상 컴퓨터의 SQL Server에 배포할 수도 있습니다. 자세한 내용은 Azure 가상 컴퓨터에 SQL Server 데이터베이스 배포를 참조하십시오.

이 섹션에서는 데이터베이스 스키마 및 데이터 파일을 내부에서 준비하는 방법에 대해 설명합니다. 요구 사항에 따라 선택할 수 있는 몇 가지 옵션이 있습니다.

DAC(데이터 계층 응용 프로그램)를 사용하여 내부에서 Azure로 전송할 데이터베이스 스키마 및 데이터 파일을 준비할 수 있습니다.

  • .DACPAC 파일: .dacpac 파일에는 사용자 데이터베이스와 연결된 모든 SQL Server 개체(예: 테이블, 뷰 및 인스턴스 개체)의 정의가 포함되어 있습니다. DACPAC는 기존 데이터베이스의 업그레이드를 포함하여 데이터베이스 스키마를 캡처하고 배포하는 데 사용됩니다. 기존 SQL Server 데이터베이스에서 DAC(데이터 계층 응용 프로그램) 패키지를 추출하는 방법에 대한 자세한 내용은 데이터베이스에서 DAC 추출을 참조하십시오.

  • .BACPAC 파일: .bacpac 파일에는 데이터베이스 스키마와 데이터베이스에 저장된 데이터가 모두 포함되어 있습니다. BACPAC는 스키마 및 데이터를 캡처하는 데 중점을 둡니다. BACPAC는 논리적으로 데이터베이스 백업과 동일하며 기존 데이터베이스를 업그레이드하는 데 사용할 수 없습니다. .bacpac 파일을 만드는 방법에 대한 자세한 내용은 데이터 계층 응용 프로그램 내보내기를 참조하십시오.

데이터베이스의 스키마 및 데이터를 BACPAC 파일로 내보낼 수 있습니다. 그런 다음 스키마 및 데이터를 호스트 서버에 있는 새 데이터베이스로 가져올 수 있습니다. 이러한 두 기능 모두 데이터베이스 관리 도구인 Server Management Studio와 DACFx API에서 지원됩니다. 자세한 내용은 MSDN 라이브러리에서 BACPAC 파일을 가져와 새 사용자 데이터베이스 만들기Microsoft.SqlServer.Dac 네임스페이스를 참조하십시오.

참고:

  • DAC 작업에서는 BACPAC 또는 DACPAC 파일을 자동으로 암호화하지 않습니다. 내부와 Azure 사이의 통신이 보안되는지 확인해야 합니다. 파일이 Azure Blob Storage 또는 내부 디스크 저장소에 유휴 상태로 있을 때 bacpac 또는 dacfile 파일을 개별적으로 암호화하여 보호 수준을 높일 수도 있습니다.

  • DAC는 전체 텍스트 카탈로그를 지원하지 않습니다.

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

데이터베이스를 SQL Server의 다른 인스턴스나 다른 서버로 이동하려면 백업 및 복원 작업을 사용할 수 있습니다. SQL Server 내부와 가상 컴퓨터의 SQL Server에 모두 동일한 버전이 있는 경우 데이터베이스 백업 파일을 가상 컴퓨터에 복사한 다음 데이터베이스를 복원할 수 있습니다. 자세한 내용은 SQL Server 데이터베이스 백업 및 복원을 참조하십시오.

참고:

데이터베이스를 SQL Server의 다른 인스턴스나 다른 서버로 이동하려면 분리 및 연결 작업을 사용할 수 있습니다. 데이터(.mdf, .ndf) 및 로그(.ldf) 파일을 가상 컴퓨터의 로컬 폴더에 복사한 다음 데이터베이스를 연결합니다. 자세한 내용은 연결 및 분리를 사용하여 데이터베이스 이동(Transact-SQL)을 참조하십시오.

참고:

  • 데이터베이스를 분리하면 SQL Server 인스턴스에서 해당 데이터베이스가 제거되지만 데이터베이스의 데이터 파일 및 트랜잭션 로그 파일은 그대로 유지됩니다. 원본 데이터베이스를 오프 라인으로 전환해야 합니다. 데이터베이스를 업그레이드하거나 초대형 데이터베이스를 이동하는 것이 좋습니다.

  • 다음 중 하나라도 해당하는 경우 데이터베이스를 분리할 수 없습니다.

    • 데이터베이스를 복제하여 게시한 경우.

    • 데이터베이스 스냅숏이 데이터베이스에 있는 경우

    • 데이터베이스가 데이터베이스 미러링 세션에서 미러되고 있는 경우.

    • 주의 대상 데이터베이스인 경우

    • 데이터베이스가 시스템 데이터베이스인 경우

  • 분리하기 전에 전체 백업을 새로 수행하고 차등 백업을 다시 시작하는 것이 좋습니다.

  • 데이터베이스 분리 및 연결 작업을 수행하는 경우 데이터 압축 기능을 사용하여 데이터베이스 내부의 데이터를 압축하고 데이터베이스 크기를 줄일 수 있습니다. 또한 분리된 파일에 대해 별도의 압축 및 압축 풀기 도구를 사용할 수 있습니다.

  • 데이터베이스를 다른 서버 인스턴스에 연결하는 경우 사용자와 응용 프로그램에 일관된 환경을 제공하려면 로그인, 작업 등 데이터베이스의 일부 또는 모든 메타데이터를 다른 서버 인스턴스에서 다시 만들어야 할 수도 있습니다. 자세한 내용은 다른 서버 인스턴스에서 데이터베이스를 사용할 수 있도록 할 때 메타데이터 관리를 참조하십시오.

다음과 같은 추가 기술을 사용하여 서버 간에 데이터베이스를 복사 또는 이동할 수 있습니다.

  • SQL Server Management Studio의 데이터베이스 복사 마법사를 사용하여 서버 간에 데이터베이스를 복사 또는 이동하거나 SQL Server 데이터베이스를 이후 버전으로 업그레이드할 수 있습니다. 자세한 내용은 데이터베이스 복사 마법사 사용을 참조하십시오. 이 도구를 사용하여 온-프레미스에서 Azure로 데이터베이스를 복사하려면 하이브리드 연결용으로 Azure 가상 네트워크를 설정해야 합니다.

  • SQL Server 가져오기 및 내보내기 마법사는 데이터 원본 간에 데이터를 복사하고 기본 패키지를 구성하는 방법을 제공합니다. 이 마법사에 대한 자세한 내용은 SQL Server 가져오기 및 내보내기 마법사를 참조하십시오. SQL Server 가져오기 및 내보내기 마법사의 목적은 원본에서 대상으로 데이터를 복사하는 것입니다. 이 마법사는 대상 데이터베이스 및 대상 테이블도 만들 수 있습니다. 그러나 여러 개의 데이터베이스 또는 테이블을 복사하거나 다른 종류의 데이터베이스 개체를 복사해야 하는 경우 대신 데이터베이스 복사 마법사를 사용해야 합니다. SQL Server 가져오기 및 내보내기 마법사를 사용하여 온-프레미스에서 Azure로 데이터베이스를 복사하려면 하이브리드 연결용으로 Azure 가상 네트워크를 설정해야 합니다.

  • 스크립트 생성 및 게시 마법사를 사용하면 SQL Server 데이터베이스 엔진의 인스턴스 간에 데이터베이스를 전송하는 스크립트를 만들 수 있습니다. 생성된 스크립트는 데이터베이스 엔진의 다른 인스턴스에서 실행할 수 있습니다. 마법사를 사용하여 데이터베이스 게시 서비스 프로젝트를 통해 생성된 웹 서비스에 직접 데이터베이스의 내용을 게시할 수도 있습니다. 전체 데이터베이스에 대한 스크립트를 만들거나 특정 개체로 제한할 수 있습니다. 자세한 내용은 스크립트 생성 및 게시 마법사를 참조하십시오.

  • SQL Server 관리 개체(SMO) 라이브러리의 Transfer 클래스를 사용할 수 있습니다. 자세한 내용은 데이터 전송을 참조하십시오. SMO를 사용하면 원본 및 대상 데이터베이스를 온라인 상태로 유지할 수 있으므로 별도의 단계를 수행하여 Azure blob 저장소에서 데이터베이스 파일을 내보내거나 가져올 필요가 없습니다. SMO의 단점은 TDS를 사용하여 대규모 데이터 집합에는 매우 비효율적인 쪽에서 데이터베이스에 대한 클라이언트 연결을 사용한다는 점입니다.

  • 데이터베이스 전송 태스크에서는 SQL Server의 두 인스턴스 간에 SQL Server 데이터베이스를 복사하거나 이동할 수 있습니다. 온라인 또는 오프라인 모드에서 데이터베이스를 전송할 수 있습니다. 온라인 모드를 사용하는 경우 데이터베이스는 연결된 상태를 유지하며 데이터베이스 개체를 복사하는 SMO(SQL Management Object)를 통해 전송됩니다. 오프라인 모드를 사용하는 경우 데이터베이스가 분리된 상태로 데이터베이스 파일을 복사 또는 이동하며 성공적으로 전송을 완료한 다음 대상에 데이터베이스를 연결합니다.

원격 데스크톱을 사용하여 연결된 상태에서 복사/붙여넣기를 사용하여 작은 파일(데이터베이스 백업, BACPAC, 또는 DACPAC 파일)을 가상 컴퓨터에 복사할 수 있습니다.

큰 파일 전송하려면 다음 옵션 중 하나를 선택하십시오.

  • Add-AzureVhd cmdlet을 사용하여 VHD 파일을 Azure에 업로드합니다. VHD 파일은 데이터베이스를 포함할 수 있습니다. 자세한 내용은 Windows Server 운영 체제를 포함하는 가상 하드 디스크 만들기 및 업로드를 참조하십시오.

  • 가상 컴퓨터와 동일한 데이터 센터에 있는 BLOB 저장소에 파일을 업로드한 다음 원격 컴퓨터를 가상 컴퓨터에 업로드하고 BLOB 저장소에서 파일을 다운로드합니다. 자세한 내용은 클라우드 저장소 이해를 참조하십시오.

  • 스키마 및 데이터 파일을 가상 컴퓨터의 공유 폴더에 직접 복사합니다.

  • 웹 브라우저를 사용하여 인터넷에서 데이터베이스를 다운로드합니다. 예를 들어 CodePlex에서 AdventureWorks 데이터베이스를 다운로드할 수 있습니다.

다음 표에서는 파일을 Azure 가상 컴퓨터로 이동할 때 사용할 수 있는 몇 가지 일반적인 전송 방법에 대해 설명합니다. 또한 각 방법의 장단점을 설명합니다.

 

전송 방법 장점 단점

add-AzureVhd cmdlet을 사용하여 Azure Blob 저장소에 VHD 복사

  • 빠르고 Azure에 대해 최적화됨

  • 도구에서 불안정한 연결 처리 가능

  • 보안 전송

  • Microsoft에서 Add-AzureVhd cmdlet을 제공합니다. 그래픽 사용자 인터페이스가 필요한 경우 현재는 타사 도구를 사용할 수 있습니다.

  • Add-AzureVhd cmdlet을 사용하여 VHD를 Azure에 업로드하기 전에 VHD를 준비하고 포털에서 관리 인증서를 만든 후 업로드해야 합니다.

  • 업로드된 VHD를 Azure 가상 컴퓨터에 데이터 디스크로 연결해야 합니다.

가상 컴퓨터 공유에 파일 복사

  • 간편한 사용

  • 여러 클라이언트 도구 사용 가능

  • 가상 컴퓨터에 직접 파일 저장

  • VPN 연결이 필요합니다.

  • 다시 시작을 지원하는 파일 복사 도구는 일부에 불과합니다.

가상 컴퓨터에서 SQL Server를 설정, 구성 및 배포하는 방법에 대한 자세한 내용은 자습서: Azure에서 SQL Server 가상 컴퓨터 프로비전을 참조하십시오. 이 자습서에서는 Azure 관리 포털을 사용하여 갤러리에서 가상 컴퓨터를 선택 및 설치하는 방법에 대해 설명합니다. 또한 원격 데스크톱을 사용하여 가상 컴퓨터에 연결하는 방법과 SQL Server Management Studio를 사용하여 가상 컴퓨터에서 SQL Server에 연결하는 방법을 보여 줍니다.

자세한 내용은 Azure 가상 컴퓨터의 SQL Server로 마이그레이션할 준비하기Azure 가상 컴퓨터의 SQL Server 배포를 참조하십시오.

참고 항목

이 정보가 도움이 되었습니까?
(1500자 남음)
의견을 주셔서 감사합니다.
Microsoft는 MSDN 웹 사이트에 대한 귀하의 의견을 이해하기 위해 온라인 설문 조사를 진행하고 있습니다. 참여하도록 선택하시면 MSDN 웹 사이트에서 나가실 때 온라인 설문 조사가 표시됩니다.

참여하시겠습니까?
표시:
© 2014 Microsoft