빠른 시작: SSMS를 사용하여 Azure SQL Managed Instance로 데이터베이스 복원

적용 대상:Azure SQL Managed Instance

이 빠른 시작에서는 SSMS(SQL Server Management Studio)를 사용하여 Azure Blob 스토리지에서 Azure SQL Managed Instance로 데이터베이스를 복원합니다. 이 빠른 시작은 SAS를 사용하여 공개적으로 사용 가능한 백업 파일에서 Wide World Importers 샘플 데이터베이스를 복원합니다.

참고 항목

필수 조건

이 빠른 시작은

참고 항목

Blob Storage와 공유 액세스 서명 키를 사용하여 SQL Server Database를 백업하고 복원하는 데 관한 자세한 내용은 URL에 SQL Server 백업을 참조하세요.

복원 마법사를 사용하여 백업 파일에서 복원

SSMS에서 다음 섹션의 단계에 따라 복원 마법사를 사용하여 Wide World Importers 데이터베이스를 SQL Managed Instance에 복원합니다. 데이터베이스 백업 파일은 미리 구성된 Blob Storage 계정에 저장됩니다.

복원 마법사 열기

  1. SSMS를 열고 SQL Managed Instance에 연결합니다.

  2. 개체 탐색기에서 관리형 인스턴스의 데이터베이스 폴더를 마우스 오른쪽 단추로 클릭한 다음, 데이터베이스 복원을 선택하여 복원 마법사를 엽니다.

    SSMS 개체 탐색기의 스크린샷. 데이터베이스 폴더가 선택되었습니다. 바로 가기 메뉴에서 데이터베이스 복원이 선택되었습니다.

백업 원본을 선택합니다.

  1. 복원 마법사에서 줄임표(...)를 선택하고, 복원할 백업 파일의 원본을 선택합니다.

    복원 마법사 페이지의 스크린샷. 원본 섹션에서 디바이스가 선택되고 줄임표가 호출됩니다.

  2. 백업 디바이스 선택에서 추가를 선택합니다. 백업 미디어 유형에서 URL은 유일하게 지원되는 원본 유형이므로 유일하게 사용 가능한 옵션입니다. 확인을 선택합니다.

    백업 디바이스 선택 대화 상자의 스크린샷. 추가 단추 및 확인 단추가 호출됩니다.

  3. 백업 파일 위치 선택에서 다음 세 가지 옵션 중에 선택하여 백업 파일의 위치에 대한 정보를 제공할 수 있습니다.

    • Azure Storage 컨테이너 목록에서 미리 등록된 스토리지 컨테이너를 선택합니다.
    • 새 스토리지 컨테이너 및 공유 액세스 서명을 입력합니다. 새 SQL 자격 증명이 자동으로 등록됩니다.
    • 추가를 선택하여 Azure 구독에서 더 많은 스토리지 컨테이너를 찾습니다.

    백업 파일 위치 선택 대화 상자의 스크린샷. Azure Storage 컨테이너 섹션에서 추가가 선택되었습니다.

    추가를 선택한 경우 다음 섹션인 Azure 구독 스토리지 컨테이너 찾아보기를 진행합니다. 다른 방법을 사용하여 백업 파일의 위치를 제공하는 경우 데이터베이스 복원으로 건너뜁니다.

    공개적으로 액세스할 수 있는 읽기 전용 스토리지에서 Wide World Importers 샘플 데이터베이스를 복원하려면 https://mitutorials.blob.core.windows.net/examples/ 값을 제공하고 공유 액세스 서명 필드에 SAS와 같은 값을 제공합니다.

    백업 파일 위치 선택 대화 상자 스크린샷. 샘플 WideWorldImporters 폴더 위치가 지정됩니다. 선택 상자가 빨간색으로 표시됩니다.

Azure 구독 스토리지 컨테이너 찾아보기

참고 항목

