Condividi tramite


Procedura dettagliata: confronto degli schemi di un database e di un progetto di database

Aggiornamento: novembre 2007

In questa procedura dettagliata lo schema di un progetto di database viene confrontato con lo schema di un database utilizzando Visual Studio Team System Database Edition.

A seconda della modalità con cui il team utilizza il progetto di database e il database, potrebbe essere necessario copiare le modifiche allo schema in una direzione o nell'altra. Di seguito sono riportati gli scenari tipici:

  • Il progetto è l'origine e il database è la destinazione. È possibile utilizzare un progetto di database per sviluppare o gestire un database. Dopo aver apportato le modifiche allo schema nel progetto, è possibile copiarle nel database incluso in un server di gestione temporanea. In seguito, il team può distribuire il database su un server di produzione.

    L'azione di confronto dello schema eseguita in questa procedura dettagliata genera uno script DDL (Data Definition Language) dalle differenze tra gli schemi. È quindi possibile utilizzare questo script per applicare tutto o parte del progetto di database al database. Per ulteriori informazioni, vedere Propagare le modifiche dal progetto al database.

  • Il database è l'origine e il progetto è la destinazione. È possibile che nello schema di un database di produzione venga rilevato un errore o che lo schema diventi obsoleto e richieda un aggiornamento. In questo caso potrebbe essere necessario applicare un aggiornamento urgente al database. Per mantenere il progetto sincronizzato con il database, è quindi possibile importare nel progetto di database le modifiche allo schema prodotte dall'aggiornamento urgente. Per ulteriori informazioni, vedere Procedura: importare aggiornamenti da un database nel progetto di database.

Di seguito sono elencate le attività illustrate nella procedura dettagliata:

Fase di impostazione

  1. Creare un progetto di database. Il nuovo progetto all'inizio è vuoto.

  2. Confrontare lo schema di database con lo schema di progetto. In questo confronto il progetto di database viene designato come origine e il database come destinazione. Al termine del confronto, questa configurazione consente di scrivere gli aggiornamenti dello schema dal progetto di database al database.

    Nota:

    È inoltre possibile propagare le modifiche da un database di origine a un progetto di database di destinazione. Per ulteriori informazioni, vedere Procedura: importare aggiornamenti da un database nel progetto di database.

  3. Importare lo schema del database nel progetto. Il database e il progetto hanno ora schemi identici.

Fase di produzione

  1. Aggiungere una tabella al progetto di database. Verrà aggiunta una tabella denominata InternationalShippers che contiene tre colonne.

  2. Confrontare di nuovo i due schemi. La tabella InternationalShippers risulta nuova nel progetto di database.

  3. Propagare le modifiche dal progetto al database. È possibile scegliere di propagare la nuova tabella InternationalShippers al database Northwind. Seguendo questa procedura alcune parti del database di esempio Northwind verranno sovrascritte.

Prerequisiti

Per completare questa procedura dettagliata, è necessario:

  • Microsoft SQL Server 2000 o Microsoft SQL Server 2005

  • Microsoft Visual Studio 2005 con Database Edition 

  • Database Northwind

Fase di impostazione

Creare un progetto di database

Per creare un progetto di database

  1. Scegliere Nuovo dal menu File, quindi Progetto.

    Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. In Tipi progetto espandere Progetti di database, quindi fare clic su Microsoft SQL Server.

  3. In Modelli fare clic su SQL Server 2005.

  4. Digitare Northwind_Project nella casella Nome, quindi scegliere OK.

    Il progetto Northwind_Project verrà visualizzato in Esplora soluzioni e sarà vuoto.

    Nota:

    Utilizzando Team Edition for Database Professionals, è anche possibile creare progetti non vuoti. Per ulteriori informazioni, vedere Procedura: creare progetti di database.

Confrontare lo schema del database con lo schema del progetto

Per confrontare i due schemi

  1. (Facoltativo) Configurare le opzioni che influiscono sulla modalità di confronto degli schemi. Per ulteriori informazioni, vedere Opzioni (Strumenti di database/Confronto schema) e Procedura: impostare le opzioni per il confronto di schemi di database.

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

    Verrà visualizzata la finestra di dialogo Nuovo confronto schema. In Schema di origine verrà visualizzato il progetto Northwind_Project.

  3. In Schema di destinazione fare clic su Database e quindi sul database Northwind.

    Nota:

    Se l'elenco relativo a Database è vuoto, fare clic su Nuova connessione. Nella finestra di dialogo Proprietà connessione connettersi al server di database che contiene il database Northwind, quindi scegliere OK. Se l'elenco relativo a Database non è vuoto e ci si connette al database Northwind utilizzando l'autenticazione di SQL Server, verrà visualizzata la finestra di dialogo Connetti a SQL Server. Per connettersi al database, è necessario specificare le proprie credenziali.

  4. Nella finestra di dialogo Nuovo confronto schema scegliere OK.

    Lo schema del database Northwind viene confrontato con lo schema del progetto Northwind_Project. I risultati del confronto verranno visualizzati nella finestra Confronto schema. L'azione di aggiornamento viene indicata come Elimina per ogni oggetto esistente nel database Northwind che non è presente nel progetto Northwind_Project.

Importare lo schema del database nel progetto

