Condividi tramite


Procedura dettagliata: confronto dei dati di due database

Le informazioni contenute in questo argomento sono valide per:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

Argomento applicabile Argomento applicabile Argomento non applicabile Argomento non applicabile

In questa procedura dettagliata vengono confrontati i dati di due database, viene generato uno script Data Manipulation Language (DML) dalle differenze, quindi tale script viene utilizzato per popolare la destinazione con i dati dell'origine.

Verranno eseguite le operazioni di questa procedura dettagliata:

  • Aggiungere dati al database di origine. In questa procedura, viene utilizzato l'editor Transact-SQL per aggiungere dati alla tabella dei clienti nel database di origine.

  • Confrontare i dati di due database. In questa procedura vengono rilevate le differenze nei dati, tali differenze vengono visualizzate in una griglia e viene generato uno script DML che consente di esprimerle.

  • Aggiornare il database di destinazione. In questa procedura vengono illustrati due modi per aggiornare la destinazione in modo che corrisponda all'origine.

Prerequisiti

Prima di completare questa procedura dettagliata, è necessario poter accedere ai seguenti prodotti:

  • SQL Server 2008

  • Visual Studio Premium oppure Visual Studio Ultimate

Prima di iniziare questa procedura dettagliata, è necessario attenersi alle procedure descritte in Procedura dettagliata: confronto degli schemi di due database. Dopo il completamento della procedura dettagliata, saranno disponibili due database:

  • Viene mantenuta la struttura originale dell'origine CompareProjectDB, ma in essa non sono contenuti dati. Il progetto viene personalizzato per inserire dati nel database come parte integrante dello script post-distribuzione.

  • La destinazione, EmptyDB, è il database creato durante la procedura dettagliata del confronto dello schema. Successivamente, è stato applicato solo lo schema del database AdventureWorks2008 a EmptyDB, pertanto, in quest'ultimo non sono contenuti dati.

È necessario disporre delle autorizzazioni per leggere i dati dai database di origine e di destinazione.

Aggiungere dati al database di origine

Per utilizzare l'editor Transact-SQL per aggiungere dati al database di origine

  1. Scegliere Editor Transact-SQL dal menu Dati, quindi Nuova connessione query.

  2. Specificare una connessione al server in cui si trova CompareProjectDB.

  3. Digitare le istruzioni Transact-SQL seguenti nell'editor Transact-SQL:

    use CompareProjectDB;
    go
    delete from [Sales].[Customer];
    go
    exec [Sales].[uspNewCustomer] 'Ken J. Sánchez'
    exec [Sales].[uspNewCustomer] 'Terri Lee Duffy'
    exec [Sales].[uspNewCustomer] 'Roberto Tamburello'
    exec [Sales].[uspNewCustomer] 'Rob Walters'
    exec [Sales].[uspNewCustomer] 'Gail Erickson'
    exec [Sales].[uspNewCustomer] 'Jossef Goldberg'
    exec [Sales].[uspNewCustomer] 'Dylan Miller'
    exec [Sales].[uspNewCustomer] 'Diane Margheim'
    exec [Sales].[uspNewCustomer] 'Gigi Matthew'
    go
    
  4. Dalla barra degli strumenti Editor Transact-SQL scegliere Esegui SQL.

    Le istruzioni Transact-SQL consentono di rimuovere tutti i dati esistenti dalla tabella [Sales].[Customer], quindi di utilizzare la stored procedure [Sales].[uspNewCustomer] per aggiungere nove clienti. Ora che nel database di origine sono presenti dei dati, è possibile confrontarlo con il database di destinazione.

Confronto dei dati di due database

Per confrontare i dati di due database

  1. Scegliere Confronto dati dal menu Dati e quindi Nuovo confronto dati.

    Verrà visualizzata la procedura guidata Nuovo confronto dati. Verrà inoltre aperta in background la finestra Confronto dati alla quale Visual Studio assegna automaticamente un nome, ad esempio DataCompare1.

  2. Nell'elenco Database di origine fare clic sulla connessione al database CompareProjectDB.

    Se l'elenco Database di origine è vuoto, scegliere Nuova connessione. Nella finestra di dialogo Proprietà connessione identificare il server in cui risiede il database CompareProjectDB e il tipo di autenticazione da utilizzare per la connessione al database. Scegliere OK per chiudere la finestra di dialogo Proprietà connessione e tornare alla procedura guidata Nuovo confronto dati.

  3. Nell'elenco Database di destinazione fare clic su Server.EmptyDB.dbo.

    Se l'elenco Database di destinazione è vuoto, scegliere Nuova connessione. Nella finestra di dialogo Proprietà connessione identificare il server in cui risiede il database EmptyDB e il tipo di autenticazione da utilizzare per la connessione al database. Scegliere OK per chiudere la finestra di dialogo Proprietà connessione e tornare alla procedura guidata Nuovo confronto dati.

    Se si desidera limitare i record visualizzati nei risultati del confronto, specificare Opzioni di confronto dati. Ai fini di questa procedura dettagliata, accettare le impostazioni predefinite per visualizzare tutti i record.

  4. Scegliere Avanti.

    Nella seconda pagina della procedura guidata Nuovo confronto dati è possibile ridefinire una selezione di tabelle e visualizzazioni da confrontare. Tutte le tabelle del database sono elencate nel nodo Tabelle. È possibile espandere le singole tabelle per visualizzare le colonne in esse contenute. Per impostazione predefinita, vengono visualizzate e confrontate tutte le tabelle e le colonne. La chiave utilizzata per confrontare i record viene visualizzata per ogni tabella o visualizzazione dell'elenco. Le tabelle e le visualizzazioni devono soddisfare alcuni criteri da confrontare. Per ulteriori informazioni, vedere Confrontare e sincronizzare i dati in una o più tabelle e i dati di un database di riferimento.

    Nota

    Se non si desidera personalizzare le tabelle e le visualizzazioni da confrontare, scegliere Fine anziché Avanti.

  5. Scegliere Fine per avviare il confronto.

    Verrà avviato il confronto.

    Nota

    È possibile interrompere un confronto dei dati in corso facendo clic su Interrompi sulla barra degli strumenti Confronto dati.

    Al termine del confronto, le differenze dei dati tra i due database verranno visualizzate in una tabella nella finestra Confronto dati. Per ulteriori informazioni su come visualizzare questi risultati, vedere la procedura seguente.

    A questo punto, è possibile aggiornare i dati nella destinazione affinché corrispondano a quelli dell'origine. Per ulteriori informazioni, vedere Aggiornamento del database di destinazione.

