빠른 시작: SSMS를 사용하여 Azure SQL Managed Instance로 데이터베이스 복원
적용 대상: Azure SQL Managed Instance
이 빠른 시작에서는 SSMS(SQL Server Management Studio)를 사용하여 Azure Blob 스토리지에서 Azure SQL Managed Instance로 데이터베이스를 복원합니다. 이 빠른 시작은 SAS를 사용하여 공개적으로 사용 가능한 백업 파일에서 Wide World Importers 샘플 데이터베이스를 복원합니다.
참고 항목
- 동영상 자습서는 Azure SQL Managed Instance - 데이터베이스 백업 복원을 참조하세요.
- Azure Database Migration Service를 사용하여 마이그레이션하는 방법에 대한 자세한 내용은 자습서: Database Migration Service를 사용하여 SQL Server를 Azure SQL Managed Instance로 마이그레이션을 참조하세요.
- 다양한 마이그레이션 방법에 대한 자세한 내용은 SQL Server를 Azure SQL Managed Instance로 가이드를 참조하세요.
필수 조건
이 빠른 시작은
- SQL 관리되는 인스턴스 만들기 빠른 시작의 리소스를 사용합니다.
- 최신 버전의 SSMS가 설치되어 있어야 합니다.
- SQL Managed Instance에 연결하려면 SSMS가 필요합니다. 연결 방법에 대해 다음과 같은 빠른 시작을 참조하세요.
- SQL Managed Instance에서 퍼블릭 엔드포인트 사용. 이 방법은 이 빠른 시작에 권장됩니다.
- Azure VM에서 SQL Managed Instance에 연결
- 온-프레미스에서 Azure SQL Managed Instance로의 지점 및 사이트 간 연결 구성.
참고 항목
Blob Storage와 공유 액세스 서명 키를 사용하여 SQL Server Database를 백업하고 복원하는 데 관한 자세한 내용은 URL에 SQL Server 백업을 참조하세요.
복원 마법사를 사용하여 백업 파일에서 복원
SSMS에서 다음 섹션의 단계에 따라 복원 마법사를 사용하여 Wide World Importers 데이터베이스를 SQL Managed Instance에 복원합니다. 데이터베이스 백업 파일은 미리 구성된 Blob Storage 계정에 저장됩니다.
복원 마법사 열기
SSMS를 열고 SQL Managed Instance에 연결합니다.
개체 탐색기에서 관리형 인스턴스의 데이터베이스 폴더를 마우스 오른쪽 단추로 클릭한 다음, 데이터베이스 복원을 선택하여 복원 마법사를 엽니다.
백업 원본을 선택합니다.
복원 마법사에서 줄임표(...)를 선택하고, 복원할 백업 파일의 원본을 선택합니다.
백업 디바이스 선택에서 추가를 선택합니다. 백업 미디어 유형에서 URL은 유일하게 지원되는 원본 유형이므로 유일하게 사용 가능한 옵션입니다. 확인을 선택합니다.
백업 파일 위치 선택에서 다음 세 가지 옵션 중에 선택하여 백업 파일의 위치에 대한 정보를 제공할 수 있습니다.
- Azure Storage 컨테이너 목록에서 미리 등록된 스토리지 컨테이너를 선택합니다.
- 새 스토리지 컨테이너 및 공유 액세스 서명을 입력합니다. 새 SQL 자격 증명이 자동으로 등록됩니다.
- 추가를 선택하여 Azure 구독에서 더 많은 스토리지 컨테이너를 찾습니다.
추가를 선택한 경우 다음 섹션인 Azure 구독 스토리지 컨테이너 찾아보기를 진행합니다. 다른 방법을 사용하여 백업 파일의 위치를 제공하는 경우 데이터베이스 복원으로 건너뜁니다.
공개적으로 액세스할 수 있는 읽기 전용 스토리지에서 Wide World Importers 샘플 데이터베이스를 복원하려면
https://mitutorials.blob.core.windows.net/examples/
값을 제공하고 공유 액세스 서명 필드에SAS
와 같은 값을 제공합니다.
Azure 구독 스토리지 컨테이너 찾아보기
참고 항목
이러한 단계는 공개적으로 액세스할 수 있는 읽기 전용 Azure Blob Storage에서 WideWorldImporters
샘플 데이터베이스를 복원할 필요는 없지만, 사용자의 Azure Blob Storage에서 데이터베이스를 복원하는 데 필요합니다.
Microsoft 구독에 연결에서 로그인을 선택하여 Azure 구독에 로그인합니다.
다음과 같이 Microsoft 계정에 로그인하여 Azure에서 세션을 시작합니다.
백업 파일이 포함된 스토리지 계정의 구독을 선택합니다.
백업 파일이 포함된 스토리지 계정을 선택합니다.
백업 파일이 포함된 BLOB 컨테이너를 선택합니다.
공유 액세스 정책의 만료 날짜를 입력하고 자격 증명 만들기를 선택합니다. 올바른 권한이 있는 공유 액세스 서명이 만들어집니다. 확인을 선택합니다.
데이터베이스 복원
이제 스토리지 컨테이너를 선택했으므로 Microsoft Azure에서 백업 파일 찾기 대화 상자가 표시됩니다.
왼쪽 창에서 폴더 구조를 확장하여 백업 파일이 있는 폴더를 표시합니다. 오른쪽 창에서 복원 중인 백업 집합과 관련된 모든 백업 파일을 선택한 다음 확인을 선택합니다. 예를 들어 다음 스크린샷은
WideWorldImporters
샘플 데이터베이스를 포함하는 공개적으로 액세스할 수 있는 읽기 전용 Blob Storage를 보여줍니다.SSMS는 백업 세트의 유효성을 검사합니다. 이 프로세스는 최대 몇 초 정도 걸립니다. 시간은 백업 세트의 크기에 따라 달라집니다.
백업의 유효성을 검사하는 경우 복원 중인 데이터베이스의 이름을 지정해야 합니다. 기본적으로 대상에서 데이터베이스 상자에는 백업 집합 데이터베이스의 이름이 포함됩니다. 이름을 변경하려면 데이터베이스의 새 이름을 입력합니다. 확인을 선택합니다.
복원 프로세스가 시작됩니다. 시간은 백업 세트의 크기에 따라 달라집니다.
복원 프로세스가 완료되면 복원이 성공했다는 대화 상자가 표시됩니다. 확인을 선택합니다.
개체 탐색기에서 새로 고침을 선택하여 복원된 데이터베이스를 확인합니다.
T-SQL을 사용하여 백업 파일에서 복원
복원 마법사 대신 T-SQL 문을 사용하여 데이터베이스를 복원할 수 있습니다. SSMS에서 다음 단계에 따라 T-SQL을 사용하여 Wide World Importers 데이터베이스를 SQL Managed Instance에 복원합니다. 데이터베이스 백업 파일은 미리 구성된 Blob Storage 계정에 저장됩니다.
SSMS를 열고 SQL Managed Instance에 연결합니다.
개체 탐색기에서 SQL Managed Instance를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택하여 새 쿼리 창을 엽니다.
공개적으로 사용 가능한 미리 구성된 스토리지 컨테이너와 공유 액세스 서명 키를 사용하여 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';
이전 예제의 자격 증명 경로는 단일 파일에 대한 액세스를 제공합니다. 폴더 경로에 대한 공유 액세스 서명 토큰을 만들 수도 있습니다. 예를 들면 다음과 같습니다.
CREATE CREDENTIAL [https://<your storage>.blob.core.windows.net/databases/backups/] WITH IDENTITY = 'SHARED ACCESS SIGNATURE' , SECRET = '<your shared access signature>'; -- omit the leading ?
자격 증명이 제대로 작동하는지 확인하려면 URL을 사용하여 백업 파일 목록을 가져오는 다음 문을 실행합니다.
RESTORE FILELISTONLY FROM URL = 'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
예제 Wide World Importers 데이터베이스를 복원하려면 다음 문을 실행합니다.
RESTORE DATABASE [WideWorldImportersExample] FROM URL = 'https://mitutorials.blob.core.windows.net/examples/WideWorldImporters-Standard.bak';
팁
Error: 3201
또는Operating system error 86(The specified network password is not correct.)
이 표시되는 경우 SAS 자격 증명(이전 단계에서 생성됨)이 잘못 생성되었기 때문일 수 있습니다.DROP CREDENTIAL
수행 후 다시 만들고 자격 증명 이름, ID 및 비밀을 검토합니다.다음 문을 실행하여 복원 프로세스 상태를 추적합니다.
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');
복원 프로세스가 완료되면 개체 탐색기에서 데이터베이스를 봅니다. sys.dm_operation_status 보기를 사용하여 데이터베이스 복원이 완료되었는지 확인할 수 있습니다.
참고 항목
데이터베이스 복원 작업은 비동기적이며 다시 시도할 수 있습니다. 연결이 실패하거나 시간 제한이 만료되면 SSMS에서 오류가 발생할 수 있습니다. SQL Managed Instance는 백그라운드에서 데이터베이스 복원을 계속 시도하며, sys.dm_exec_requests 및 sys.dm_operation_status 보기를 사용하여 복원 프로세스의 진행률을 추적할 수 있습니다.
복원 프로세스의 일부 단계에서는 시스템 보기에 실제 데이터베이스 이름 대신 고유 식별자가 표시됩니다. RESTORE
문 동작 차이점에 대해 알아보려면 SQL Server 및 Azure SQL Managed Instance 간의 T-SQL 차이점을 참조하세요.
관련 콘텐츠
- URL에 대한 백업 문제 해결 관련 정보는 URL에 대한 SQL Server 백업 모범 사례 및 문제 해결을 참조하세요.
- 앱 연결 옵션 개요는 애플리케이션을 SQL Managed Instance에 연결을 참조하세요.
- 즐겨 찾는 도구 또는 언어를 사용하여 쿼리하려면 빠른 시작: Azure SQL Database 연결 및 쿼리를 참조하세요.