Modificare l'ordine delle colonne in una tabella
Si applica a: SQL Server 2016 (13.x) e versioni successive Database SQL di Azure Istanza gestita di SQL di Azure Piattaforma 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).
In Esplora oggetti fare clic con il pulsante destro del mouse sulle colonne da riordinare e selezionare Progetta.
Selezionare la casella a sinistra del nome della colonna che si desidera spostare.
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.