Exportar (0) Imprimir
Expandir Tudo

Diretrizes e limitações de federação

Atualizado: abril de 2014

Este tópico descreve as diretrizes e limitações de federações no Banco de dados SQL do Microsoft Azure. Os detalhes das diretrizes e limitações gerais são abordados nas seguintes seções:

ImportantImportante
As federações fornecem opções limitadas de escalabilidade e flexibilidade. Para obter mais informações sobre como maximizar a escalabilidade e flexibilidade em Banco de dados SQL do Azure, consulte Expandindo Bancos de dados SQL do Azure.

As federações podem conter tanto tabelas federadas quanto tabelas de referência. As tabelas federadas são aquelas criadas com o uso da cláusula FEDERATED ON e contêm uma coluna associada com a chave de distribuição para a federação de contenção. As tabelas de referência são aquelas em uma federação que não foram criadas com o uso da cláusula FEDERATED ON e não têm associação especial com a chave de distribuição da federação. Para obter mais informações sobre a criação de tabelas, consulte CRIAR TABELA

As tabelas federadas têm as seguintes limitações:

  • A coluna de federação da tabela federada pode conter apenas dados que estão em conformidade com o membro da federação range_low inclusivo e range_high exclusivo.

  • O tipo de dados da coluna de federação deve corresponder exatamente ao tipo de dados estabelecido na definição da federação.

  • Todos os índices exclusivos e clusterizados na tabela federada devem conter a coluna de federação. A ordem na qual a coluna de federação é exibida no índice pode ser diferente da chave ordinal na federação.

  • Os valores da coluna de federação não podem ser atualizados para valores fora do intervalo de membros da federação.

  • A coluna de federação não pode ser uma coluna computada persistente ou não persistente.

  • As exibições indexadas não têm suporte em membros da federação.

  • As colunas de federação não podem ser NULLable.

  • Todas as restrições de chave estrangeira nas tabelas federadas precisam incluir a coluna de federação nas tabelas referenciadora e referenciada no mesmo ordinal na chave estrangeira. As tabelas de referência não podem ter relacionamentos de chave estrangeira com tabelas federadas. As tabelas federadas podem ter relacionamentos de chave estrangeira com tabelas de referência sem restrições.

  • Você pode remover tabelas criadas com a cláusula FEDERATED ON normalmente. Você também pode usar ALTER TABLE para alterar todas as propriedades de uma tabela federada exceto os atributos de federação como a chave de federação. Para alterar uma tabela de referência em uma tabela federada ou uma tabela federada em uma tabela de referência, você deverá criar novas tabelas com as propriedades desejadas e remover a tabela existente.

  • Quando uma tabela é marcada com STATISTICS_NORECOMPUTE, as operações de federação como SPLIT não invalidam nem recalculam estatísticas. Isso pode causar problemas de execução de plano após operações de reparticionamento, como SPLIT.

  • Os membros federados não oferecem suporte à propriedade de identidade

  • Os membros federados não oferecem suporte aos tipos de dados timestamp e rowversion.

Todos os metadados gerais da tabela para tabelas de federação estão disponíveis pelas exibições padrão do sistema. As propriedades específicas de federação estão disponíveis via sys.federated_table_columns.

As tabelas de referência não são distribuídas automaticamente entre todos os membros da federação. Embora as tabelas de referência possam ser replicadas em membros de uma federação manualmente, não há um processo de replicação automática.

Com frequência, as tabelas de referência contêm informações de suporte para consultas em tabelas federadas, para que você não tenha que executar consultar em vários bancos de dados. Por exemplo, embora as informações de cliente possam ser federadas e disseminadas em vários bancos de dados membro, não há nenhum ganho a ser obtido com as informações de referência de estado de federação e CEP. No entanto, talvez você queira armazenar uma cópia das informações de estado e CEP em cada membro da federação para que suas consultas não tenham que incluir vários bancos de dados.

Não é possível usar os tipos Geography e Geometry como o tipo de dados da coluna na qual uma tabela é federada; no entanto, eles podem fazer parte da tabela federada. Não há nenhuma outra limitação ao uso de dados espaciais com federações.

