티스토리 뷰
SQL backup to Windows Azure Storage Part 1
AWS-in 2015. 11. 23. 16:11Windows Azure Blob Storage as database backup
On-Premise 환경에서 Windows Azure Storage(저장소)에 백업하는 방법이 3가지가 있다.
Session1. Backup to URL in SQL Server 2012, 2014
Part 1 : Backup to URL in SQL Server 2012, 2014
Part 1-1 : Backup to URL in SQL Server 2012, 2014 as SSMS
Session2. Backup To Windows Azure Tool
Part 2 : Backup To Windows Azure Tool 로 백업
Part 2-1 : Windows Azure Tool 구성 옵션 암호화/압축 기능
Session3. Managed Backup to Windows Azure
Part 3 : Managed Backup - 데이터베이스 수준의 관리되는 백업
Part 3-1 : Managed Backup - SQL 인스턴스 수준의 관리되는 백업
3가지 방법을 세션별로 포스팅할 예정이다.
첫번째로 URL Backup 을 진행해보자.
Session1. Backup to URL in SQL Server 2012, 2014
단계.1 Create the Windows Azure Storage Account in Windows Azure
Windows Azure에 로그인하여 [저장소]를 클릭하여 저장소 계정을 생성한다. [저장소 계정 만들기]를 클릭한다.
아래 화면에서 URL 이 저장소계정에 해당된다. [ghostbackup]으로 생성하였다.
저장소 계정을 생성 한 후 계정을 클릭한다.
메뉴탭에 [컨테이너] 를 클릭하여 이름/ 액세스 를 입력 선택한다.
모두 완료하였다.
백업에 필요한 액세스키 정보가 필요하다.
아래 메뉴에서 저장소계정의 대시보드를 클릭하면 하단에 [액세스 키 관리] 메뉴를 클릭하면
정보를 확인할 수 있다. 기본 액세스키를 복사하여 단계.2 에서 사용하면 된다.
단계.2 Create the Credential & Backup the on-premise database to Windows Azure Blob Storage
use master
go
CREATE CREDENTIAL MyCredentialName
WITH IDENTITY = 'ghostbackup', --Identity : Windows Azure Storage Account Name
SECRET = 'lqQSslZqvK4NYugWwDZIHk7j3qx6UEVXQnlN5Z2tIFfFHIPX4VzdfanOlmFYf3OLVKcVc26ML0PECFKfPrNJmg=='; --Secret : Storage Account Primary Access Key
-- SSMS > 보안 > 자격증명 에 존재한다.
SELECT * FROM sys.credentials;
BACKUP DATABASE MoveDB TO
URL = N'https://ghostbackup.blob.core.windows.net/dbbackups/MoveDB_Full_20151123.bak' -- URL value with your Container URL
WITH CREDENTIAL = N'MyCredentialName',
NAME = N'MoveDB-Full Database Backup', STATS = 10;
/*
42퍼센트 처리되었습니다.
85퍼센트 처리되었습니다.
99퍼센트 처리되었습니다.
파일 1에서 데이터베이스 'MoveDB', 파일 'MoveDB'에 대해 296개의 페이지를 처리했습니다 .
100퍼센트 처리되었습니다.
파일 1에서 데이터베이스 'MoveDB', 파일 'MoveDB_log'에 대해 2개의 페이지를 처리했습니다 .
BACKUP DATABASE이(가) 298개의 페이지를 2.001초 동안 처리했습니다(1.163MB/초).
완료 후 Azure에서 확인 해보자.
단계.3 Restore the database from Windows Azure Blob Storage
Windows Azure Blob Storage에 저장된 백업본으로 On-Primise SQL Server로 복원을 해보자.
같은 SQL Server에 다른 디비이름으로 복원을 해보자.
Move To 옵션도 같이 적용된다.
use master
go
--Restore DB1 from backup in Windows Azure Blob Storage
RESTORE DATABASE MoveDB_Azure
FROM URL = N'https://ghostbackup.blob.core.windows.net/dbbackups/MoveDB_Full_20151123.bak'
-- 컨데이터의 해당하는 디비의 URL 탭을 복사하면 된다.
WITH CREDENTIAL = 'MyCredentialName' -- 백업시 생성한 자격증명으로 이용한다.
, Move 'MoveDB' to 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MoveDB_Azure.mdf'
, Move 'MoveDB_log' to 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\MoveDB_Azure_log.LDF'
/*
파일 1에서 데이터베이스 'MoveDB_Azure', 파일 'MoveDB'에 대해 296개의 페이지를 처리했습니다 .
파일 1에서 데이터베이스 'MoveDB_Azure', 파일 'MoveDB_log'에 대해 2개의 페이지를 처리했습니다 .
RESTORE DATABASE이(가) 298개의 페이지를 0.386초 동안 처리했습니다(6.031MB/초).
*/
sp_helpdb movedb_azure
그러나 백업파일의 정보를 확인할 수 있는 방법은 아직 찾지 못했다. 이 정보를 알 수 없을 경우에는 복원시 히스토리 관리가 안되므로 불편할 수 있다.
-- 해당 백업파일의 정보를 확인할 수 없다 ?? 좀더 확인해보자.
RESTORE HEADERONLY from disk=N'https://ghostbackup.blob.core.windows.net/dbbackups/MoveDB_Full_20151123.bak'
/*
메시지 3201, 수준 16, 상태 2, 줄 38
백업 장치 'https://ghostbackup.blob.core.windows.net/dbbackups/MoveDB_Full_20151123.bak'을(를) 열 수 없습니다. 운영 체제 오류 123(파일 이름, 디렉터리 이름 또는 볼륨 레이블 구문이 잘못되었습니다.)입니다.
메시지 3013, 수준 16, 상태 1, 줄 38
RESTORE HEADERONLY이(가) 비정상적으로 종료됩니다.
*/
참고로 SQL Server 2012 SP1 + CU2 이후부터 지원하는 기능이다.
[참고문서]
Use PowerShell to Backup Multiple Databases to Windows Azure Blob Storage Service
https://msdn.microsoft.com/ko-kr/library/dn223322(v=sql.110).aspx
'SQL & Windows Azure' 카테고리의 다른 글
SQL backup to Windows Azure Storage Part 3 (0) | 2015.11.28 |
---|---|
SQL backup to Windows Azure Storage Part 2-1 (0) | 2015.11.24 |
SQL backup to Windows Azure Storage Part 2 (0) | 2015.11.24 |
How to Connection Windows Azure Storage With SSMS(저장소연결) (0) | 2015.11.24 |
SQL backup to Windows Azure Storage Part 1-1 (0) | 2015.11.23 |
- Total
- Today
- Yesterday