안녕하세요. 주디아줌마입니다.

4차 캠프에 참여하게 되어서 이전에 테스트 해보고 싶었던 기능들을 테스트 해볼 수 있는 기회를 주셔서 감사합니다. 저는 DBA로 SQLAZURE에 대해서 체험해 보겠습니다.

   

아래의 애져 관리 페이지 로그인을 합니다.

https://manage.windowsazure.com/

   

테스트할 2개의 SQL AZURE 입니다.

   

DB를 연결 할 수 있는 방법은 애져 웹사이트에서 접속하는 방법과 SSMS를 통해서 접속할 수 있습니다.

   

하단의 관리 연결 정보를 통해서 연결을 시도해보겠습니다.

   

  1. SSMS 접속 시도

   

  1. 웹 로그인 화면

   

로그인 후에는 웹에서는 현 DB에 대한 상태 정보를 볼 수 있습니다. 서버의 가용 용량, 여유 공간, 최대 공간 및 접속 유저 수등 확인이 가능합니다.

   

   

Query Performance를 선택하면, 현재까지 실행된 쿼리를 실행 갯수별로 sort해서 확인해 볼 수 있었습니다.

   

SSMS를 통해서는 일반 다른 DB 환경 보는 것 같이 같은 화면으로 보입니다.

   

   

자~ 이제 테이블 및 테스트 해볼까요? tblJudy라는 테이블을 생성해보겠습니다. 웹base에선 웹 화면에 쿼리문을 쓰고 넣어두면 Run 실행하면 실행이 됩니다.

   

실행 후 SSMS로 확인했을 때 보이죠? 그대로 실행됩니다.

   

   

이제 데이터를 넣어보자~

   

   

헛,,, 40054 에러 발생? http://msdn.microsoft.com/ko-kr/library/windowsazure/ff394106.aspx

"클러스터형 인덱스가 없는 테이블은 이 버전의 SQL Server에서 지원되지 않습니다. 클러스터형 인덱스를 만든 다음 다시 시도하십시오."

   

SQL Azure 환경에서는 클러스터드 인덱스가 없이는 저장이 안되는 군요. 해결 방법은 clustered index 생성하면 됩니다.

   

   

   

이제는 저장된 testquery.sql 파일을 윈도우 애져 환경에서 실행해보겠습니다. 오픈 버튼을 누른 후 testquery.sql을 선택합니다.

   

   

select * from dbo.TblJudy

   

   

이제는 쿼리에 대한 실행 계획 보기 기능을 보겠습니다. 위의 환경에서는 실제 실행계획과, 예상실행 계획 두개 모두 확인 가능하네요.

   

   

실행 계획 보기 버튼 선택

결과 창에 Query Paln을 선택합니다.

   

   

실행 계획에서 보이는 기능이 몇 가지 보이네요. 검색, 병합 조인, 해시 일치, 중첩 루프 등 릴터링해서 보여줄 수 있네요.

   

   

SQL Azure 환경에서는 클러스터드 인덱스 없이는 데이터 입력이 안되는 부분을 찾아보았습니다.

   

Clustered Indexes and SQL Azure http://blogs.msdn.com/b/sqlazure/archive/2010/04/29/10004618.aspx

SQL Server는 공교롭게도 SQL 애져 환경의 모든 테이블은 클러스터드 인덱스가 필요하다. 클러스터드 인덱스 컬럼 Key는 row의 저장하고 sort하는데 사용한다.

   

SQL Azure 환경으로 이관하기 위해서는 아래의 링크에서 제공해주는 SQL Database Migration Wizard을 이용해서 이관할 수 있습니다.

http://sqlazuremw.codeplex.com/ (stable version)

   

이상으로 SQL 애져 체험이었습니다.