이 빠른 시작에서는 SSMS(SQL Server Management Studio)를 사용하여 데이터베이스를 Azure Blob Storage Azure SQL Managed Instance 복원합니다. 빠른 시작에서는 SAS(공유 액세스 서명) 키를 사용하여 공개적으로 사용 가능한 백업 파일에서 Wide World Importers 샘플 데이터베이스를 복원합니다.
참고 사항
이 빠른 시작은 Azure Blob Storage 수동으로 백업된 데이터베이스를 복원하는 것입니다. 자동화된 백업에서 복원하려는 경우 자동화된 백업 에서 데이터베이스 복원을 참조하세요.
필수 조건
이 빠른 시작은
- SQL 관리되는 인스턴스 만들기 빠른 시작의 리소스를 사용합니다.
- 최신 버전의 SSMS가 필요합니다.
- SQL Managed Instance에 연결하려면 SSMS가 필요합니다. 연결 방법에 대해 다음과 같은 빠른 시작을 참조하세요.
- SQL Managed Instance 공용 엔드포인트를 사용할 수 있습니다. 이 방법은 이 빠른 시작에 권장됩니다.
- Azure VM에서 SQL Managed Instance 연결.
- 온-프레미스에서 SQL Managed Instance로의 지점 간 연결을 구성합니다.
- Azure Blob Storage 저장된 백업 파일이 필요합니다. 이 빠른 시작에서는 Wide World Importers 샘플 데이터베이스에 공개적으로 사용 가능한 백업 파일을 사용하지만 Azure Blob Storage 계정에 저장된 사용자 고유의 백업 파일을 사용할 수도 있습니다. 백업 파일을 만들고 Azure Blob Storage 저장하는 방법에 대한 자세한 내용은
SQL Server 데이터베이스를 Azure Blob Storage 참조하세요.
SSMS를 사용하여 백업 파일에서 복원
SSMS에서 다음 섹션의 단계를 수행하여 Restore 마법사를 사용하여 Wide World Importers 데이터베이스를 SQL Managed Instance 복원합니다. 데이터베이스 백업 파일은 미리 구성된 Blob Storage 계정에 저장됩니다.
복원 마법사 열기
SSMS를 열고 SQL Managed Instance에 연결합니다.
개체 탐색기 SQL 관리형 인스턴스의 데이타베이스 폴더를 마우스 오른쪽 단추로 클릭한 다음 Restore Database...를 선택합니다. Restore 마법사를 엽니다.
백업 원본을 선택합니다.
복원 마법사에서 줄임표(...)를 선택하여 복원할 백업 세트의 원본을 선택합니다.
백업 디바이스 선택에서 추가를 선택합니다. 백업 미디어 유형에서 URL은 유일하게 지원되는 원본 유형이므로 유일하게 사용 가능한 옵션입니다. 확인을 선택합니다.
백업 파일 위치 선택에서 다음 세 가지 옵션 중에 선택하여 백업 파일의 위치에 대한 정보를 제공할 수 있습니다.
- Azure 스토리지 컨테이너 목록에서 미리 등록된 스토리지 컨테이너를 선택합니다.
- 새 스토리지 컨테이너 및 공유 액세스 서명을 입력합니다. 새 SQL 자격 증명이 자동으로 등록됩니다.
- Add를 선택하여 Azure 구독에서 더 많은 스토리지 컨테이너를 찾습니다.
Add를 선택하면 다음 섹션인 Azure 구독 스토리지 컨테이너 검색으로 진행하십시오. 다른 방법을 사용하여 백업 파일의 위치를 제공하는 경우 데이터베이스 복원으로 건너뜁니다.
공개적으로 액세스할 수 있는 읽기 전용 스토리지에서 Wide World Importers 샘플 데이터베이스를 복원하려면
https://mitutorials.blob.core.windows.net/examples/값을 제공하고 공유 액세스 서명 필드에SAS와 같은 값을 제공합니다.
Azure 구독 스토리지 컨테이너 찾아보기
참고 사항
이러한 단계는 공개적으로 액세스할 수 있는 읽기 전용 Azure Blob Storage에서 WideWorldImporters 샘플 데이터베이스를 복원할 필요는 없지만 고유한 Azure Blob Storage에서 데이터베이스를 복원해야 합니다.
Microsoft 구독에 연결에서 로그인을 선택하여 Azure 구독에 로그인합니다.
Microsoft 구독에 연결 대화 상자 스크린샷입니다. 로그인 버튼이 강조 표시됩니다. Microsoft 계정에 로그인하여 Azure 세션을 시작합니다.
백업 파일이 포함된 스토리지 계정의 구독을 선택합니다.
백업 파일이 포함된 스토리지 계정을 선택합니다.
백업 파일이 포함된 BLOB 컨테이너를 선택합니다.
공유 액세스 정책의 만료 날짜를 입력하고 자격 증명 만들기를 선택합니다. 올바른 권한이 있는 공유 액세스 서명이 만들어집니다. 확인을 선택합니다.
데이터베이스 복원
이제 스토리지 컨테이너를 선택했으므로 Microsoft Azure 대화 상자에서 백업 파일 찾기를 보셔야 합니다.
왼쪽 창에서 폴더 구조를 확장하여 백업 파일이 있는 폴더를 표시합니다. 오른쪽 창에서 복원 중인 백업 집합과 관련된 모든 백업 파일을 선택한 다음 확인을 선택합니다. 예를 들어 다음 스크린샷은 샘플 데이터베이스를 포함하는
WideWorldImporters공개적으로 액세스할 수 있는 읽기 전용 Blob 저장소를 보여 줍니다.Microsoft Azure의 백업 파일 찾기 대화 상자의 스크린샷입니다. WideWorldImporters-Standard.bak 백업 파일이 선택되었고, 확인 버튼은 빨간색으로 테두리가 쳐져 있습니다. SSMS는 백업 세트의 유효성을 검사합니다. 이 프로세스는 최대 몇 초 정도 걸립니다. 시간은 백업 세트의 크기에 따라 달라집니다.
백업의 유효성을 검사하는 경우 복원 중인 데이터베이스의 이름을 지정해야 합니다. 기본적으로 대상에서 데이터베이스 상자에는 백업 집합 데이터베이스의 이름이 포함됩니다. 이름을 변경하려면 데이터베이스의 새 이름을 입력합니다. 확인을 선택합니다.
복원 프로세스가 시작됩니다. 시간은 백업 세트의 크기에 따라 달라집니다.
복원 프로세스가 완료되면 복원이 성공했다는 대화 상자가 표시됩니다. 확인을 선택합니다.
개체 탐색기에서 Refresh 선택하여 복원된 데이터베이스를 확인합니다.
T-SQL을 사용하여 백업 파일에서 복원
복원 마법사 대신 T-SQL 문을 사용하여 데이터베이스를 복원할 수 있습니다. SSMS에서 다음 단계에 따라 T-SQL을 사용하여 Wide World Importers 데이터베이스를 SQL Managed Instance 복원합니다. 데이터베이스 백업 파일은 미리 구성된 Blob Storage 계정에 저장됩니다.
SSMS를 열고 SQL Managed Instance에 연결합니다.
개체 탐색기 SQL 관리형 인스턴스를 마우스 오른쪽 단추로 클릭하고 새 쿼리를 선택하여 새 쿼리 창을 엽니다.
공개적으로 사용 가능한 미리 구성된 스토리지 컨테이너와 공유 액세스 서명 키를 사용하여 SQL Managed Instance에 자격 증명을 만드는 다음 T-SQL 문을 실행합니다.
중요
-
CREDENTIAL은 컨테이너 경로와 일치해야 하고,https로 시작해야 하며, 후행 슬래시를 포함할 수 없습니다. 는 반드시 여야 합니다. -
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';SSMS 쿼리 편집기를 보여주는 스크린샷입니다. RESTORE FILELISTONLY 문이 표시되고 결과 탭에는 세 개의 파일이 나열됩니다.
예제 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수행 후 자격 증명 이름, 신원 및 비밀을 검토하고 다시 만듭니다.다음 문을 실행하여 복원 프로세스 상태를 추적합니다.
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 문 동작의 차이점에 대해 알아보려면 T-SQL의 SQL Server 및 Azure SQL Managed Instance 차이점을 참조하십시오.