CREATE FEDERATION (Database di SQL Azure)

Crea una nuova federazione nel Database SQL di Azure.

Importante

L'implementazione corrente delle federazioni verrà ritirata con i livelli del servizio Web e Business. Considerare la distribuzione delle soluzioni di partizionamento orizzontale personalizzate per massimizzare la scalabilità, la flessibilità e le prestazioni.Per ulteriori informazioni sul partizionamento orizzontale personalizzato, vedere Scalabilità orizzontale dei database SQL di Azure.

Si applica a: Database SQL di Azure.

Sintassi

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  

Argomenti

  • federation_name
    Nome della federazione che si desidera creare. Il nome deve essere univoco all'interno del e conforme alle regole per gli identificatori ed è di tipo sysname.

  • distribution_name
    Nome della chiave della federazione. Il nome è un identificatore utilizzato per fare riferimento alla chiave della federazione e a esso viene fatto riferimento tramite istruzioni correlate alla federazione come CREATE TABLE … FEDERATED ON(...) o USE FEDERATION. Distribution_name deve essere conforme alle regole per gli identificatori ed è di tipo sysname.

  • type_name
    Nome del tipo per il tipo di chiave della federazione. Il tipo deve essere int, bigint, uniqueidentifier o varbinary(n), dove n può essere al massimo 900.

  • RANGE
    Tipo di partizionamento. È supportato solo il partizionamento RANGE.

Osservazioni

L'oggetto della federazione consente la scalabilità orizzontale di una raccolta di tabelle. Una federazione contiene l'intero set di dati per la raccolta di tabelle specificata e definisce i criteri di distribuzione e il tipo di dati da utilizzare per la distribuzione dei dati.

Le federazioni possono essere create in qualsiasi database e in un database possono esistere molte federazioni. Ogni federazione rappresenta una raccolta separata di tabelle come 'dati di tutti i clienti' o "dati di tutti gli ordini" e ogni membro della federazione contiene in genere un subset del set di dati completo. Nel caso speciale di singolo membro della federazione, il singolo membro può contenere l'intera raccolta di tabelle.

Quando viene creata una federazione, viene creato anche il primo membro che copre l'intervallo completo per il tipo di dati specificato. Questo membro della federazione è visibile in sys.databases come database normale nel database master. È inoltre visibile nel database utente che contiene la federazione attraverso la vista di sistema sys.federation_members. Il nome del database del membro viene generato casualmente.

Con la distribuzione dell'intervallo, range_low e range_high rappresentano i valori limite per il membro della federazione. Per i membri della federazione, range_low è impostato sul valore minimo consentito nella chiave della federazione in un determinato membro e range_high è impostato sul valore massimo +1 consentito nella chiave della federazione per un membro specificato. Nel caso speciale di singolo membro della federazione, range_low rappresenta il valore minimo del dominio del tipo di dati della chiave della federazione e range_high è NULL per rappresentare il valore massimo +1. Nell'intervallo non possono essere presenti vuoti per l'assenza di valori. Ogni valore valido dell'intervallo è coperto da un membro della federazione. Il tipo di dati della chiave della federazione viene utilizzato per specificare il dominio dei valori consentiti. Il valore range_low è inclusivo nell'intervallo, mentre range_high è esclusivo. Ad esempio, se un membro della federazione presenta un valore range_low pari a 100 e un valore range_high pari a 200, il valore 100 viene incluso nella federazione, mentre il valore 200 viene escluso. Il membro della federazione che contiene il valore massimo dell'intervallo include il valore massimo per il dominio del tipo di dati della chiave della federazione e specificherà NULL come valore range_high.

Importante

L'istruzione CREATE FEDERATION deve essere l'unica istruzione nel batch e non può essere parte di una transazione esterna.Se esiste una transazione esterna, viene restituito l'errore 226.