CREATE FEDERATION (база данных SQL Azure)

Создает новую федерацию в База данных SQL Azure.

Важное примечаниеВажно!

Текущая реализация федераций будет выведена из эксплуатации на уровнях служб Web и Business. Для обеспечения максимальной масштабируемости, гибкости и производительности рассмотрите возможность реализации нестандартных решений для сегментирования.Дополнительные сведения о нестандартном сегментировании см. в разделе Масштабирование баз данных SQL Azure.

Применимо для следующих объектов: База данных SQL Azure.

Синтаксис

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
    Тип секционирования. Поддерживается только секционирование RANGE.

Замечания

Объект федерации позволяет масштабировать коллекцию таблиц. Федерация содержит весь набор данных для указанной коллекции таблиц и определяет политику распределения и тип данных, используемые для распределения данных.

Федерации можно создать в любой базе данных. В одной базе данных может быть множество федераций. Каждая федерации представляет отдельную коллекцию таблиц, например «все данные заказчика» или «все данные заказов», а каждый член федерации обычно содержит подмножество полного набора данных. В частном случае один член федерации может содержать целую коллекцию таблиц.

При создании федерации также создается первый член, охватывающий полный диапазон для указанного типа данных. Этот член федерации отображается в представлении sys.databases в виде основной базы данных в базе данных master. Он также отображается в пользовательской базе данных, содержащей федерацию, в системном представлении 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.