Condividi tramite


Procedura dettagliata: creazione di un ambiente di sviluppo isolato

In questa procedura dettagliata viene illustrato come impostare un ambiente di sviluppo isolato in modo che ogni sviluppatore del database possa apportare modifiche ed eseguire test senza influenzare altri membri del team. L'ambiente di sviluppo di database isolato è basato sul progetto di database che contiene le definizioni di tutti gli oggetti che si trovano nel database di produzione. In questa procedura viene creato il progetto, viene importato lo schema di database da un database di produzione e vengono configurate le impostazioni del progetto. Verrà quindi creato un piano di generazione dati. Infine, il progetto di database e tutti i relativi file verranno inseriti nel controllo della versione in modo da essere condivisi con il team.

In questa procedura dettagliata l'utente ricopre un ruolo amministrativo, poiché definisce l'ambiente che verrà utilizzato da ogni sviluppatore del team per le attività di sviluppo. Prima di completare un elemento di lavoro, ogni sviluppatore deve utilizzare il generatore di dati per inserire dati realistici ma fittizi nello schema aggiornato ed eseguire gli unit test del database per verificare che le modifiche apportate allo schema funzionino nel modo previsto. Al completamento degli elementi di lavoro, ogni sviluppatore archivia le modifiche nel controllo delle versioni dove possono essere recuperate dal team. Eseguendo i test prima dell'archiviazione delle modifiche, ogni membro del team riduce al minimo i rischi dell'intero processo.

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

  1. Creazione di un progetto di database tramite la Creazione guidata nuovo progetto di database.

  2. Esecuzione della Creazione guidata nuovo progetto di database per importare lo schema di database, nonché specificare le proprietà del progetto di database e le proprietà di compilazione e di distribuzione.

  3. Analisi dei risultati dell'operazione di importazione.

  4. Aggiunta del progetto al controllo delle versioni.

Prerequisiti

È necessario avere installato Visual Studio e disporre dell'accesso al database di esempio AdventureWorks2008 per SQL Server 2008. Per aggiungere il progetto al controllo della versione, è necessario avere installato un software di controllo della versione, ad esempio Visual Studio Team Foundation Server.

Per informazioni su come installare il database di esempio di AdventureWorks2008, vedere la pagina Esempi di prodotto Microsoft SQL Server (informazioni in lingua inglese) nel sito Web Codeplex.

È anche possibile utilizzare il database AdventureWorks2008R2 di SQL Server 2008 R2. Le differenze vengono indicate in questa procedura dettagliata laddove è necessario eseguire un'azione diversa per AdventureWorks2008R2.

Per creare un progetto di database

  1. Scegliere Nuovo dal menu File, quindi fare clic su Progetto.

    Viene visualizzata la finestra di dialogo Nuovo progetto.

  2. In Modelli installati espandere il nodo Database, quindi fare clic su SQL Server.

    Nota

    Se si utilizza Visual Studio Professional, in Modelli installati espandere il nodo Database e il nodo SQL Server, quindi fare clic su Avanzate.

  3. Nell'elenco dei modelli fare clic su Creazione guidata SQL Server 2008.

  4. In Nome digitare AdvWorksSandbox.

  5. Accettare i valori predefiniti per Percorso e Nome soluzione.

  6. Selezionare la casella di controllo Crea directory per soluzione, se non è già selezionata.

  7. Deselezionare la casella di controllo Aggiungi al controllo del codice sorgente, se non è già deselezionata, e scegliere OK.

    Verrà visualizzata la Creazione guidata nuovo progetto di database.

    A questo punto, è possibile utilizzare la procedura guidata per configurare il progetto di database e importare lo schema del database iniziale.

