Share via


Creazione di tabelle e di indici partizionati

La procedura di creazione di una tabella o di un indice partizionato include i passaggi seguenti:

  1. Creare una funzione di partizione che specifica in quale modo una tabella o di un indice verranno partizionati.

  2. Creare uno schema di partizione che specifica in quale modo le partizioni create da una funzione di partizione verranno posizionate nei filegroup.

  3. Creare una tabella o un indice che utilizza lo schema di partizione.

Creazione di una funzione di partizione

Una funzione di partizione specifica in quale modo la tabella o l'indice verranno partizionati e mappa il dominio a un set di partizioni. Per creare una funzione di partizione, è necessario specificare il numero di partizioni, la colonna di partizionamento e l'intervallo di valori della colonna di partizionamento per ogni partizione. Si noti che è possibile specificare una sola colonna di partizionamento.

Per ulteriori informazioni sulla creazione di una funzione di partizione, vedere Linee guida per la pianificazione di tabelle e indici partizionati.

Regole relative alla colonna di partizionamento

Le colonne calcolate che partecipano a una funzione di partizione devono essere contrassegnate in modo esplicito come PERSISTED.

È possibile utilizzare come colonna di partizionamento tutti i tipi di dati che possono essere utilizzati come colonne di indice, eccetto il tipo di dati timestamp. Non è possibile specificare i tipi di dati ntext, text, image, xml, varchar(max), nvarchar(max) o varbinary(max). Non è inoltre possibile specificare il tipo CLR definito dall'utente di Microsoft.NET Framework e le colonne con tipi di dati alias.

Per creare una funzione di partizione

Creazione di uno schema di partizione

Uno schema di partizione mappa le partizioni create da una funzione di partizione a un set di filegroup definito.

Quando si crea uno schema di partizione, si definiscono i filegroup ai quali sono mappate le partizioni di tabella, in base ai parametri della funzione di partizione. È necessario specificare un numero di filegroup sufficiente a contenere il numero di partizioni. È possibile specificare che tutte le partizioni sono mappate a un filegroup diverso, che alcune partizioni sono mappate a un singolo filegroup o che tutte le partizioni sono mappate a un singolo filegroup. È inoltre possibile specificare filegroup aggiuntivi, non assegnati, se si desidera aggiungere altre partizioni successivamente. In questo caso, SQL Server contrassegna un filegroup con la proprietà NEXT USED, a indicare che esso conterrà la successiva partizione aggiunta.

Uno schema di partizione può utilizzare una sola funzione di partizione, mentre una funzione di partizione può partecipare a più schemi di partizione.

Per creare uno schema di partizione

Creazione di una tabella o di un indice partizionato

Per partizionare una tabella o un indice al momento della creazione, è necessario specificare quanto segue nell'istruzione CREATE TABLE o CREATE INDEX:

  • Lo schema di partizione che verrà utilizzato dalla tabella per mappare le partizioni ai filegroup.

  • La colonna in base alla quale verrà partizionata la tabella, ovvero la colonna di partizionamento. Il tipo, la lunghezza e la precisione dei dati della colonna di partizionamento devono corrispondere a quelli della colonna specificata nella funzione di partizione utilizzata dallo schema di partizione. Se la colonna è calcolata, è necessario contrassegnarla come PERSISTED.

Per creare una tabella che utilizza uno schema di partizione

Per creare un indice che utilizza uno schema di partizione