

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Informazioni sul partizionamento in Babelfish
<a name="babelfish-partition"></a>

A partire dalla versione 4.3.0, Babelfish include il partizionamento di tabelle e indici con supporto limitato. Le sezioni seguenti forniscono i dettagli sulle funzioni di creazione delle partizioni, sulla definizione di schemi di partizione e sull’implementazione di tabelle e indici partizionati in Babelfish. 

**Topics**
+ [Introduzione al partizionamento in Babelfish](#babelfish-partition-function-views)
+ [Limitazioni e soluzioni alternative](#babelfish-partition-limitations)

## Introduzione al partizionamento in Babelfish
<a name="babelfish-partition-function-views"></a>
+ **Funzioni di partizione:**
  + `CREATE PARTITION FUNCTION:` definisce il modo in cui una tabella o un indice vengono partizionati specificando il tipo di colonna di partizionamento e l’intervallo di valori per ciascuna partizione.
  + `DROP PARTITION FUNCTION:` rimuove una funzione di partizione esistente.
+ **Schemi di partizione:**
  + `CREATE PARTITION SCHEME:` definisce la mappatura tra partizioni e gruppi di file.
**Nota**  
In Babelfish, i gruppi di file vengono trattati come oggetti fittizi e non rappresentano posizioni di archiviazione fisiche.
  + `DROP PARTITION SCHEME:` rimuove uno schema di partizione esistente.
+ **Funzione di sistema:**
  + `$PARTITION:` questa funzione di sistema restituisce il numero di partizione a cui appartiene un valore specificato in una colonna di partizionamento di una tabella partizionata specificata.
+ **Tabelle e indici partizionati:**
  + `CREATE TABLE ... ON partition_scheme_name (partition_column_name):` crea una tabella partizionata basata su uno schema di partizione e una colonna di partizionamento specificati.
  + `CREATE INDEX ... ON partition_scheme_name (partition_column_name):` crea un indice partizionato basato su uno schema di partizione e una colonna di partizionamento specificati.
+ **Visualizzazioni di sistema per il partizionamento dei metadati:**

  Le seguenti visualizzazioni di sistema sono state aggiunte per fornire i metadati relativi al partizionamento:
  + `sys.destination_data_spaces`
  + `sys.partitions`
  + `sys.partition_functions`
  + `sys.partition_parameters`
  + `sys.partition_range_values`
  + `sys.partition_schemes`

## Limitazioni e soluzioni alternative
<a name="babelfish-partition-limitations"></a>

Le seguenti funzionalità di partizionamento di SQL Server non sono ancora supportate in Babelfish:
+ `ALTER PARTITION FUNCTION` e `ALTER PARTITION SCHEME`.
**Nota**  
Babelfish non supporta le operazioni di divisione e unione. Si definiscono tutte le partizioni nelle funzioni di partizione durante la creazione perché non è possibile aggiungere o rimuovere partizioni in un secondo momento.
+ Colonne calcolate come colonne di partizionamento.
+ Utilità `INSERT BULK` e `BCP` per tabelle partizionate.
+ Opzione del limite `LEFT` per le funzioni di partizione.
+ Tipo di dati `SQL_VARIANT` per le funzioni di partizione.
+ `TRUNCATE TABLE ... WITH PARTITION`.
+ `ALTER TABLE ... SWITCH PARTITION`.
+ Un-aligned indici partizionati come lo schema di partizione e la colonna di partizione che differiscono dalla tabella partizionata.
+ La migrazione DMS da un’origine Babelfish è supportata solo per le attività di caricamento completo sulle tabelle partizionate.
+ Babelfish non supporta queste opzioni di sintassi ma fornisce soluzioni alternative: 
  + Utilizzo dello schema di partizione con vincoli o indici nell’istruzione CREATE TABLE.
  + ALTER TABLE ... ADD CONSTRAINT ... ON partition\_scheme\_name (partition\_column\_name).
**Nota**  
È possibile impostare l’escape hatch `babelfishpg_tsql.escape_hatch_storage_on_partition` per ignorare lo schema. Ciò consentirà al parser di ignorare l’opzione dello schema di partizione utilizzata con vincoli o indici e al backend di creare vincoli o indici individuali per ogni partizione.