CREATE FEDERATION (Banco de Dados SQL do Azure)

Cria uma nova federação em Banco de dados SQL do Azure.

Importante

A implementação atual das Federações será desativada com as camadas de serviço Web e Business. Considere a implantação de soluções de fragmentação personalizada para maximizar a escalabilidade, flexibilidade e o desempenho.Para obter mais informações sobre a fragmentação personalizada, consulte Expansão de Bancos de Dados SQL do Azure.

Aplica-se a: Banco de dados SQL do Azure.

Sintaxe

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
    O nome da federação a ser criada. O nome deve ser exclusivo dentro do e está em conformidade com as regras para identificadores e é do tipo sysname.

  • distribution_name
    O nome da chave da federação. O nome é um identificador usado para referenciar a chave da federação, e é chamado com instruções relacionadas à federação como, por exemplo, CREATE TABLE … FEDERATED ON(...) ou USE FEDERATION. Distribution_name deve obedecer às regras para identificadores e ser do tipo sysname.

  • type_name
    O nome do tipo para a chave da federação. O tipo deve ser do tipo int, bigint, uniqueidentifier, ou varbinary(n) em que n pode ser no máximo 900.

  • RANGE
    O tipo de particionamento. Somente o particionamento RANGE tem suporte.

Comentários

O objeto de federação permite expandir uma coleção de tabelas. Uma federação contém o conjunto de dados inteiro para a coleção de tabelas determinada, e define a política de distribuição e o tipo de dados a ser usado para a distribuição de dados.

As federações podem ser criadas em qualquer banco de dados e pode haver muitas federações dentro de um banco de dados. Cada federação representa uma coleção de tabelas separadas como 'todos os dados do cliente' ou 'todos os dados de pedidos', e cada membro da federação normalmente contém um subconjunto do conjunto de dados completo. No caso especial de um único membro da federação, o único membro pode conter o nome completo da coleção de tabelas.

Quando uma federação é criada, o primeiro membro que abrange o intervalo completo para o tipo de dados especificado também é criado. Esse membro da federação é visível em sys.databases como um banco de dados regular no banco de dados mestre. Também é visível no banco de dados do usuário que contém a federação com a exibição do sistema sys.federation_members. O nome do banco de dados membro é gerado aleatoriamente.

Com a distribuição do intervalo, range_low e range_high representam os valores de limite para o membro da federação. Para membros da federação, range_low é definido como o valor mínimo permitido na chave da federação em um determinado membro, e range_high é definido como o valor máximo permitido +1 na chave da federação para um determinado membro. No caso especial de um único membro da federação, range_low representa o valor mínimo do domínio do tipo de dados da chave da federação e range_high é NULL para representar o valor máximo +1. O intervalo não pode ter lacunas na cobertura; não pode haver valores ausentes no intervalo. Cada valor válido do intervalo é coberto por um membro da federação. O tipo de dados da chave da federação é usado para especificar o domínio dos valores permitidos. O valor de range_low inclui o intervalo, enquanto que range_high exclui. Por exemplo, se um membro da federação tiver range_low de 100 e range_high de 200, o valor 100 será incluído na federação, mas o valor de 200 não. O membro da federação que contém o valor máximo do intervalo inclui o valor máximo para o domínio do tipo de dados da chave da federação e relatará NULL como o valor range_high.

Importante

A instrução CREATE FEDERATION deve ser a única instrução no lote e não pode fazer parte de uma transação externa.Se uma transação externa existir, o erro 226 será retornado.