Procedura: distribuire modifiche in un database nuovo o esistente
Aggiornamento: novembre 2007
Dopo avere apportato modifiche al progetto di database, è necessario distribuirle nel server di database eseguendo uno script di generazione. Quando si genera lo script di generazione, lo schema del progetto di database viene confrontato al database di destinazione specificato nelle proprietà del progetto. Se il database di destinazione esiste, viene creato uno script di aggiornamento, a meno che non si sia scelto di ricreare sempre il database. Se il database di destinazione non esiste o si è scelto di ricreare sempre il database, lo script di generazione crea un database. Se sono state apportate modifiche al progetto di database o alle relative proprietà o contenuto dall'ultima distribuzione o generazione, verrà generato uno script di generazione aggiornato alla successiva distribuzione del progetto.
Nota importante: |
---|
Prima di generare o distribuire il progetto di database, è necessario impostarne le proprietà per specificare il nome del database e la connessione al database di destinazione. Se il progetto di database è stato generato utilizzando la Creazione guidata nuovo progetto di database, è possibile che le proprietà del progetto siano già state specificate. È possibile modificare in qualsiasi momento le proprietà del progetto. Per ulteriori informazioni, vedere Procedura: configurare i progetti di database per la generazione e la distribuzione. |
Per distribuire il progetto di database in un database nuovo o esistente
In Esplora soluzioni fare clic sul progetto di database che si desidera distribuire.
Se è stata creata una configurazione personalizzata, è possibile selezionarla per l'utilizzo facendo clic sul relativo nome nell'elenco Configurazioni soluzione sulla barra degli strumenti Standard. Per impostazione predefinita, è disponibile una sola configurazione per il progetto di database, già selezionata.
Scegliere Distribuisci dal menu Genera.
Verrà generato, e quindi distribuito, lo script di generazione per il progetto di database, se non esiste o se non è aggiornato. Nella finestra Output vengono visualizzati i risultati della distribuzione nel formato seguente:
------ Inizio distribuzione: ProgettoDatabase, Configurazione: Default Any CPU ------
Generazione dello script di distribuzione per NomeDatabaseDestinazione : EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss
ProgettoDatabase --> file:///UnitàProgetto:/Documents%20and%20Settings/NomeUtente/%20Documenti/Visual%20Studio%202005/Projects/NomeSoluzione/ProgettoDatabase/sql/ProgettoDatabase.NomeServerDestinazione_NomeIstanzaDestinazione.NomeDatabaseDestinazione.sql
------ Inizio distribuzione: Progetto ProgettoDatabase, Configurazione: Default Any CPU ------
Distribuzione dello script UnitàProgetto:\Documents and Settings\NomeUtente\Documenti\Visual Studio 2005\Projects\NomeSoluzione\ProgettoDatabase\sql\ProgettoDatabase.NomeServerDestinazione_NomeIstanzaDestinazione.NomeDatabaseDestinazione.sql nel server NomeServerDestinazione\NomeIstanzaDestinazione
file:///UnitàProgetto:/Documents%20and%20Settings/NomeUtente/%20Documenti/Visual%20Studio%202005/Projects/NomeSoluzione/ProgettoDatabase/sql/ProgettoDatabase.NomeServerDestinazione_NomeIstanzaDestinazione.NomeDatabaseDestinazione.sql --> Server:"NomeServerDestinazione\NomeIstanzaDestinazione", Database:"NomeDatabaseDestinazione"
========== Generazione: 1 completate o aggiornate, 0 non riuscite, 0 ignorate ==========
========== Distribuzione: 1 completate o aggiornate, 0 non riuscite, 0 ignorate ==========
Per distribuire il progetto di database in un database nuovo o esistente dalla riga di comando
Aprire una finestra Prompt dei comandi.
Selezionare la directory del progetto.
Al prompt dei comandi digitare la riga di comando di esempio seguente per generare uno script di generazione in cui ProgettoDatabase è il nome del progetto:
MSBuild /t:Build ProgettoDatabase.dbproj
Nota: MSBuild.exe deve trovarsi nel percorso specificato dalla variabile di ambiente PATH. È inoltre necessario specificare il database di destinazione e la stringa di connessione di destinazione nel progetto di database o nella riga di comando. Per ulteriori informazioni sulla sintassi della riga di comando per la generazione di script di generazione, vedere Cenni preliminari sui processi di generazione e distribuzione di database.
Vengono visualizzati i risultati nel formato seguente:
Microsoft (R) Build Engine Version 3.5.20418.0
[Microsoft .NET Framework, Version 2.0.50727.1318]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 5/3/2007 2:27:39 PM.
__________________________________________________
Project "ProjectDrive:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\ProgettoDatabase\ProgettoDatabase.dbproj" (Build target(s)):
Target SqlBuild:
Building deployment script for NomeDatabaseDestinazione : EnableFullTextSearch, BlockIncrementalDeploymentIfDataLoss
. ProgettoDatabase --> file:///UnitàProgetto:/Documents%20and%20Settings/UserName/My%20Documen
ts/Visual%20Studio%202005/Projects/SolutionName/ProgettoDatabase/sql/ProgettoDatabase.NomeServerDestinazione_NomeIstanzaDestinazione.NomeDatabaseDestinazione.sql
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:05.01
Al prompt dei comandi digitare la riga di comando di esempio seguente per distribuire lo script di generazione creato nel passaggio 3:
MSBuild /t:Deploy ProgettoDatabase.dbproj
Verrannoo visualizzat risultati analoghi al seguente:
Microsoft (R) Build Engine Version 3.5.20418.0
[Microsoft .NET Framework, Version 2.0.50727.1318]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 5/3/2007 2:27:39 PM.
__________________________________________________
Project "ProjectDrive:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\ProgettoDatabase\ProgettoDatabase.dbproj" (Deploy target(s)):
Target SqlDeploy:
Deploying script UnitàProgetto:\Documents and Settings\UserName\My Documents\Visual Studio 2005\Projects\SolutionName\ProgettoDatabase\sql\ProgettoDatabase.NomeServerDestinazione_NomeIstanzaDestinazione.NomeDatabaseDestinazione.sql to server NomeServerDestinazione\NomeIstanzaDestinazione
file:///UnitàProgetto:/Documents%20and%20Settings/UserName/My%20Documents/Visual%20Studio%202005/Projects/SolutionName/ProgettoDatabase/sql/ProgettoDatabase.NomeServerDestinazione_NomeIstanzaDestinazione.NomeDatabaseDestinazione.sql --> Server:"NomeServerDestinazione\NomeIstanzaDestinazione", Database:"NomeDatabaseDestinazione"
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:02.56
Distribuzione in più database o server
È possibile distribuire lo schema in più database o server. Se la distribuzione viene eseguita in un numero ridotto di server o database che non subiscono modifiche (ad esempio, nel server di sviluppo personale e in un server di gestione temporanea), è possibile creare più configurazioni di generazione. Ogni configurazione di generazione può avere un server o un database di destinazione diverso. Se è necessario eseguire la distribuzione in un numero maggiore di server o se i nomi del server o del database di destinazione vengono modificati regolarmente, è necessario adottare un approccio diverso. Di seguito vendono descritti i possibili approcci.
Per creare più configurazioni di generazione ed eseguire la distribuzione in più server o database
Aprire il progetto di database in Visual Studio Team System Database Edition.
Scegliere Gestione configurazione dal menu Genera.
Verrà visualizzata la finestra di dialogo Gestione configurazione.
Nell'elenco Configurazione soluzione attiva fare clic su <Nuova>.
Verrà visualizzata la finestra di dialogo Nuova configurazione soluzione.
In Nome digitare il nome della prima configurazione server.
Se nella configurazione predefinita sono già state configurate proprietà di progetto, fare clic su Predefinito nell'elenco Copia impostazioni da.
Scegliere OK.
Nella casella di riepilogo Configurazione soluzione attiva fare clic su <Nuova>.
Verrà visualizzata la finestra di dialogo Nuova configurazione soluzione.
In Nome digitare il nome della seconda configurazione server.
Se nella configurazione predefinita sono già state configurate proprietà di progetto, fare clic su Predefinito nell'elenco Copia impostazioni da.
Fare clic su Chiudi.
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto di database e quindi scegliere Proprietà.
Fare clic sulla scheda Generazione.
In Configurazione fare clic sul nome della prima configurazione server.
Modificare la connessione di destinazione e il nome del database in modo che corrispondano alla prima configurazione server.
In Configurazione fare clic sul nome della seconda configurazione server.
Modificare la connessione di destinazione e il nome del database in modo che corrispondano alla seconda configurazione server.
Scegliere Salva elementi selezionati dal menu File per salvare le impostazioni di configurazione.
A questo punto è possibile specificare una configurazione sulla barra degli strumenti Standard e quindi generare o distribuire tale configurazione.
Per eseguire la distribuzione nei database dalla riga di comando
Nella finestra del prompt dei comandi distribuire lo script di generazione digitando la riga di comando seguente. Sostituire il nome dello script di generazione, il nome del server e il nome del database di destinazione con i valori appropriati.
MSBuild /t:Deploy /p:TargetDatabase=NomeDatabaseDestinazione /p:BuildScriptName=ScriptCompilazione.sql NomeProgettoDatabase.dbproj
Nota: Per eseguire la distribuzione in più server, è necessario eseguire l'override della proprietà della stringa di connessione di destinazione specificando quanto segue nella finestra del prompt dei comandi /p:TargetConnectionString="Data Source=NomeServer;Integrated Security=True;Pooling=False".
Sicurezza
È necessario disporre delle autorizzazioni necessarie per creare il database (per nuove distribuzioni) e creare, modificare ed eliminare gli oggetti dello schema in quel database per distribuire il progetto di database.
Vedere anche
Attività
Procedura: preparare script di generazione database
Concetti
Cenni preliminari sui processi di generazione e distribuzione di database
Panoramica delle impostazioni del progetto di database
Panoramica sulla terminologia di Database Edition
Altre risorse
Procedure dettagliate (creazione e aggiornamento di schemi di database con controllo delle versioni)