2013-11-21 14 views
16

Quando provo a modificare un tipo di dati della mia tabella ottengo questo messaggio orribile da SQL Management Studion: "Il salvataggio delle modifiche non è consentito. reso necessario per le tabelle seguenti da eliminare e ricreare ". Ho già provato a fare la modifica con T-SQL e ha funzionato, ma perché non posso farlo solo in modalità progettazione? Sto usando SQL Server 2008 R2.Il salvataggio delle modifiche non è consentito. Le modifiche apportate richiedono che le seguenti tabelle vengano eliminate e ricreate

+1

C'è una risposta qui: http://stackoverflow.com/questions/6810425/saving-changes-is-not-permitted-in-sql-server –

+0

Le modifiche alla struttura della tabella devono essere programmate e salvate nel controllo sorgente come tutti gli altri codici Non usare mai il designer per questo. La tabella di modifica non richiede che la tabella venga eliminata e ricreata, come fa il progettista. – HLGEM

risposta

56

Suggerisco caldamente di utilizzare T-SQL per apportare modifiche o, per lo meno, visualizzare in anteprima gli script creati dai progettisti prima di eseguirli. Tuttavia, se si desidera eseguire questa operazione nel designer, è possibile disattivare tale blocco andando su Strumenti ... Opzioni ... Designer ... Tabelle e progettisti di database .. e fare clic su "non salvare le modifiche che richiedono la reimpostazione della tabella" creazione".

Questo blocco è attivato per impostazione predefinita per un motivo; ti impedisce di commettere qualche cambiamento che viene offuscato dal designer.

MODIFICA: come indicato nel commento seguente, non è possibile visualizzare in anteprima le modifiche a meno che non si disabiliti il ​​blocco. Il mio punto è che se vuoi usare il designer del tavolo per lavorare su un tavolo con questa funzione disabilitata, dovresti assicurarti di visualizzare sempre l'anteprima delle modifiche prima di accettarle. In breve, le opzioni sono:

  • miglior processo: Usa T-SQL
  • non è grande: di disabilitare il blocco, utilizzare la tabella Designer, e SEMPRE anteprima cambia
  • Crazy Talk: Fare clic su alcuni pulsanti.
+1

Potresti aggiungere come dovresti "visualizzare in anteprima gli script generati dai designer"? Facendo clic con il pulsante destro del mouse e Genera script si tenta di salvare di nuovo. Qual e il punto? – makhdumi

22

Per modificare i cambiamenti risparmio Impedire che richiedono l'opzione tavolo ri-creazione, attenersi alla seguente procedura: Aprire SQL Server Management Studio (SSMS). Nel menu Strumenti, fare clic su Opzioni. Nel pannello di navigazione della finestra Opzioni, fare clic su Designer. Selezionare o deselezionare la casella di controllo Impedisci modifiche di salvataggio che richiedono la creazione della tabella, quindi fare clic su OK.

1

Solo per aggiungere quello che Stuart Ainsworth ha detto, è possibile fare clic con il tasto destro nella finestra del designer SSMS e selezionare l'opzione 'Genera script di modifica ...' dopo aver modificato per generare e rivedere lo script creato dal designer per i tuoi cambiamenti.

+4

Ciò provoca lo stesso errore se il blocco è ancora attivo. Funziona quando sono spenti. – RyanfaeScotland

Problemi correlati