이러한 단계는 공개적으로 액세스할 수 있는 읽기 전용 Azure Blob Storage에서 WideWorldImporters 샘플 데이터베이스를 복원할 필요는 없지만, 사용자의 Azure Blob Storage에서 데이터베이스를 복원하는 데 필요합니다.

  1. Microsoft 구독에 연결에서 로그인을 선택하여 Azure 구독에 로그인합니다.

    Microsoft 구독에 연결 대화 상자의 스크린샷. 로그인 단추가 호출됩니다.

  2. 다음과 같이 Microsoft 계정에 로그인하여 Azure에서 세션을 시작합니다.

    계정에 로그인 대화 상자의 스크린샷. Microsoft 로고, 로그인 상자 및 기타 UI 요소가 나타나 있습니다.

  3. 백업 파일이 포함된 스토리지 계정의 구독을 선택합니다.

    Microsoft 구독에 연결 대화 상자의 스크린샷. 사용할 구독 선택에서 목록 상자의 아래쪽 화살표가 호출됩니다.

  4. 백업 파일이 포함된 스토리지 계정을 선택합니다.

    Microsoft 구독에 연결 대화 상자의 스크린샷. 스토리지 계정 선택 목록 상자의 아래쪽 화살표가 호출됩니다.

  5. 백업 파일이 포함된 BLOB 컨테이너를 선택합니다.

    Microsoft 구독에 연결 대화 상자의 스크린샷. Blob 컨테이너 선택 목록 상자의 아래쪽 화살표가 호출됩니다.

  6. 공유 액세스 정책의 만료 날짜를 입력하고 자격 증명 만들기를 선택합니다. 올바른 권한이 있는 공유 액세스 서명이 만들어집니다. 확인을 선택합니다.

    Microsoft 구독에 연결 대화 상자의 스크린샷. 자격 증명 만들기, 확인, 공유 액세스 정책 만료 상자가 호출됩니다.

데이터베이스 복원

이제 스토리지 컨테이너를 선택했으므로 Microsoft Azure에서 백업 파일 찾기 대화 상자가 표시됩니다.

  1. 왼쪽 창에서 폴더 구조를 확장하여 백업 파일이 있는 폴더를 표시합니다. 오른쪽 창에서 복원 중인 백업 집합과 관련된 모든 백업 파일을 선택한 다음 확인을 선택합니다. 예를 들어 다음 스크린샷은 WideWorldImporters 샘플 데이터베이스를 포함하는 공개적으로 액세스할 수 있는 읽기 전용 Blob Storage를 보여줍니다.

    Microsoft Azure의 백업 파일 찾기 대화 상자 스크린샷. WideWorldImporters-Standard.bak 백업 파일이 선택되어 있고 확인 단추가 빨간색으로 표시됩니다.

    SSMS는 백업 세트의 유효성을 검사합니다. 이 프로세스는 최대 몇 초 정도 걸립니다. 시간은 백업 세트의 크기에 따라 달라집니다.

  2. 백업의 유효성을 검사하는 경우 복원 중인 데이터베이스의 이름을 지정해야 합니다. 기본적으로 대상에서 데이터베이스 상자에는 백업 집합 데이터베이스의 이름이 포함됩니다. 이름을 변경하려면 데이터베이스의 새 이름을 입력합니다. 확인을 선택합니다.

    복원 마법사 페이지의 스크린샷. 대상 섹션에서 데이터베이스 상자가 호출됩니다. 확인 버튼도 호출됩니다.

    복원 프로세스가 시작됩니다. 시간은 백업 세트의 크기에 따라 달라집니다.

    복원 마법사 페이지의 스크린샷. 진행률 표시기가 호출됩니다.

  3. 복원 프로세스가 완료되면 복원이 성공했다는 대화 상자가 표시됩니다. 확인을 선택합니다.

    복원 마법사 페이지 위에 있는 대화 상자의 스크린샷. 대화상자의 메시지는 데이터베이스가 성공적으로 복원되었음을 나타냅니다.

  4. 개체 탐색기에서 새로 고침을 선택하여 복원된 데이터베이스를 확인합니다.

    개체 탐색기의 스크린샷. 복원된 데이터베이스가 호출됩니다.

T-SQL을 사용하여 백업 파일에서 복원

