Non è possibile modificare il tipo di una colonna sul posto. È necessario creare una nuova colonna, copiare i valori, quindi rilasciare la colonna originale.
SQL Management Studio in genere esegue questa operazione creando una tabella temporanea con il nome della nuova colonna, copiando i valori, rilasciando la tabella originale con la vecchia colonna e quindi rinominando la nuova tabella temporanea con il nuovo nome. Spesso lo fa senza che nessuno se ne renda conto.
Tuttavia, questo può essere un approccio molto invasivo, soprattutto se si dispone già di un sacco di righe nella tabella, quindi si consiglia di scrivere semplicemente uno script SQL aggiungere la nuova colonna alla tabella, copiare i valori sopra, rilasciare la colonna originale e quindi utilizzare sp_rename per riportare il nuovo nome temporaneo della colonna al nome della colonna originale. Questa è la stessa idea di ciò che sta facendo SQL Management Studio, ad eccezione del fatto che stanno cadendo e ricreando l'intera tabella, e stai semplicemente rilasciando e ricreando la colonna.
Tuttavia, se si desidera consentire a SQL Manangement Studio di farlo in questo modo, è possibile disattivare tale messaggio di errore. Credo che sia stato originariamente aggiunto perché le persone non volevano e ricreavano il tavolo per impostazione predefinita. Per disattivare questo messaggio, vai a Strumenti-> Opzioni-? Designer e deseleziona lo "Impedisci il salvataggio delle modifiche che richiedono la ricreazione della tabella", quindi dovresti essere in grado di salvare le modifiche nella finestra di progettazione.
fonte
2011-12-08 11:59:38
Certo si può convertire questo - ma per farlo, il visual designer in SQL Server Mgmt Studio creerà la nuova tabella con 'DateTime', copiare i dati, e quindi eliminare la vecchia tabella, e c'è un'opzione in 'Strumenti> Opzioni' che impedisce che per impostazione predefinita - vedere la mia risposta –