Modificare l'ordine delle colonne in una tabella

Si applica a: SQL Server 2016 (13.x) e versioni successive Azure SQL DatabaseIstanza gestita di SQL di AzureAnalytics Platform System (PDW)

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

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

Consigli

Procedure consigliate con ordine di colonna 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 SELECT (Transact-SQL). 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 potrebbero causare comportamenti imprevisti o errori nelle applicazioni.
  • Aggiungere nuove colonne alla fine delle tabelle.

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. Prendere in considerazione attentamente le modifiche da apportare all'ordine di colonna.

Usare SQL Server Management Studio

Cambiare l'ordine delle colonne

Anche se non è 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 la versione più recente 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 "Salvataggio delle modifiche non consentite" in SSMS. È invece consigliabile eseguire questi tipi di modifiche, con la consapevolezza completa dell'impatto, tramite i passaggi Transact-SQL che accountno le autorizzazioni e i metadati.

Attenzione

La ricreazione di una tabella blocca l'accesso simultaneo alla tabella per altri utenti e applicazioni. Per le tabelle di grandi dimensioni, ciò 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.

Commenti

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

Passaggi successivi