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. |