none
Duplicare struttura indici e dati nello stesso database RRS feed

  • Domanda

  • avrei l'esigenza di duplicare una tabella1 esistente in un database in
    modo da creare una tabella2 con gli stessi dati e la stessa struttura compresi indici. In Access facevo tasto Dx e poi
    duplica. In SQL Server?

    Grazie anticipatamente

    giovedì 4 maggio 2017 13:26

Risposte

  • Ciao,

    purtroppo non c'è un "duplica". Ma puoi semplicemente creare lo script della tabella (tasto destro --> tasks --> script table as create) facendoti generare lo script in una nuova finestra. Poi, una volta creata la nuova tabella, puoi fare:

    INSERT INTO schema.nuovatabella  SELECT * FROM schema.vecchiatabella

    attenzione però, nel caso di IDENITITY impostata sulla tabella da cui crei lo script, dovrai rimuovere il read only sulla tabella di destinazione con questo statement:

    SET IDENITY_INSERT schema.nuovatabella ON;

    poi, ad inserimento terminato, ripristini la situazione:

    SET IDENITY_INSERT schema.nuovatabella OFF;

    Nota: dovrai scriptare gli indici in seguito, anche se in realtà puoi decidere di crearli prima di inserire i dati. La procedura è simile, puoi generare lo script di ogni indice e poi applicarlo rinominandolo opportunamente e facendolo puntare alla nuova tabella,

    ciao



    Alessandro Alpi - Data Platfomr MVP - CTO & Co-Founder Engage IT Services S.r.l.


    venerdì 5 maggio 2017 07:43
    Moderatore