티스토리 뷰

 

SQL Azure Federation – 페더레이션 (5), Federation DROP

 

현재 SQL Azure 데이터베이스의 Orders 테이블은 아래와 같이 3개의 멤버 구성원을 가지고 있습니다.

LOW~2999, 3000~5999, 6000~HIGH 로 구성되어 있습니다.

 

SPLIT, 분할의 경우는 쿼리문을 통해서 할 수 도 있지만 위 그림에서처럼 SPLIT 메뉴를 클릭해서 손쉽게 분할 할 수 있습니다. 데이터가 한쪽에만 몰린다거나 했을 경우 분할 할 수 있습니다. 

현재 3000~5999의 데이터는 아래와 같이 입력되어 있습니다.

 

6000~HIGH 의 데이터는 아래와 같습니다  

멤버 데이터가 얼마 되지 않으므로 3000~5999, 6000~HIGH의 데이터를 3000~HIGH로 변경해보려고 합니다. 6000~HIGH의 데이터를 왼쪽으로 옮기려고 합니다. 3000~5999의 데이터는 삭제해보겠습니다.

Federation Drop 구문은 아래와 같습니다.

ALTER FEDERATION <FederationName>

DROP AT ([LOW|HIGH] <DistributionKeyName> = <value>) 

ALTER FEDERATION [Orders_Federation]  DROP AT(LOW [OrderID] =6000)을 실행하면 다음이 수행됩니다.

-3000~5999 사이의 모든 데이터가 DROP 됩니다.

-3000~HIGH 범위를 담당합니다. 

ALTER FEDERATION [Orders_Federation]  DROP AT(HIGH [OrderID] =6000)을 실행하면 다음이 수행됩니다.

-6000~HIGH 사이의 모든 데이터가 DROP 됩니다.

-3000~HIGH 범위를 담당합니다. 

3000이라는 KEY 값을 가지는 멤버를 삭제할 것이기 때문에 쿼리 문은 아래와 같습니다.

ALTER FEDERATION [Orders_Federation]
DROP AT (LOW  [OrderID] = 6000)
 

위 쿼리문은 멤버 데이터베이스에서 실행하면 안되고 루트에서 아래와 같이 실행했습니다.

 

삭제되는 과정은 비동기적으로 발생하게 되며 현재 작업이 완료되기 전에는 ALTER FEDERATION 구문이 실행되지 않습니다. 현재 작업에 대한 상태를 보는 구문은 아래와 같습니다.

SELECT ops.percent_complete
FROM sys.dm_federation_operations ops

 JOIN sys.federations fed on ops.federation_id = fed.federation_id

 WHERE fed.name = 'Orders_Federation'

 

Federation DROP의 결과와 데이터는 아래와 같이 구성됩니다.

 

ALTER Federation 구문에 대한 내용은 아래를 참고하십시오.

http://msdn.microsoft.com/ko-kr/library/windowsazure/hh597475.aspx 

 

Merge의 경우는 현재 구문에서는 지원되고 있지 않지만 SQL Azure Migration Wizard로 구성할 수 있습니다.

다음 글에서 알아보도록 하겠습니다.

 

 

'Microsft Azure > SQL Databases' 카테고리의 다른 글

NewSQL  (1) 2012.08.13
SQL Azure Migration Wizard  (0) 2012.07.09
SQL Azure Federarion- 페더레이션 (4)  (0) 2012.05.25
SQL Azure Federarion- 페더레이션 (3)  (0) 2012.05.18
SQL Azure 100MB 옵션  (0) 2012.05.15
댓글