Per configurare il progetto e importare uno schema di database

  1. Scegliere Avanti dopo avere letto la schermata iniziale.

  2. Verificare che l'opzione Un progetto di database da gestire cambia in un database definito dall'utente sia selezionata.

  3. In File di script SQL verificare che sia selezionata l'opzione Per schema e fare clic su Avanti.

    Nota importanteImportante

    Non è possibile modificare l'organizzazione di un progetto dopo averlo creato.

  4. Nella pagina Imposta opzioni database, in Specificare lo schema predefinito da utilizzare per gli oggetti creati nel progetto di database digitare HumanResources e fare clic su Avanti.

    Nota

    È possibile modificare queste opzioni dopo la creazione del progetto. Per ulteriori informazioni, vedere Procedura: configurare le proprietà di database dei progetti di database.

  5. Nella pagina Importa lo schema del database, selezionare la casella di controllo Importa schema esistente.

  6. Nell'elenco Connessione database di origine fare clic sulla connessione che corrisponde al server e al database AdventureWorks2008 o AdventureWorks2008R2. Se non esiste una connessione, scegliere Nuova connessione per crearla. Se non si specifica una connessione, verrà creato il progetto di database, ma non verrà importato alcuno schema.

    Nota

    È possibile importare uno schema di database in un secondo momento, se il progetto di database non contiene già oggetti di database. Per ulteriori informazioni, vedere Procedura: importare oggetti e impostazioni di database.

  7. Accettare le opzioni predefinite per l'importazione di oggetti e impostazioni e fare clic su Avanti.

  8. In Connessione di destinazione nella pagina Configura la compilazione e la distribuzione fare clic sul pulsante Modifica e specificare una connessione al server database in cui si desidera creare l'ambiente di sviluppo.

  9. In Nome database di destinazione digitare AdvWorksSandbox se non è già specificato.

  10. Nell'elenco Regole di confronto di distribuzione predefinite fare clic su Utilizza regole di confronto del progetto.

    Con questa operazione il motore di distribuzione utilizza le regole di confronto del progetto di database per il confronto del progetto con il database di destinazione.

  11. Selezionare la casella di controllo Blocca distribuzione incrementale se dovesse verificarsi una perdita di dati.

    Poiché l'ambiente di sviluppo isolato conterrà solo dati di test generati, la perdita di dati può non costituire un problema.

  12. Scegliere Fine per creare il progetto di database e importare il database.

    Il progetto di database verrà creato. Questo processo può richiedere alcuni minuti.

  13. Esaminare i risultati di riepilogo e fare clic su Fine.

    Visual Studio continua ad analizzare lo schema di database in background. Nella barra di stato, viene visualizzato un messaggio che indica il numero di operazioni che devono essere completate affinché l'analisi dello schema del database sia completata.

    A questo punto, è possibile esaminare il progetto di database creato.

Per esaminare il progetto risultante

  1. In Esplora soluzioni espandere il nodo AdvWorksSandbox e il nodo figlio Oggetti dello schema.

  2. Esplorare i sottonodi del nodo Oggetti dello schema nella gerarchia.

    In Esplora soluzioni sono contenuti i file che definiscono gli oggetti presenti nello schema del database da cui sono stati importati.

  3. Scegliere Visualizzazione schema database dal menu Visualizza.

  4. Nella finestra Visualizzazione schema espandere il nodo AdvWorksSandbox.

  5. Esplorare i sottonodi del nodo AdvWorksSandbox nella gerarchia.

    Nella finestra Visualizzazione schema sono contenuti gli oggetti definiti nei file visualizzati in Esplora soluzioni.

  6. In Esplora soluzioni fare clic sul nodo AdvWorksSandbox.

  7. Scegliere Proprietà AdvWorksSandbox dal menu Progetto.

  8. Nella pagina delle proprietà fare clic sulla scheda Distribuisci.

    Nota

    Qualsiasi impostazione di distribuzione modificata durante la configurazione di Impostazioni progetto viene salvata nel file di progetto (con estensione dbproj) e viene verificata nel controllo del codice sorgente. In una procedura dettagliata successiva verranno configurate le impostazioni per un ambiente di un sviluppo specifico.

  9. In Nome database di destinazione digitare AdvWorksSandbox se non è già specificato.

  10. Scegliere Salva elementi selezionati dal menu File.

    Ogni sviluppatore specificherà la stringa di connessione al server database in cui desidera ospitare la propria copia del database.

