CREATE FEDERATION (Banco de dados SQL do Windows Azure)
Cria uma nova federação.
Convenções de sintaxe (Banco de Dados SQL do Windows 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
- O nome da federação a ser criada. O nome deve ser exclusivo dentro do Banco de dados SQL, obedecer às regras de identificadores e ser do tipo sysname.
- distribution_name
- O nome da chave da federação. O nome é um identificador usado para fazer referência à chave da federação. É feita referência a ela quando instruções relacionadas à federação, como CREATE TABLE … FEDERATED ON(...) ou USE FEDERATION ON. Distribution_name deve atender às regras de identificadores e ser do tipo sysname.
- type_name
- O nome do tipo da chave da federação. O tipo deve ser 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.
O objeto da federação permite o dimensionamento de uma coleção de tabelas. Uma federação contém todo o conjunto de dados para a coleção de tabelas determinada, além de definir a política de distribuição e o tipo de dados a usar para a distribuição de dados.
É possível criar federações em qualquer banco de dados, e um banco de dados pode conter muitas federações. Cada federação representa uma coleção separada de tabelas, como 'dados de todos os clientes’ ou ‘dados de todos os pedidos’, e cada membro da federação, em geral, contém um subconjunto do conjunto de dados inteiro. No caso especial de um único membro da federação, este pode conter toda a coleção de tabelas.
Quando uma federação é criada, o primeiro membro que abrange todo o intervalo do 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 de usuário que contém a federação por meio da exibição de sistema sys.federation_members. O nome do banco de dados de 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 +1 permitido 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 conter lacunas na sua cobertura, nem valores ausentes. 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 range_low é incluído no intervalo, enquanto que range_high é excluído. Por exemplo, se um membro da federação tiver um range_low de 100 e um range_high de 200, o valor 100 será incluído na federação, mas o valor 200 não. O membro da federação que contém o valor máximo do intervalo incluirá o valor máximo do 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 houver uma transação externa, será retornado o erro 226. |
Importante