Após uma operação SPLIT ou DROP, os índices espaciais permanecem consistentes e intactos nos membros da federação de destino.

Não é possível usar o tipo de hierarquia como o tipo de dados da coluna na qual uma tabela é federada; no entanto, ele pode fazer parte da tabela federada. Não há nenhuma outra limitação ao uso da hierarquia com federações.

Após uma operação SPLIT ou DROP, os índices hierarchyid permanecem consistentes e intactos nos membros da federação de destino.

As conexões com uma federação são realizadas com a instrução USE FEDERATION. Esta instrução encaminha automaticamente a conexão para o membro corretor dentro de uma federação, eliminando a necessidade de saber o nome do banco de dados físico ao acessar os dados. A especificação da chave de distribuição da federação e um valor estabelecerá uma conexão com o banco de dados membro correspondente na federação.

A autenticação e a autorização para um banco de dados que contém uma federação é realizado como normal. Os logons e os usuários determinam a conectividade e as funções gerenciam o agrupamento de entidades. No entanto, as entidades em um banco de dados que contém uma federação estão no escopo apenas do banco de dados raiz da federação e não são aplicadas automaticamente aos membros da federação. Para obter mais informações sobre usuários e funções, consulte Gerenciando federações de bancos de dados (Banco de Dados SQL do Azure)

Uma operação de cópia não pode ser executada em um banco de dados que contenha federações. A criação de uma federação falhará se uma operação de cópia estiver ativa no banco de dados. A cópia de banco de dados também não pode ser executada em membros da federação.

As operações na federação não são aplicadas à cota da raiz da federação. Se o banco de dados de raiz exceder a cota, você ainda poderá executar as operações SPLIT e DROP. Da mesma forma, se a cota de tamanho do membro da federação for excedida, as operações SPLIT e DROP ainda poderão ser executadas desde que a cota do banco de dados de destino não seja excedida pela operação.

Ao final das operações de reparticionamento como SPLIT e DROP, as conexões são removidas. Isso significa que as propriedades da conexão, como as opções SET, as configurações do nível de isolamento da transação ou as variáveis também são restauradas. A operação SPLIT cria um novo banco de dados físico, o que significa que as propriedades de Transact-SQL a seguir não podem ser mantidas nas operações SPLIT.

 

Transact-SQL Banco de Dados SQL Limitações de suporte Suporte em bancos de dados com federações

Carimbo de data e hora e tipo de dados rowversion

O Banco de Dados SQL pode não preservar os valores de carimbo de data/hora e rowversion não confirmados do banco de dados atual (DBTS) entre failovers.

Não há suporte para o carimbo de data e hora e o tipo de dados rowversion em membros da federação.

As funções relacionadas ao carimbo de data e hora e rowversion, como @@dbts retornam valores quando não há carimbo de data e hora rowversion em um determinado banco de dados.

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

O Banco de Dados SQL pode relatar o carimbo de data e hora e rowversion do computador local e relatar horas no futuro ou no passado entre failovers.

Há suporte com as mesmas restrições entre as operações de reparticionamento.

DATABASE_PRINCIPAL_ID()

Há garantia de que o SIDs de entidades sejam os mesmos entre os membros da federação e a raiz da federação para um determinado nome de entidade. No entanto, os IDs das entidades podem ser alterados após operações de reparticionamento, como DROP.

Propriedade IDENTITY nas colunas

Não há suporte para a propriedade IDENTITY em membros da federação. Funções relacionadas a Identity, como IDENT_CURRENT, IDENT_SEED, IDENT_INCR, SCOPE_IDENTITY, sempre retornam nulo, uma vez que não pode existir nenhuma coluna de identidade nos membros da federação.

OBJECT_ID e funções relacionadas que funcionam como objetos definidos pelo usuário; object_id(…), object_name(object_id), type_id(…), type_name(type_id)

O Object_id de qualquer objeto pode ser alterado para objetos definidos pelo usuário após uma operação de reparticionamento, como DROP.

Há suporte para todas as configurações de banco de dados do Banco de dados SQL do Azure; no entanto, as alterações feitas no valor de uma opção no banco de dados de raiz da federação não alterarão a opção de nenhum membro da federação.

Consulte também

Mostrar:
© 2014 Microsoft