PDA

View Full Version : [VB.NET / SQL] Copiare delle viste / tabelle da un DB ad un altro


Lehendakari
27-02-2009, 11:55
Ciao a tutti. Io ho un programma che lavora su un DB distinto per ogni azienda (serve così, e non si può "unificare" il tutto). Quando si crea una nuova azienda, si prende un DB di base, lo si copia e si rinomina la copia col nome dell'azienda in modo che si possa lavorare su quello.
Ora, il problema è che ogni tanto si va a modificare il DB di base, aggiungendo ad esempio delle colonne a delle tabelle, mettendo una nuova vista ecc.ecc.
Ovviamente, le aziende create prima, non hanno nel loro db queste modifiche.
Io ho fatto in modo di estrarre l'elenco delle tabelle e delle viste dal DB_BASE e dal DB_AZIENDA_XY e confrontarli per vedere almeno quali sono le viste / tabelle mancanti.
Però come faccio via codice ad ottenere l'equivalente della generazione di un script di creazione tabella/vista che ho nel Management del Server?
In modo da poter copiare quello che manca nel DB_AZIENDA_XY.
E ci sarebbe anche un modo di confrontare la struttura delle viste / tabelle, perché magari la TABELLA1 esiste sia nella base che nell'aziendaXY, ma con delle colonne in più/in meno? (il confronto che sono riuscito ad ottenere è solo sull'esistenza o meno della tabella, non sulla struttura).

Siccome si parla di tante tante aziende (e altrettanti database) da verificare, non posso a farlo a mano una per una, così mi creerei una procedura semi-automatica che mi risparmierebbe un bel po' di tempo!

(Se conoscete qualche programmino che fa lo stesso lavoro, ben venga)
Grazie

Lehendakari
04-03-2009, 10:09
nessuno che ha qualche suggerimento?