복원 마법사 대신 T-SQL 문을 사용하여 데이터베이스를 복원할 수 있습니다. SSMS에서 다음 단계에 따라 T-SQL을 사용하여 Wide World Importers 데이터베이스를 SQL Managed Instance에 복원합니다. 데이터베이스 백업 파일은 미리 구성된 Blob Storage 계정에 저장됩니다.

  1. SSMS를 열고 SQL Managed Instance에 연결합니다.

  2. 개체 탐색기에서 SQL Managed Instance를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택하여 새 쿼리 창을 엽니다.

  3. 공개적으로 사용 가능한 미리 구성된 스토리지 컨테이너와 공유 액세스 서명 키를 사용하여 SQL Managed Instance에 자격 증명을 만드는 다음 T-SQL 문을 실행합니다.

    중요

    • CREDENTIAL은 컨테이너 경로와 일치해야 하고, https로 시작해야 하며, 후행 슬래시를 포함할 수 없습니다.
    • IDENTITY 해야 SHARED ACCESS SIGNATURE합니다.
    • SECRET은 공유 액세스 서명 토큰이어야 하며 선행 ?를 포함할 수 없습니다.
    • 이 예제에서는 스토리지 계정을 공개적으로 사용할 수 있으므로 SECRET가 생략됩니다. 공개적으로 사용할 수 없는 스토리지 계정을 사용하는 경우 공유 액세스 서명 토큰을 제공해야 합니다.
    CREATE CREDENTIAL [https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE';
    

    SSMS 쿼리 편집기를 보여 주는 스크린샷. CREATE CREDENTIAL 문이 표시되고 메시지는 쿼리가 성공적으로 실행되었음을 나타냅니다.

    이전 예제의 자격 증명 경로는 단일 파일에 대한 액세스를 제공합니다. 폴더 경로에 대한 공유 액세스 서명 토큰을 만들 수도 있습니다. 예를 들면 다음과 같습니다.

    CREATE CREDENTIAL [https://<your storage>.blob.core.windows.net/databases/backups/]
    WITH IDENTITY = 'SHARED ACCESS SIGNATURE'
    , SECRET = '<your shared access signature>'; -- omit the leading ?
    
  4. 자격 증명이 제대로 작동하는지 확인하려면 URL을 사용하여 백업 파일 목록을 가져오는 다음 문을 실행합니다.

    RESTORE FILELISTONLY FROM URL = 'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    SSMS 쿼리 편집기를 보여 주는 스크린샷. RESTORE FILELISTONLY 문이 표시되고 결과 탭에 세 개의 파일이 나열됩니다.

  5. 예제 Wide World Importers 데이터베이스를 복원하려면 다음 문을 실행합니다.

    RESTORE DATABASE [WideWorldImportersExample] FROM URL =
      'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
    

    SSMS 쿼리 편집기를 보여 주는 스크린샷. RESTORE DATABASE 문이 표시되고 메시지는 쿼리가 성공적으로 실행되었음을 나타냅니다.

    Error: 3201 또는 Operating system error 86(The specified network password is not correct.)이 표시되는 경우 SAS 자격 증명(이전 단계에서 생성됨)이 잘못 생성되었기 때문일 수 있습니다. DROP CREDENTIAL 수행 후 다시 만들고 자격 증명 이름, ID 및 비밀을 검토합니다.

  6. 다음 문을 실행하여 복원 프로세스 상태를 추적합니다.

    SELECT session_id as SPID, command, a.text AS Query, start_time, percent_complete
       , dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
    FROM sys.dm_exec_requests r
    CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) a
    WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE');
    
  7. 복원 프로세스가 완료되면 개체 탐색기에서 데이터베이스를 봅니다. sys.dm_operation_status 보기를 사용하여 데이터베이스 복원이 완료되었는지 확인할 수 있습니다.

참고 항목

데이터베이스 복원 작업은 비동기적이며 다시 시도할 수 있습니다. 연결이 실패하거나 시간 제한이 만료되면 SSMS에서 오류가 발생할 수 있습니다. SQL Managed Instance는 백그라운드에서 데이터베이스 복원을 계속 시도하며, sys.dm_exec_requestssys.dm_operation_status 보기를 사용하여 복원 프로세스의 진행률을 추적할 수 있습니다.

복원 프로세스의 일부 단계에서는 시스템 보기에 실제 데이터베이스 이름 대신 고유 식별자가 표시됩니다. RESTORE 문 동작 차이점에 대해 알아보려면 SQL Server 및 Azure SQL Managed Instance 간의 T-SQL 차이점을 참조하세요.