CREATE FEDERATION (base de données SQL Azure)

Crée une nouvelle fédération dans Base de données SQL Azure.

Important

L'implémentation actuelle des fédérations sera retirée avec les couches de service Web et Business. Envisagez de déployer des solutions de partitionnement personnalisées pour maximiser l'extensibilité, la flexibilité et les performances.Pour plus d'informations sur le partitionnement personnalisé, consultez Montée en charge des bases de données Azure SQL.

S'applique à : Base de données SQL Azure.

Syntaxe

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  

Arguments

  • federation_name
    Nom de la fédération à créer. Le nom doit être unique au sein de la et être conforme aux règles applicables aux identificateurs. Il est de type sysname.

  • distribution_name
    Nom de la clé de fédération. Le nom est un identificateur qui fait référence à la clé de fédération. Il est utilisé avec des instructions liées aux fédérations (CREATE TABLE … FEDERATED ON(...) ou USE FEDERATION). Distribution_name doit respecter les règles applicables aux identificateurs et est de type sysname.

  • type_name
    Nom de type pour le type de clé de fédération. Le type doit être de type int, bigint, uniqueidentifier ou varbinary(n), où n peut prendre la valeur maximale 900.

  • RANGE
    Type de partitionnement. Seul le partitionnement par spécification de plages de valeurs est pris en charge.

Notes

L'objet fédération autorise la montée en puissance parallèle d'une collection de tables. Une fédération contient le jeu de données entier pour la collection donnée de tables, et définit la stratégie de distribution et le type de données à utiliser pour la distribution des données.

Les fédérations peuvent être créées dans une base de données, et il peut y avoir plusieurs fédérations dans une base de données. Chaque fédération représente une collection distincte de tables, par exemple « toutes les données client » ou « toutes les données de tri », et chaque membre de la fédération contient généralement un sous-ensemble du dataset complet. Dans le cas d'un seul membre de fédération, ce membre unique peut contenir la totalité de la collection de tables.

Lorsqu'une fédération est créée, le premier membre couvrant l'intégralité du type de données spécifié est créé. Ce membre de fédération est visible dans sys.databases en tant que base de données standard dans la base de données MASTER. Il est également visible dans la base de données utilisateur contenant la fédération via la vue système sys.federation_members. Le nom de la base de données de membre est généré de manière aléatoire.

Avec la distribution de plage, range_low et range_high représentent les valeurs limites pour le membre de la fédération. Pour les membres de la fédération, range_low a la valeur minimale autorisée de la clé de fédération d'un membre donné, et range_high a la valeur maximale autorisée +1 dans la clé de fédération d'un membre donné. Dans le cas d'un seul membre de fédération, range_low représente la valeur minimale du domaine du type de données de clé de fédération et range_high est NULL pour représenter la valeur maximale +1. La plage ne peut pas avoir de vides ; il ne peut pas y avoir de valeurs manquantes dans la plage. Chaque valeur valide de la plage est couverte par un membre de fédération. Le type de données de clé de fédération est utilisé pour spécifier le domaine des valeurs autorisées. La valeur range_low est incluse dans la plage, tandis que la valeur range_high est exclue. Par exemple, si un membre de fédération possède une valeur range_low de 100 et une valeur range_high de 200, la valeur 100 est incluse dans la fédération mais la valeur 200 ne l'est pas. Le membre de fédération contenant la valeur maximale de la plage comprend la valeur maximale pour le domaine de type de clé de fédération, et signale une valeur NULL comme valeur range_high.

Important

L'instruction CREATE FEDERATION doit être la seule instruction du traitement, et ne peut pas faire partie d'une transaction externe.Si une transaction externe existe, l'erreur 226 est retournée.