Condividi tramite


Procedura dettagliata: confronto degli schemi di due database

Aggiornamento: novembre 2007

In questa procedura dettagliata viene illustrato come confrontare gli schemi di due database utilizzando Visual Studio Team System Database Edition. L'azione di confronto degli schemi genera inoltre uno script DDL (linguaggio di definizione dei dati, Data Definition Language) dalle differenze. Utilizzare questo file per sincronizzare lo schema della destinazione con quello dell'origine. Per ulteriori informazioni, vedere Confronto di schemi di database.

Verranno eseguite le operazioni di questa procedura dettagliata:

  • Creare un database vuoto. Il database Northwind funge da origine e viene creato un database vuoto con la funzione di destinazione.

  • Confrontare gli schemi di due database. Tramite il confronto degli schemi, vengono rilevate le differenze strutturali tra i database, vengono visualizzate tali differenze in una tabella e viene generato uno script DDL che le esprime.

  • Esaminare ed eseguire lo script di sincronizzazione. Lo script DDL viene controllato ed è possibile modificarlo prima di eseguirlo.

  • Aggiornare il database di destinazione. Viene eseguito lo script DDL per modificare lo schema della destinazione.

Prerequisiti

È necessario che siano installati i prodotti seguenti:

  • Microsoft SQL Server 2000 o Microsoft SQL Server 2005.

  • Database Edition 

È necessario disporre di due database da confrontare. Il database Northwind viene utilizzato come origine. Viene inoltre creato un database vuoto che funge da destinazione come descritto nella procedura seguente.

Creare un database vuoto

Per creare un database vuoto attenersi alla procedura seguente.

Per creare un database vuoto

  1. Scegliere Nuovo dal menu File e quindi Progetto.

    Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. Se si desidera creare un database di SQL Server 2000, scegliere Creazione guidata SQL Server 2000. Se si desidera creare un database di SQL Server 2005, scegliere Creazione guidata SQL Server 2005.

  3. In Nome digitare EmptyNW.

  4. Accettare le impostazioni predefinite per i campi rimanenti e scegliere OK.

    Verrà visualizzata la Creazione guidata nuovo progetto di database.

  5. Scegliere Configura generazione/distribuzione.

  6. In Connessione di destinazione scegliere Sfoglia e specificare la connessione al server di database in cui si desidera creare il database vuoto.

  7. Scegliere Fine.

    Un progetto di database denominato EmptyNW verrà creato e visualizzato in Esplora soluzioni.

  8. Fare clic sul progetto di database EmptyNW in Esplora soluzioni.

  9. Scegliere DistribuisciNomeProgetto dal menu Compilazione.

    Il progetto di database verrà generato e distribuito nel server specificato.

Confrontare gli schemi di due database

Per confrontare gli schemi di due database

  1. AprireDatabase Edition

  2. Scegliere Confronto schema dal menu Dati e quindi Nuovo confronto schema.

    Verrà visualizzata la finestra di dialogo Confrontoschema. Utilizzare questa finestra per specificare l'origine e la destinazione. In questa finestra di dialogo vengono definiti i server in cui risiedono l'origine e la destinazione, il nome di ogni database e il tipo di autenticazione da utilizzare per la connessione a ogni database.

    Verrà inoltre aperta in background la finestra Confronto schema alla quale Database Edition assegna automaticamente un nome, ad esempio SchemaCompare1.

  3. In Database di origine, in Nome server, digitare il nome del server in cui risiede il database Northwind.

  4. In Seleziona o immetti nome di database digitare Northwind.

  5. In Database di destinazione, in Nome server, digitare il nome del server in cui risiede il database EmptyNW. Questo nome deve essere lo stesso del server immesso come origine.

  6. In Seleziona o immetti nome di database digitare EmptyNW.

  7. Scegliere Fine.

    Verrà avviato il confronto degli schemi.

    Nota:

    È possibile arrestare un'operazione di confronto degli schemi in corso scegliendo Confronto schema dal menu Dati e quindi facendo clic su Interrompi confronto schema.

    Nota:

    È possibile configurare opzioni che determinano quali elementi sono considerati differenze e che modificano le modalità di creazione dello script di aggiornamento. Per ulteriori informazioni, vedere Procedura: impostare le opzioni per il confronto di schemi di database.

    Al termine del confronto, le differenze strutturali tra i due database verranno visualizzate nella tabella nella finestra Confronto schema. Nella tabella è visualizzata una riga per ogni oggetto di database presente in uno dei database. Gli oggetti di database sono organizzati per tipo: tabelle, viste, stored procedure, ruoli e così via.

