VENTES: 1-800-867-1389

Instructions de fédération et limitations

Mis à jour: avril 2014

Cette rubrique décrit les instructions et limitations applicables aux fédérations dans Base de données SQL Microsoft Azure. Les instructions générales et limitations sont traitées dans les sections suivantes.

ImportantImportant
La mise en œuvre actuelle des fédérations sera hors service pour les couches de service Web et Business. Envisagez de déployer des solutions de partitionnement personnalisées pour maximiser l'évolutivité, la souplesse et les performances. Pour plus d'informations sur le partitionnement personnalisé, consultez la rubrique Montée en puissance parallèle de bases de données SQL Azure.

Les fédérations peuvent contenir des tables fédérées et des tables de référence. Les tables fédérées sont des tables créées à l'aide de la clause FEDERATED ON, et contiennent une colonne associée à la clé de distribution de la fédération contenante. Les tables de référence sont des tables d'une fédération qui n'ont pas été créées à l'aide de la clause FEDERATED ON, et qui n'ont aucune association spéciale à la clé de distribution de la fédération contenante. Pour plus d'informations sur la création de tables, consultez la rubrique CREATE TABLE.

Les tables fédérées présentent les limitations suivantes :

  • La colonne de fédération de la table fédérée ne peut contenir que des données conformes au membre de fédération range_low inclusif et range_high exclusif.

  • Le type de données de la colonne de fédération doit correspondre exactement au type de données indiqué dans la définition de la fédération.

  • Tous les index uniques et cluster de la table fédérée doivent contenir la colonne de fédération. L'ordre dans lequel la colonne de fédération s'affiche dans l'index peut être différent de la valeur ordinale de la clé dans la fédération.

  • Les valeurs de la colonne de fédération ne peuvent pas être mises à jour avec des valeurs en dehors de la plage du membre de fédération.

  • La colonne de fédération ne peut pas être une colonne calculée persistante ou non persistante.

  • Les vues indexées ne sont pas prises en charge dans les membres de fédération.

  • Les colonnes de fédération n'acceptent pas les valeurs Null.

  • Toutes les contraintes de clé étrangère sur des tables fédérées doivent inclure la colonne de fédération sur les tables de référence et les tables référencées à la même valeur ordinale dans la clé étrangère. Les tables de référence ne peuvent pas avoir des relations de clé étrangère avec des tables fédérées. Les tables fédérées peuvent avoir des relations de clé étrangère avec des tables de référence sans limitation.

  • Vous pouvez normalement supprimer des tables créées avec la clause FEDERATED ON. Vous pouvez également utiliser ALTER TABLE pour modifier toutes les propriétés d'une table fédérée à l'exception des attributs de fédération tels que les clés. Pour modifier une table de référence en table fédérée ou une table fédérée en table de référence, vous devez créer de nouvelles tables avec les propriétés souhaitées et supprimer la table existante.

  • Lorsqu'une table est marquée avec STATISTICS_NORECOMPUTE, les opérations de fédération telles que SPLIT n'invalident ou ne recalculent pas les statistiques. Ceci peut entraîner des problèmes de plan d'exécution après des opérations de repartitionnement telles que SPLIT.

  • Les membres fédérés ne prennent pas en charge la propriété d'identité.

  • Les membres fédérés ne prennent pas en charge les types de données timestamp et rowversion.

Toutes les métadonnées de table générale pour les tables fédérées sont disponibles par le biais de vues standard du système. Les propriétés spécifiques des fédérations sont disponibles à travers sys.federated_table_columns.

Les tables de référence ne sont pas distribuées automatiquement entre tous les membres de la fédération. Alors que les tables de référence peuvent être répliquées manuellement vers tous les membres d'une fédération, il n'existe pas de processus de réplication automatique.

Les tables de référence contiennent souvent des informations de prise en charge des requêtes sur des tables fédérées de façon à ce que vous n'ayez pas à exécuter les requêtes sur plusieurs bases de données. Par exemple, lorsque les informations sur le client peuvent être fédérées et réparties entre plusieurs bases de données membres, il n'existe aucun avantage à fédérer les informations de référence sur l'état et le code postal. Cependant, vous souhaiterez peut-être stocker une copie des informations sur l'état et le code postal dans chaque membre de fédération, de façon à ce que vos requêtes ne concernent pas plusieurs bases de données.

Les types geography et geometry ne peuvent pas être utilisés comme type de données de la colonne sur laquelle une table est fédérée ; toutefois, ils peuvent faire partie de la table fédérée. L'utilisation de données spatiales avec les fédérations n'est soumise à aucune autre limitation.

Après une opération SPLIT ou DROP, les index spatiaux restent cohérents et intacts dans les membres de fédération de destination.

