CREATE FEDERATION (Base de datos SQL de Azure)

Crea una nueva federación en Base de datos SQL de Azure.

Importante

La implementación actual de federaciones se retirará con los niveles de servicio Web y Business. Considere la posibilidad de implementar soluciones personalizadas de particionamiento para maximizar la escalabilidad, la flexibilidad y el rendimiento.Para obtener más información acerca del particionamiento personalizado, vea Ampliar Bases de datos SQL de Windows Azure.

Se aplica a: Base de datos SQL de Azure.

Sintaxis

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  

Argumentos

  • federation_name
    El nombre de la federación que se va a crear. El nombre debe ser único en la , cumplir las reglas de los identificadores y ser de tipo sysname.

  • distribution_name
    El nombre de la clave de federación. El nombre es un identificador que se utiliza para hacer referencia a la clave de federación, y se hace referencia a él mediante instrucciones relacionadas con la federación como CREATE TABLE … FEDERATED ON(...) o USE FEDERATION. Distribution_name debe cumplir las reglas de los identificadores y ser de tipo sysname.

  • type_name
    El nombre del tipo de la clave de federación. El tipo debe ser int, bigint, uniqueidentifier o varbinary(n), donde n puede tener un valor máximo de 900.

  • RANGE
    El tipo de particionamiento. Solo se admite la creación de particiones RANGE.

Comentarios

El objeto de federación permite la ampliación horizontal de una colección de tablas. Una federación contiene el conjunto de datos completo para la colección de tablas dada, y define la directiva de distribución y el tipo de datos que se van a usar para la distribución de los datos.

Las federaciones se pueden crear en cualquier base de datos, y puede haber muchas federaciones en una base de datos. Cada federación representa una colección independiente de tablas como "todos los datos de clientes" o "todos los datos de pedidos", y cada miembro de federación normalmente contiene un subconjunto del conjunto de datos completo. En el caso especial de un único miembro de federación, este puede contener toda la colección de tablas.

Cuando se crea una federación, también se crea el primer miembro que cubre el intervalo completo del tipo de datos especificado. Este miembro de federación aparece en sys.databases como una base de datos normal de la base de datos maestra. También es visible en la base de datos de usuario que contiene la federación a través de la vista del sistema sys.federation_members. El nombre de la base de datos miembro se genera de forma aleatoria.

Con la distribución de intervalos, range_low y range_high representan los valores de límite para el miembro de federación. Para los miembros de federación, range_low se establece en el valor mínimo permitido en la clave de federación de un miembro determinado, y range_high se establece en el valor máximo +1 permitido en la clave de federación para un miembro determinado. En el caso especial de un único miembro de federación, range_low representa el valor mínimo del dominio del tipo de datos de la clave de federación y range_high es NULL para representar el valor máximo +1. El intervalo no puede tener espacios vacíos en su cobertura; no puede haber valores ausentes en el intervalo. Cada valor válido del intervalo está cubierto por un miembro de federación. Se utiliza el tipo de datos de la clave de federación para especificar el dominio de los valores permitidos. El valor range_low es inclusivo, mientras que range_high es exclusivo. Por ejemplo, si un miembro de federación tiene un valor range_low de 100 y un valor range_high de 200, el valor 100 se incluye en la federación pero no así el valor 200. El miembro de federación que contiene el valor máximo del intervalo incluye el valor máximo del dominio del tipo de datos de la clave de federación, y devolverá NULL como valor de range_high.

Importante

La instrucción CREATE FEDERATION debe ser la única del lote, y no puede formar parte de una transacción exterior.Si existe una transacción exterior, se devolverá el error 226.