CREATE FEDERATION(Azure SQL 데이터베이스)

Azure SQL 데이터베이스에서 새 페더레이션을 만듭니다.

중요

현재 페더레이션 구현은 Web 및 Business 서비스 계층에서 폐기됩니다. 확장성, 유연성 및 성능 극대화를 위해 사용자 지정 분할 솔루션을 배포하는 것이 좋습니다.사용자 지정 분할에 대한 자세한 내용은 Azure SQL 데이터베이스 확장을 참조하세요.

적용 대상: Azure SQL 데이터베이스.

구문

CREATE FEDERATION
    federation_name { <federation_distribution_scheme> }

<federation_distribution_scheme> ::= 
    <federation_distribution>

<federation_distribution> ::=
     ( distribution_name <data_type> RANGE )

<data_type> ::= 
     [system_type_name . ] type_name  

인수

  • federation_name
    만들 페더레이션의 이름입니다. 이름은 내에서 고유해야 하며 식별자 규칙을 따르고 sysname 유형이어야 합니다.

  • distribution_name
    페더레이션 키의 이름입니다. 이름은 페더레이션 키를 참조하는 데 사용된 식별자이며 CREATE TABLE … FEDERATED ON(...) 또는 USE FEDERATION 등의 페더레이션 관련 문으로 참조됩니다. Distribution_name은 식별자 규칙을 따라야 하며 sysname 유형입니다.

  • type_name
    페더레이션 키 유형의 유형 이름입니다. int, bigint, uniqueidentifier 또는 varbinary(n) 유형이어야 합니다. 여기서 n은 최대 900일 수 있습니다.

  • RANGE
    분할의 유형입니다. 범위 분할만 지원됩니다.

주의

페더레이션 개체는 테이블의 컬렉션을 확장할 수 있습니다. 페더레이션에는 지정된 테이블 컬렉션의 전체 데이터 집합이 포함되고 데이터 배포에 사용할 배포 정책 및 데이터 형식을 정의합니다.

페더레이션은 모든 데이터베이스에서 만들 수 있으며 한 데이터베이스 내에 여러 페더레이션이 있을 수 있습니다. 각 페더레이션은 ‘모든 고객 데이터’ 또는 ‘모든 주문 데이터’ 등 별도의 컬렉션 테이블을 나타내며 각 페더레이션 멤버에는 보통 전체 데이터 집합의 하위 집합이 포함됩니다. 단일 페더레이션 멤버의 특수 사례로 단일 멤버에 전체 테이블 컬렉션이 포함될 수 있습니다.

페더레이션이 만들어질 때 지정된 데이터 형식에 대한 전체 범위를 포함하는 첫 번째 멤버도 만들어집니다. 이 페더레이션 멤버는 master 데이터베이스의 일반 데이터베이스로 sys.databases에 표시됩니다. 또한 sys.federation_members 시스템 뷰를 통해 페더레이션을 포함하는 사용자 데이터베이스에 표시됩니다. 멤버 데이터베이스 이름은 임의로 생성됩니다.

범위 분포에서 range_low 및 range_high는 페더레이션 멤버의 경계값을 나타냅니다. 페더레이션 멤버에 대해 range_low는 지정된 멤버에 대해 페더레이션 키에 허용된 최소값으로 설정되고 range_high는 지정된 멤버에 대해 페더레이션 키에 허용된 최대값 +1로 설정됩니다. 단일 페더레이션 멤버의 특수 사례에서 range_low는 페더레이션 키 데이터 형식의 도메인 최소값을 나타내며 range_high는 NULL로 최대값 +1을 나타냅니다. 범위 적용에는 범위차가 있을 수 없으며 범위에 값이 없을 수도 없습니다. 범위의 모든 유효값은 페더레이션 멤버로 적용됩니다. 페더레이션 키 데이터 형식은 허용된 도메인 값을 지정하는 데 사용됩니다. range_low 값은 해당 범위가 포함되지만 range_high 값에는 포함되지 않습니다. 예를 들어 페더레이션 멤버의 range_low 값이 100이고 range_high 값이 200인 경우 값 100은 페더레이션에 포함되지만 200은 포함되지 않습니다. 범위의 최대값을 포함하는 페더레이션 멤버는 페더레이션 키 데이터 형식 도메인의 최대값을 포함하고 range_high 값으로 NULL을 보고합니다.

중요

CREATE FEDERATION 문은 일괄 처리의 유일한 문이어야 하며 외부 트랜잭션의 일부일 수 없습니다.외부 트랜잭션이 있으면 오류 226 반환됩니다.