Modificare l'ordine delle colonne in una tabella

Si applica a: SQL Server 2016 (13.x) e versioni successive Database SQL di AzureIstanza gestita di SQL di AzurePiattaforma di strumenti analitici (PDW)

È possibile modificare l'ordine delle colonne in Progettazione tabelle in SQL Server Management Studio (SSMS). Per impostazione predefinita, un meccanismo di sicurezza di SSMS blocca la modifica dell'ordine delle colonne. Anche se non è consigliabile, è possibile modificare l'ordine di colonna in una tabella ricreando la tabella.

L'aggiunta di colonne a una tabella per impostazione predefinita li aggiunge alla fine della tabella, come consigliato.

Consigli

Procedure consigliate con l'ordine delle colonne della tabella:

  • Per modificare l'ordine delle colonne visualizzate in un set di risultati, un report o un'applicazione, usare l'ordine di colonna in un'istruzione Transact-SQL (edizione Standard LECT). Nelle query e nelle applicazioni, specificare sempre le colonne per nome nell'ordine nel quale si desidera visualizzarle.
  • Non usare SELECT * nelle applicazioni. Le colonne aggiunte o rimosse possono causare errori o comportamenti imprevisti nelle applicazioni.
  • Aggiunta di nuove colonne alla fine della tabella.

Attenzione

La modifica dell'ordine delle colonne potrebbe influire su codice e applicazioni che dipendono da un ordine specifico, incluse query, viste, stored procedure, funzioni definite dall'utente e applicazioni client. Valutare attentamente ogni eventuale modifica da apportare all'ordine delle colonne.

Usare SQL Server Management Studio

Cambiare l'ordine delle colonne

Sebbene non sia consigliabile, è possibile modificare l'ordine delle colonne in una tabella usando SQL Server Management Studio (SSMS). Ciò richiede la ricreazione della tabella.

Importante

Usare sempre l’ultima versione di SQL Server Management Studio (SSMS).

  1. In Esplora oggetti fare clic con il pulsante destro del mouse sulle colonne da riordinare e selezionare Progetta.

  2. Selezionare la casella a sinistra del nome della colonna che si desidera spostare.

  3. Trascinare la colonna in una posizione diversa nella tabella.

È possibile che queste modifiche vengano bloccate da una importante funzionalità di sicurezza di SSMS, controllata dall'impostazione Impedisci il salvataggio delle modifiche per cui è necessario ricreare la tabella. Questa impostazione è abilitata per impedire l’eliminazione/ricreazione accidentale della tabella tramite dialoghi SSMS, che può provocare interruzioni e causare la perdita di metadati o autorizzazioni. Per altre informazioni, vedere Messaggio di errore in SSMS “Il salvataggio delle modifiche non è consentito”. È invece consigliabile eseguire questi tipi di modifiche, con una completa consapevolezza dell'impatto, tramite passaggi Transact-SQL che tengono conto di autorizzazioni e metadati.

Attenzione

La ricreazione di una tabella bloccherà l'accesso simultaneo alla tabella per altri utenti e applicazioni. Per le tabelle di grandi dimensioni, questo potrebbe richiedere una durata prolungata e una grande quantità di spazio del log delle transazioni.

Usare Transact-SQL

La modifica dell'ordine di colonna non è supportata tramite istruzioni Transact-SQL. La tabella deve essere eliminata e ricreata per modificare l'ordine di colonna.

Osservazioni:

Per eseguire query sulle colonne esistenti, usare la vista del catalogo di oggetti sys.columns.

Passaggi successivi