SQL Azure Update: Dynamic Management View

Cloud 2010. 8. 25. 19:30 Posted by 알 수 없는 사용자

안녕하세요. Visual C# MVP 남정현입니다. 가을을 재촉하는 비가 여기저기 내리면서 무더웠던 날씨가 한풀 꺾이는듯 합니다. 오늘은 Windows Azure Update와 Side-by-Side로 SQL Azure Update에 대한 이야기를 진행해보고자 합니다. :-)

SQL Azure의 주요 기능이 우리가 생각하는것과 같이 상당한 수준에 있기 때문이거나, SQL Azure에 대해서 아직까지 많은 내용이 전달되지 않았기 때문일 수 있지만 SQL Azure 만의 고유한 기능을 다루는 섹션도 필요하다고 생각하여 진행하고 있으니 역시 많은 Feedback을 부탁드립니다.

Dynamic Management View란?

Dynamic Management View (이하 DMV)는 SQL Azure Team Blog에서 SQL Azure Service Update 1과 함께 제공한 새로운 기능으로, 이 글을 작성하는 현 시점에서는 매우 요긴하게 사용될 수 있고, 데이터베이스에 대한 정확한 사용량 추이를 파악할 수 있는데 도움을 주는 관리 API의 일종입니다. DMV는 시스템 뷰의 일종으로 다음과 같이 제공됩니다.

  • sys.dm_exec_connections: 최근에 접속한 모든 클라이언트들의 정보들을 조회합니다.
  • sys.dm_exec_requests: 최근에 실행된 Query의 상태와 실행 정보들을 조회합니다.
  • sys.dm_exec_sessions: 현재 연결된 클라이언트 및 세션에 대한 정보들을 조회합니다.
  • sys.dm_tran_database_transactions: 데이터베이스 수준의 트랜잭션들에 대한 정보를 조회합니다.
  • sys.dm_tran_active_transactions: 현재 활성화된 트랜잭션들에 대한 정보를 조회합니다.
  • sys.dm_db_partition_stats: 데이터베이스의 파티션 상태 및 각 파티션 별 사용량 정보를 조회합니다.

DMV의 데이터를 살펴보는 방법

DMV의 데이터는 관리를 위한 목적으로 활용하기에 알맞습니다. 또한, 데이터베이스 관리자가 별도의 응용프로그램을 사용하지 않고 손쉽게 상태를 파악할 수 있기 위해서는 Codename: Houston과 같은 SQL Azure 전용 데이터베이스 관리 도구를 활용하는 것이 편리합니다. (이 도구를 사용하면 별도의 방화벽 설정을 추가함으로 인해서 발생할 수 있는 노출 영역의 확대를 회피할 수 있기 때문입니다.)

Codename: Houston에 관한 좀 더 자세한 정보는 2010/07/29 - [Cloud] - Windows Azure Update: Microsoft Project Code-Named "Houston" CTP 1 에서 확인하실 수 있으며, 현재 이 도구는 CTP 단계에 있으므로 실무에 곧바로 적용하여 활용하는 것에는 다소 불편함이 따를 수 있습니다. (관리 목적으로 활용할 때 제일 빈번하게 사용되는 결과 집합의 내보내기 기능이 아직 지원되지 않습니다.)

DMV 데이터 조회 예시

그 이외에 Service Update 1에서 개선된 부분들

Service Update 1 이후부터는 이미 만들어진 데이터베이스의 상품 크기를 동적으로 관리 차원에서 변동을 줄 수 있습니다. 다음의 Query를 관리자 권한으로 SQL Azure Database에 접속한 후 실행하면 원하는 데이터베이스 크기를 설정하고 그 이후부터 변경된 데이터베이스 인스턴스 크기에 따른 요금을 자동으로 과금받을 수 있습니다.

ALTER DATABASE database_name
{
    MODIFY (MAXSIZE = {1 | 5 | 10 | 20 | 30 | 40 | 50} GB)
}

그리고 SQL Azure에서 세션 타임 아웃은 현재 30분으로 연장된 상태이며, 기본적으로 SQL Server 2008 R2에서 제공하는 장기 실행 트랜잭션 (혹은 교차 잠금 상태의 트랜잭션)을 찾아내서 정리하는 알고리즘이 좀 더 최적화되어있다는 것이 Service Update 1 이후의 변경 사항임을 알아두시면 유용할 것 같습니다.

감사합니다. :-)