Per importare lo schema del database

  1. Scegliere Visualizzazione schema dal menu Visualizza.

    Verrà aperta la Visualizzazione schema con lo schema del progetto Northwind_Project.

  2. Fare clic con il pulsante destro del mouse su Northwind_Project, quindi scegliere Importa schema database.

    Verrà aperta l'Importazione guidata database.

  3. In Connessione database di origine fare clic sul database Northwind.

  4. Scegliere Fine.

    Lo schema del database viene importato nel progetto. I due schemi sono a questo punto identici.

    Nota:

    Il progetto di database eredita diverse proprietà dal database Northwind. Per visualizzarle, fare clic con il pulsante destro del mouse su Northwind_Project in Esplora soluzioni, quindi scegliere Proprietà. Le impostazioni importate includono Confronto predefinito nella pagina Impostazioni progetto e Altre impostazioni nella pagina Proprietà database.

  5. Per verificare che i due schemi siano identici, fare clic su Aggiorna sulla barra degli strumenti Confronto schema.

    Gli schemi verranno nuovamente confrontati. Per gli oggetti dello schema che risultano identici, l'azione di aggiornamento visualizzata corrisponde a Ignora.

Fase di produzione

Aggiungere una tabella al progetto di database

Per aggiungere una tabella al progetto

  1. Scegliere Visualizzazione schema dal menu Visualizza.

    Verrà aperta la Visualizzazione schema con lo schema del progetto Northwind_Project.

  2. In Visualizzazione schema espandere il nodo Northwind_Project.

  3. Fare clic con il pulsante destro del mouse su Tabelle, scegliere Aggiungi e quindi Tabella.

    Verrà visualizzata la finestra di dialogo Aggiungi nuovo elemento - Northwind_Project.

  4. In Modelli fare clic su Tabella.

  5. Digitare InternationalShippers nella casella Nome, quindi fare clic su Aggiungi.

    Una tabella denominata InternationalShippers verrà aggiunta al progetto Northwind_Project. La definizione della tabella verrà visualizzata nell'editor T-SQL (Transact-SQL).

  6. Modificare lo script SQL nel file InternationalShippers.table.sql come segue:

    CREATE TABLE [dbo].[InternationalShippers]
    (
    [ShipperID] [int] NOT NULL IDENTITY(1,1),
    [CompanyName] [nvarchar] (40) NOT NULL,
    [Region] [nvarchar] (40) NOT NULL,
    [Phone] [nvarchar] (24) NULL
    ) ON [PRIMARY]
    
  7. Fare clic su Salva InternationalShippers.table.sql.

  8. In Visualizzazione schema fare clic con il pulsante destro del mouse sulla tabella InternationalShippers, quindi scegliere Visualizza file in Esplora soluzioni.

    Il file InternationalShippers.sql verrà evidenziato in Esplora soluzioni.

  9. Premere F4.

    Verrà visualizzata la finestra di dialogo Proprietà con le proprietà del file InternationalShippers.table.sql. Si noti che la proprietà Operazione di generazione è impostata su Generazione. Impostando la proprietà Operazione di generazione su Generazione, si indica che il file contiene la definizione per un oggetto di database e deve quindi essere analizzato e convalidato.

Confrontare i due schemi

Per confrontare i due schemi

  1. Fare clic sulla scheda Confronto schema per visualizzare nuovamente i risultati del confronto più recente.

  2. Fare clic su Aggiorna sulla barra degli strumenti Confronto schema.

    Lo schema del database Northwind viene confrontato con lo schema del progetto Northwind_Project modificato. I risultati del confronto verranno visualizzati nella finestra Confronto schema. Nella colonna Northwind_Project verrà visualizzata la tabella [dbo].[InternationalShippers].

    Lo stato della nuova tabella è Nuovo, mentre l'azione di aggiornamento è Crea. Se le modifiche vengono propagate in questa fase, la tabella verrà creata nel database di destinazione. Per ulteriori informazioni, vedere la procedura seguente.

Propagare le modifiche dal progetto al database

In questa procedura la nuova tabella InternationalShippers viene propagata al database Northwind. Per ulteriori informazioni, vedere Procedura: sincronizzare gli schemi di database.

Attenzione:

Questa procedura viene descritta a scopi puramente illustrativi. Se si sceglie di eseguire i passaggi di questa procedura, alcune parti del database di esempio Northwind verranno sovrascritte. Utilizzare questa procedura solo se non è necessario mantenere una copia intatta di Northwind. In alternativa, è possibile eseguirla su una copia del database Northwind.

Per propagare le modifiche al database di destinazione

  • Nella finestra Confronto schema fare clic su Scrivi aggiornamenti.

    Verranno eseguite le azioni di aggiornamento elencate nella finestra Confronto schema, tra cui l'azione Crea per la tabella InternationalShippers. Con questa sincronizzazione lo schema del database di destinazione viene modificato affinché corrisponda al progetto di database di 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.

    Attenzione:

    Poiché alcune modifiche allo schema non possono essere sottoposte a transazione, annullando l'operazione di aggiornamento si può verificare una perdita di dati. Ad esempio, è possibile che una tabella del database di destinazione venga eliminata prima che venga nuovamente creata. Se l'aggiornamento viene annullato in questo momento, è possibile che la tabella vada persa. Se si verifica questo tipo di perdita di dati, è consigliabile ripetere il confronto degli schemi.

Vedere anche

Attività

Procedura: confrontare gli schemi di due database

Procedura: confrontare i dati di due database

Concetti

Panoramica sulla terminologia di Database Edition

Altre risorse

Confronto di schemi di database

Confronto di dati di database