Per visualizzare i risultati del confronto dei dati

  1. Scegliere la riga [Sales].[Customer].

    Nel riquadro di visualizzazione dei record, i nomi delle schede vengono modificati per riflettere il numero di record di ogni tipo: Record diversi (0), Solo nell'origine (9), Solo nella destinazione (0) e Record identici (0).

  2. Fare clic sulla scheda Solo nell'origine (9).

    Nella scheda Solo nell'origine (9), ogni riga e ogni colonna corrispondono a una riga o a una colonna della tabella [Sales].[Customer].

    Nota

    È possibile utilizzare queste schede per controllare i dati propagati alla destinazione.

Aggiornare la destinazione

È possibile aggiornare i dati nella destinazione direttamente dalla finestra Confronto dati o utilizzando l'editor Transact-SQL. In questa sezione vengono descritte entrambe le opzioni.

Dopo il confronto dei dati, le differenze verranno visualizzate nella griglia della finestra Confronto dati. Per ogni tabella o visualizzazione nella colonna Oggetto, una casella di controllo indica se l'oggetto verrà incluso in un'operazione di aggiornamento. Nelle colonne viene mostrato quali tipi di modifiche sono indicate dal confronto dei dati. In questo caso, solo nella colonna Solo nell'origine vengono mostrate le modifiche che verranno apportate, poiché la destinazione è vuota a eccezione degli oggetti predefiniti.

Scrivere aggiornamenti utilizzando le opzioni di confronto dei dati

Per aggiornare i dati nella destinazione utilizzando le azioni di aggiornamento visualizzate nella finestra Confronto dati, attenersi alla procedura seguente:

  • Aggiornare il database di destinazione

Scrivere aggiornamenti utilizzando l'editor Transact-SQL

Per esportare, esaminare e modificare uno script di aggiornamento e utilizzarlo per modificare la destinazione, attenersi alla procedura seguente:

  • Esaminare ed eseguire lo script di sincronizzazione

Aggiornare il database di destinazione

Per aggiornare la destinazione

  1. Dalla finestra Confronto dati scegliere [Sales].[Customer].

  2. Nel riquadro dettagli scegliere Solo nell'origine.

    Le prime due righe sono per i clienti denominati Ken J. Sánchez e Terri Lee Duffy.

    Sulla barra di stato del riquadro dettagli viene indicato il numero di record mancanti nell'origine e il numero di record eliminati nella destinazione. I due numeri corrispondono.

  3. Deselezionare la casella di controllo nella riga Terri Lee Duffy.

    Sulla barra di stato del riquadro dettagli, il numero di record da inserire è stato diminuito di un record e non corrisponde più al numero di record mancanti nella destinazione.

  4. Nella finestra Confronto dati scegliere Scrivi aggiornamenti.

    Verranno implementate le azioni di aggiornamento elencate nella finestra Confronto dati. Con questa sincronizzazione, la destinazione verrà modificata in modo che corrisponda all'origine.

    Nota

    Durante l'aggiornamento della destinazione, è possibile annullare l'operazione scegliendo Interrompi scrittura sulla destinazione.

Esaminare ed eseguire lo script di sincronizzazione

Per esaminare lo script di sincronizzazione

  1. Dalla barra degli strumenti Confronto dati scegliere Esporta nell'editor.

    L'editor Transact-SQL viene aperto in una modalità connessa, con lo script Transact-SQL visualizzato. Il nome di questa finestra può essere, ad esempio, DataUpdate_EmptyDB_1.sql. Poiché si dispone di accesso in scrittura a questa finestra, è possibile modificare lo script. Se si desidera salvare lo script di aggiornamento, fare clic su Salva.

  2. Per sincronizzare i dati dei due database, eseguire lo script scegliendo Esegui SQL o premendo F5.

    Nota

    Durante l'esecuzione dello script, è possibile annullare l'operazione scegliendo Annulla esecuzione query o premendo ALT+INTERR.

Vedere anche

Attività

Procedura: confrontare gli schemi di database

Procedura: confrontare e sincronizzare i dati di due database

Concetti

Confrontare e sincronizzare gli schemi di database