Aggiornare il database di destinazione

Per aggiornare lo schema della destinazione, sono disponibili due opzioni. È possibile aggiornare lo schema direttamente nella finestra Confronto schema oppure utilizzando l'Editor T-SQL. In questa sezione vengono descritte entrambe le opzioni.

Dopo l'esecuzione del confronto degli schemi, le differenze strutturali verranno visualizzate nella tabella nella finestra Confronto schema. Per ogni oggetto nella colonna Northwind (database di origine), nella colonna Azione di aggiornamento della tabella è visualizzata un'azione necessaria per sincronizzare tale oggetto nei due database. In questo caso, poiché la destinazione è vuota a eccezione degli oggetti predefiniti, la colonna Stato contiene per la maggior parte valori Nuovo e la colonna Azione di aggiornamento contiene per la maggior parte valori Crea.

Scrivere gli aggiornamenti nella destinazione

È possibile aggiornare lo schema della destinazione utilizzando le azioni di aggiornamento elencate nella finestra Confronto schema. Per eseguire questa operazione, attenersi alla procedura in Scrivere aggiornamenti nel database di destinazione.

Visualizzare script e scrivere aggiornamenti nella destinazione

È possibile esportare uno script di aggiornamento, esaminarlo ed eventualmente modificarlo e quindi utilizzarlo per sincronizzare il database di destinazione. Per eseguire queste operazioni, attenersi alla procedura in Esaminare ed eseguire lo script di sincronizzazione.

Scrivere aggiornamenti nel database di destinazione

Per scrivere aggiornamenti nel database di destinazione

  1. (Facoltativo, ma consigliato) Eseguire il backup del database di destinazione.

    Poiché alcune modifiche dello schema non possono essere sottoposte a transazione, è possibile che si verifichi una perdita di dati se si avvia e si annulla un'operazione di aggiornamento. È possibile, ad esempio, che una tabella nel database di destinazione venga eliminata in preparazione della relativa ricreazione. Se si annulla l'aggiornamento in tale momento, la tabella può essere persa.

  2. Sulla barra degli strumenti Confronto schema fare clic su Scrivi aggiornamenti.

    Verranno eseguite le azioni di aggiornamento elencate nella finestra Confronto schema. Con questa operazione di sincronizzazione, lo schema della destinazione viene modificato affinché corrisponda a quello dell'origine.

    Nota:

    È possibile annullare un'azione di aggiornamento in corso scegliendo Confronto schema dal menu Dati e quindi facendo clic su Interrompi scrittura sulla destinazione.

    Nota:

    Il confronto non viene aggiornato automaticamente. Se si desidera eseguire nuovamente il confronto per verificare che gli aggiornamenti selezionati siano stati applicati, fare clic sul pulsante Aggiorna sulla barra degli strumenti Confronto schema.

Esaminare ed eseguire lo script di sincronizzazione

Per esaminare lo script di sincronizzazione

  1. Scegliere Confronto schema dal menu Dati, scegliere Esporta in e quindi Editor. È inoltre possibile fare clic su Esporta nell'Editor sulla barra degli strumenti Confronto schema.

    Verrà aperto l'Editor T-SQL in modalità connessa, con lo script di sincronizzazione T-SQL visualizzato. Il nome di questa finestra è analogo a Server.Northwind - SchemaUpdate_EmptyNW_1.sql. In questa finestra viene visualizzato lo script T-SQL, un file nella cartella Documenti/Visual Studio 2005/My Projects. Poiché si dispone di accesso in lettura e scrittura a questa finestra, è possibile modificare lo script. Se lo si modifica, scegliere Salva dal menu File.

  2. Per sincronizzare gli schemi dei due database, eseguire lo script facendo clic su Esegui SQL sulla barra degli strumenti Confronto schema o premendo F5.

    Nota:

    Il confronto non viene aggiornato automaticamente. Se si desidera eseguire nuovamente il confronto per verificare che gli aggiornamenti selezionati siano stati applicati, fare clic sul pulsante Aggiorna sulla barra degli strumenti Confronto schema.

Passaggi successivi

A questo punto, è possibile confrontare i dati nei due database. Per ulteriori informazioni, vedere Procedura: confrontare i dati di due database.

Vedere anche

Attività

Procedura: confrontare i dati di due database

Procedura: confrontare gli schemi di due database

Concetti

Panoramica sulla terminologia di Database Edition

Altre risorse

Confronto di dati di database