Le type hierarchyid ne peut pas être utilisé comme type de données de la colonne sur laquelle une table est fédérée ; toutefois, il peut faire partie de la table fédérée. L'utilisation du type hierarchyid avec les fédérations n'est soumise à aucune autre limitation.

Après une opération SPLIT ou DROP, les index hierarchyid restent cohérents et intacts dans les membres de fédération de destination.

Les connexions à une fédération sont effectuées à travers l'instruction USE FEDERATION. Cette instruction route automatiquement la connexion à l'élément correct dans une fédération, ce qui élimine la nécessité de connaître le nom de la base de données physique lors de l'accès aux données. La spécification de la clé de distribution de fédération et d'une valeur établit une connexion vers la base de données membre correspondante dans la fédération.

L'authentification et l'autorisation d'une base de données contenant une fédération s'effectuent normalement. Les connexions et utilisateurs déterminent la connectivité et les rôles gèrent le regroupement des principaux. Toutefois, les principaux dans une base de données contenant une fédération sont limités à la base de données racine de fédération et ils ne sont pas automatiquement appliqués aux membres de fédération. Pour plus d'informations sur les utilisateurs et les rôles, consultez Gestion des fédérations de bases de données (Base de données SQL Azure)

Une copie de base de données ne peut pas être exécutée sur une base de données qui contient des fédérations. La création d'une fédération échoue si une opération de copie de base de données est active dans la base de données. Une copie de base de données ne peut pas non plus être exécutée sur les membres de la fédération.

Les opérations de fédération ne s'appliquent pas au quota de racine de fédération. Si la base de données racine dépasse le quota, vous serez toujours en mesure d'exécuter des opérations SPLIT et DROP. De même, si le quota de taille est dépassé pour un membre de la fédération, il est toujours possible d'exécuter les opérations SPLIT et DROP du moment que le quota de la base de données de destination n'est pas dépassé par l'opération.

À la fin d'opérations de repartitionnement telles que SPLIT et DROP, les connexions sont supprimées. Cela signifie que les propriétés de connexion telles que les options SET, les paramètres de niveau d'isolation de transaction ou les variables sont également réinitialisées. L'opération SPLIT entraîne la création d'une nouvelle base de données physique, ce qui signifie que les propriétés Transact-SQL suivantes ne peuvent pas être conservées d'une opération SPLIT à une autre.

 

Transact-SQL Limitations de la prise en charge Base de données SQL Prise en charge dans les bases de données contenant des fédérations

Types de données timestamp et rowversion

Il se peut que Base de données SQL ne conserve pas les valeurs timestamp et rowversion non validées de la base de données actuelle (DBTS) d'un basculement à un autre.

Les types de données timestamp et rowversion ne sont pas pris en charge dans les membres de fédération.

Les fonctions apparentées à timestamp et rowversion telles que @@dbts retournent des valeurs lorsqu'il n'existe pas de timestamp et rowversion dans une base de données donnée.

SYSUTCDATETIME(),SYSDATETIMEOFFSET(),SYSDATETIME(),getdate(), getutcdate()current_timestamp

Il se peut que Base de données SQL rapporte les timestamp et rowversion de l'ordinateur local, ainsi que des heures plus éloignées dans le futur ou dans le passé d'un basculement à un autre.

Pris en charge avec les mêmes contraintes d'une opération de repartitionnement à une autre.

DATABASE_PRINCIPAL_ID()

Les SID de principal sont identiques entre les membres de fédération et la racine de fédération pour un nom de principal donné. Toutefois, les ID de principal peuvent changer à l'issue d'une opération de repartitionnement telle que DROP.

Propriété IDENTITY des colonnes

La propriété IDENTITY n'est pas prise en charge dans les membres de fédération. Les fonctions apparentées à Identity telles que IDENT_CURRENT, IDENT_SEED, IDENT_INCR, SCOPE_IDENTITY retournent toujours la valeur null, car aucune colonne d'identité ne peut exister dans les membres de fédération.

OBJECT_ID et fonctions apparentées qui prennent en charge les objets définis par l'utilisateur ; object_id(…), object_name(object_id), type_id(…), type_name(type_id)

La valeur object_id d'un objet peut changer pour les objets définis par l'utilisateur à l'issue d'une opération de repartitionnement telle DROP.

Tous les paramètres de base de données Base de données SQL Azure sont prises en charge ; toutefois, lorsque la valeur d'une option change au niveau de la base de données racine de fédération, l'option des membres de fédération reste inchangée.

Voir aussi

Cela vous a-t-il été utile ?
(1500 caractères restants)
Merci pour vos suggestions.
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft