안녕하세요 이지만 입니다.
4차부터 참석을 했는데 어찌 하다보니 6차까지 왔네요...
4차에서는 Azure가 무었인가 알아보기 위해 포커스를 맞추었었고,
5차에서는 Azure안에 추가 가상환경 구성및 AD구성을 하려 했었고,
6차에서는 Azure SQL DB가 기존 SQL 서버와 어떤게 다른지와, 백업 및 복구에 대해서 확인해 보는 시간을 갖었습니다.
4차 - Azure궁금해요? 궁금하면 5분만 투자!!!
http://www.sqler.com/index.php?mid=bAzure&page=2&document_srl=545289
5차 - Azure에서 AD구성 궁금해요? 궁금하면 5분만 투자!!
http://www.sqler.com/index.php?mid=bAzure&page=1&document_srl=547379
6차 – 기존 SQL과 다른점, 백업, 복구 궁금해요? 궁금하면 5분만 투자!!
6차 내용을 시작 하겠습니다....
Azure SQL 에서는 Select Into 구문이 지원되지 않는다.
일반 SQL 에서는 아래와 같이 정상 작동됨.
가상 서버안에 설치되어 있는 SQL2012에 AzureDB서버를 DB링크로 연결해 보았다.
아래와 같이 연결은 성공적!!
연결이 되었으니 당연히 조회가 되겠지?
하지만 아래와 같이 에러를 발생시키며 정상 작동이 않된다. 이밖에도 그전에 올렸던 글이나,
다른분들이 올린 글을 보면, AzureDB를 다룰때 일반 SQL서버 다루듯 하면 난감한 상황이 발생할 수
있다는것을 유념해야 할듯하다.
가상 서버에 대한 리소스 현황을 웹에서 간략하게 확인 할수 있지만 자동 리프레쉬 되지는 않는다.
수동 리프레쉬후… 바뀐 화면… 엑티브하게 리프레쉬 주기를 설정 할수 있도록 하면 더 좋을것 같다라는 생각이 든다..
제한된 조건이 많이? 보이는 Azure DB 과연 백업은 어떻게 해야 할까? 궁금해 졌다…
관리메뉴에서 하단의 링크를 통해 백업에 대한 지식을 습득한뒤 백업을 진행해 보겠다.
http://msdn.microsoft.com/ko-kr/library/jj650016.aspx
아래와 같이 3가지 형태의 데이버 백업 및 복구 방식을 지원한다.
“Windows Azure SQL 데이터베이스에서 데이터를 백업하고 복원하는 것은 내부 SQL Server에서와 다르므로” 라는 문구가 눈에 확 들어온다…
첫번째로 데이터베이스 복사본 만들기를 해보았다.
AzureDB는 한번 연 SQL창에서 다른 DB로의 스위칭이 불가 하기 때문에 master를 선택후 새창을 열고 백업을 해보겠다.
Master db에서 새 SQL창을 열고 아래와 같이 백업을 진행 하면 순식간에 복제가 완료가 된다.
DB목록을 Refresh하자 복제한 DB가 보였다.
복제하는 방법과 그에 따른 유의 사항에 대해서 아래와 같이 명시 하고 있다.
백업을 했으면, 복구 테스트를 해봐야 하므로 깔끔하게 백업한 테이블을 날려 보았습니다.
허!! 근데 복구 방식이…. 치환 방식이군요 ^^;;
그래서 아래와 같이 제가 truncate로 날린 기존 DB를 다른 내용으로 치환하고, 기존에 백업(복사) 해두었던 DB를 기존 운영 DB로 리네임 하여, 장애 복구를 시도했습니다.
명령어는 정상 종료 되었으며, DB가 어떻게 변경되어 있는지 Refresh 해보았습니다.
dlwlaks02_clone 라는 DB는 dlwlaks02로 되고, 장애가 발생한 dlwlaks02는 dlwlaks02_error로 변경되 것을 볼수 있었습니다.
그럼 truncate 한 테이블에 내용이 정상적으로 존재 하는지 확인해 보겠습니다.
제가 더미값으로 채워 두었던 dba_how의 테이블에 데이터가 정상 적으로 들어 있는것을 확인 할수 있었습니다.
웹콘솔또한 정보가 갱신되어 있군요…
시점복구가 필요할때…. 이 백업은?…. ㅡ_ㅡ;>
두번째 방법과 세번째 방법은 BACPAC 파일 형태로 백업을 하고 복원하는 방법에 대해 나와 있습니다.
현재 저한테 할당된 스토리지에 대한 정보는 아래와 같습니다.
하단부의 MANAGE KEYS를 누르면 아래와 같이 스토리지에 접근할수 있는 정보를 확인 할수 있습니다.
DB를 선택하고 Export 를 해보도록 하겠습니다.
복사본으로 복구를 진행했던 dlwlaks02DB를 BACPAC로 백업 해 보겠습니다.
DB를 선택한뒤 하단의 EXPORT 버튼을 클릭합니다.
그럼 아래와 같이 DB를 익스포트 하기위한 기본창이 나오는데,
옵션과 함께 스토리지를 선택하고 인증을 합니다.
확인 버튼을 누르면 아래 상태 진행창에 Export가 진행중이라는것을 알려주는 메시지와 함께 아이콘이 빤짝 거립니다.
Export 가 성공적으로 종료 되었군요 ^^
AzureDB를 BACPAC형태로 백업을 받은 것입니다.
이내용을 확인 하기 위해 스토리지를 선택 하면 아래와 같이 vhds가 보이고 이것을 클릭하면 백업한 내용을 확인 할수 있습니다.
상세내용에 위에서 백업받았던 BACPAC파일이 보이는 군요!!
내용이 어떻게 생겼는지 궁금한데 한번 다운로드 받아 볼까요?
하단부 메뉴에서 DOWNLOAD BLOB를 클릭하면 Zip 형태의 파일을 다운로드 할수 있습니다.
다운로드한 파일 안에는 XML파일과 데이터 파일로 보이는 내용들이 들어 있는것을 볼수 있군요.
Data 폴더안에는 테이블 명으로된 디렉토리가 있고, 그안에는 BCP라는 파일들이 존재 하네요.
이것이 바로 Azure DB의 백업 파일이네요…
제가 위에서 백업 받았던 방법은 아래 링크를 통해 좀더 상세하게 확인이 가능하실꺼에요..
http://msdn.microsoft.com/ko-kr/library/f6899710-634e-425a-969d-8db1267e9471#Export
그리고 Job Agent를 쓰지 못하기 때문에 어떻게 스케줄링 하지? 라고 고민 하시는분은…
http://msdn.microsoft.com/ko-kr/library/jj900675.aspx
여기를 보시면 됩니다 ^^;
다양한 방법이 존재하긴 하나, 기술내용만 보통 나오는 문서에, 과금이 된다는 말이 여기저기 포진되어 있어 마음것 막 다뤄보긴 좀 부담스러운 감이 있드라구요.
그래서 최소한으로 테스트를 진행해 보았습니다.
백업받은 내용은 데이터베이스 가져오기를 통해 쉽게 복구를 할수 있을듯 합니다. 하지만 역시 다이나믹한 복구를 지원 하지는 않네요 ^^;;
아쉽군요!!
하지만 그만큼 다른 장점들이 있는것 같습니다 ^0 ^
http://purge.tistory.com 을 통해서도 내용 확인이 가능합니다.