Per distribuire il progetto nell'ambiente di sviluppo isolato

  1. In Esplora soluzioni fare clic sul nodo AdvWorksSandbox.

  2. Se si intende distribuire il progetto nello stesso server database che esegue il database AdventureWorks2008 o AdventureWorks2008R2 originale, è necessario cambiare un nome di file per evitare conflitti. Se la distribuzione verrà invece eseguita in un server in cui non è contenuto il database AdventureWorks2008 o AdventureWorks2008R2 originale, è possibile andare al passaggio 7.

  3. Espandere le cartelle Oggetti dello schema, Database Level Objects, Archiviazione e quindi File.

    Verranno visualizzati tre file: AdventureWorks2008_Data.sqlfile.sql, AdventureWorks2008_Log.sqlfile.sql e FileStreamDocuments.sqlfile.sql. Se si utilizza SQL Server 2008 R2, verranno visualizzati questi file: AdventureWorks2008R2_Data.sqlfile.sql, AdventureWorks2008R2_Log.sqlfile.sql e FileStreamDocuments2008R2.sqlfile.sql.

    Nota

    Le versioni precedenti di AdventureWorks non utilizzano FILESTREAM. Se si importa una versione precedente di AdventureWorks, è possibile procedere al passaggio 7.

  4. Fare doppio clic su FileStreamDocuments.sqlfile.sql.

    Il file verrà aperto nell'editor Transact-SQL.

  5. Modificare la definizione del file affinché corrisponda a quanto segue:

    ALTER DATABASE [$(DatabaseName)]
        ADD FILE (NAME = [FileStreamDocuments], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [DocumentFileStreamGroup];
    

    Se si utilizza AdventureWorks2008R2, è consigliabile utilizzare invece la definizione seguente:

    ALTER DATABASE [$(DatabaseName)]
        ADD FILE (NAME = [FileStreamDocuments2008R2], FILENAME = '$(DefaultDataPath)SandboxDocuments') TO FILEGROUP [Document2008R2FileStreamGroup];
    
  6. Scegliere Salva tutto dal menu File.

  7. Scegliere Proprietà AdvWorksSandbox dal menu Progetto.

    Verrà visualizzata la finestra delle proprietà del progetto.

  8. Fare clic sulla scheda Distribuisci.

  9. Nell'elenco Azione di distribuzione fare clic su Crea uno script di distribuzione (.sql) e distribuisci nel database.

    Nota importanteImportante

    Se non si modifica l'azione di distribuzione, verrà generato solo lo script di distribuzione e nulla verrà distribuito nel database di destinazione.

  10. Scegliere Distribuisci AdvWorksSandbox dal menu Compila.

    Uno script di compilazione verrà generato per il progetto di database e successivamente distribuito nel server database in cui si è deciso di ospitare l'ambiente di sviluppo isolato. Al termine della distribuzione, nella finestra Output verrà visualizzato il messaggio Distribuzione completata.

    È stato definito un progetto di database ed è stato importato lo schema da un database di produzione. è possibile inserire la soluzione nel sistema di controllo delle versioni per renderla disponibile per il team.

Rendere il progetto disponibile al team

Per aggiungere il progetto al controllo delle versioni

  1. In Esplora soluzioni fare clic sul nodo AdvWorksSandbox.

  2. Scegliere Controllo del codice sorgente dal menu File e quindi Aggiungi soluzione a controllo del codice sorgente.

    A questo punto, è possibile interagire con il software di controllo delle versioni installato. In questa procedura dettagliata viene illustrato come aggiungere il progetto a Team Foundation Server. Se si desidera utilizzare un altro software di controllo delle versioni, sostituire i passaggi equivalenti. Se si utilizza Team Foundation Server, verrà visualizzata la finestra di dialogo Connetti a Team Foundation Server.

  3. In Connetti a Team Foundation Server scegliere il server in cui si trova il progetto Team al quale si desidera aggiungere la soluzione.

    Nota

    Se non si dispone di un progetto Team al quale aggiungere il progetto di database, vedere Pianificazione e rilevamento di progetti.

  4. In Progetti Team scegliere il progetto Team al quale si desidera aggiungere il progetto di database e quindi OK.

    Verrà visualizzata la finestra di dialogo Aggiungi soluzione AdvWorksSandbox al controllo del codice sorgente.

  5. Scegliere OK per accettare i valori predefiniti.

    Il progetto di database e i file in esso contenuti verranno sottoposti al controllo delle versioni. Inizialmente sono ancora estratti. È necessario archiviarli per consentire l'accesso ad altri membri del team.

  6. Scegliere Altre finestre dal menu Visualizza e quindi Modifiche in sospeso.

    Verrà visualizzata la finestra Modifiche in sospeso.

  7. Nel campo Commenti digitare Creazione di progetto di database iniziale, importazione schema e generazione dati.

  8. Nella finestra Modifiche in sospeso scegliere Archivia sulla barra degli strumenti.

    Durante l'archiviazione del progetto di database e dei relativi file viene visualizzata la finestra di dialogo Stato archiviazione. Le icone in Esplora soluzioni vengono aggiornate per indicare che i file sono archiviati nel controllo delle versioni.

Passaggi successivi

Il passaggio successivo all'archiviazione del progetto di database nel controllo delle versioni consiste nel definire alcune misure di controllo della qualità prima che il team inizi ad apportare modifiche. Nella successiva procedura dettagliata introduttiva, Procedura dettagliata: creazione di una linea di base per l'ambiente di sviluppo isolato, viene illustrato come creare unit test e come compilarli, distribuirli ed eseguirli nell'ambiente di sviluppo isolato.

Vedere anche

Attività

Procedura: Creare progetti di database e server

Concetti

Avvio dello sviluppo in team di database

Cenni preliminari sui processi di compilazione e distribuzione di database

Panoramica delle impostazioni del progetto di database

Cronologia delle modifiche

Data

Cronologia

Motivo

Aggiunto supporto per SQL Server 2008 R2 e AdventureWorks2008R2.

Modifica di funzionalità in SP1.