Se voglio salvare qualsiasi modifica in una tabella, precedentemente salvata in SQL Server Management Studio (nessun dato presente nella tabella), ricevo un messaggio di errore:
Il salvataggio delle modifiche non è permesso. Le modifiche apportate richiedono che le seguenti tabelle vengano eliminate e ricreate. Hai apportato modifiche a una tabella che non può essere ricreata o attivata l'opzione Impedisci il salvataggio delle modifiche che richiedono la creazione della tabella.
Cosa può impedire di modificare facilmente la tabella? Oppure, è il modo usuale per SQL Server Management Studio di richiedere la creazione di una tabella per la modifica? Che cos'è - questa opzione "Impedisci il salvataggio delle modifiche" ?
Vai in Strumenti -> Opzioni -> Designer-> Deseleziona "Impedisci il salvataggio delle modifiche che richiedono la ricreazione della tabella". Ecco.
Ciò accade perché a volte è necessario eliminare e ricreare un tavolo per cambiare qualcosa. Questo può richiedere del tempo, poiché tutti i dati devono essere copiati in una tabella temporanea e quindi reinseriti nella nuova tabella. Poiché SQL Server di default non si fida di te, devi dire "OK, so cosa sto facendo, ora lasciami fare il mio lavoro".
Strumenti> Opzioni
Deseleziona sopra l'opzione
Per ovviare a questo problema, utilizzare le istruzioni SQL per apportare le modifiche alla struttura dei metadati di una tabella.
Questo problema si verifica quando è abilitata l'opzione "Impedisci il salvataggio delle modifiche che richiedono la ricomposizione della tabella" .
Invece di deselezionare la casella (una soluzione scadente), è necessario FERMARE la modifica dei dati in questo modo. Se i dati devono essere cambiati, fallo con uno script, in modo che tu possa facilmente portarlo in produzione e in modo che sia sotto il controllo del codice sorgente. Ciò semplifica anche l'aggiornamento delle modifiche di test dopo che la produzione è stata spostata verso il basso per consentire agli sviluppatori di lavorare con dati più freschi.
Vai a SSMS e prova questo
Menu >> Strumenti >> Opzioni >> Designer >> Deseleziona "Impedisci il salvataggio delle modifiche che richiedono la ricreazione della tabella".
Ecco una spiegazione molto buona su questo: http://blog.sqlauthority.com/2009/05/18/sql-server-fix-management-studio-error-saving-changes- a-non-permesso-the-cambiamenti-si-sono-made-richiede-the-following-tabelle-to-be-caduto-e-ri-creato-you-have-sia-fare-cambiamenti-to-a- scheda/
Molte modifiche che è possibile apportare molto facilmente e visivamente nell'editor di tabelle in SQL Server Management Studio richiedono effettivamente SSMS per rilasciare la tabella in background e ricrearla da zero. Anche le cose semplici come riordinare le colonne non possono essere espresse nell'istruzione SQL DDL standard: tutto ciò che SSMS può fare è eliminare e ricreare la tabella.
Questa operazione può essere molto dispendiosa in termini di tempo su una grande tabella, oppure b) potrebbe anche fallire per vari motivi (come i vincoli FK e roba del genere). Pertanto, SSMS in SQL Server 2008 ha introdotto questa nuova opzione che le altre risposte hanno già identificato.
All'inizio, potrebbe sembrare controintuitivo prevenire tali cambiamenti - ed è certamente una seccatura su un server di sviluppo. Ma su un server di produzione, questa opzione e il suo valore predefinito di impedire tali modifiche diventa un potenziale salvavita!
Questo è un rischio per disattivare questa opzione. Puoi perdere le modifiche se hai attivato il rilevamento delle modifiche (le tue tabelle).
Chris
http://chrisbarba.wordpress.com/2009/04/15/sql-server-2008-cant-save-changes-to-tables/