Panoramica degli script pre-distribuzione e post-distribuzione
Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure
Gli script pre-distribuzione e post-distribuzione sono script SQL inclusi nel progetto da eseguire durante la distribuzione. Gli script di pre-distribuzione e post-distribuzione vengono inclusi in .dacpac
ma non vengono compilati o convalidati con il modello a oggetti del database. Uno script di pre-distribuzione viene eseguito prima dell'esecuzione del piano di distribuzione, ma il piano di distribuzione viene calcolato prima dell'esecuzione dello script. Dopo il completamento del piano di distribuzione viene eseguito uno script post-distribuzione.
Esempio e sintassi del file di progetto SQL
Un file di progetto SQL può avere un singolo script di pre-distribuzione e un singolo script di post-distribuzione specificato.
L'esempio seguente da un file di progetto SQL aggiunge il file prep-db.sql
come script pre-distribuzione.
...
<ItemGroup>
<PreDeploy Include="prep-db.sql" />
</ItemGroup>
L'esempio seguente da un file di progetto SQL aggiunge il file populate-app-settings.sql
come script post-distribuzione.
...
<ItemGroup>
<PostDeploy Include="populate-app-settings.sql" />
</ItemGroup>
</Project>
È possibile eseguire più file come parte di uno script di pre-distribuzione o post-distribuzione usando uno script SQLCMD che chiama ogni file in ordine.
:r .\scripts\script1.sql
:r .\scripts\script2.sql
Tali file devono essere esclusi dalla compilazione del modello di database impostando la proprietà Build Action
su None
nelle proprietà del file in Visual Studio o aggiungendo una voce per il file nel file .sqlproj
con l'attributo Build
impostato su None
.
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
</ItemGroup>
</Project>
Aggiungere script pre-distribuzione e post-distribuzione
In Esplora soluzioni fare clic con il pulsante destro del mouse sul progetto e selezionare Aggiungi>Script. Selezionare Script pre-distribuzione o Script post-distribuzione.
Il file di script viene aggiunto al progetto e aperto nell'editor di query, in cui è possibile completare lo script. Questo script verrà eseguito prima o dopo l'esecuzione del piano di distribuzione ogni volta che il progetto viene implementato.
In Esplora soluzioni, fare clic con il pulsante destro del mouse sul nodo del progetto e quindi scegliere Aggiungi, quindi Nuovo elemento. Viene visualizzata la finestra di dialogo Aggiungi nuovo elemento, selezionare Mostra tutti i modelli. e quindi Tabella. Selezionare Script pre-distribuzione o Script post-distribuzione.
Il file di script viene aggiunto al progetto e aperto nell'editor di query, in cui è possibile completare lo script. Questo script verrà eseguito prima o dopo l'esecuzione del piano di distribuzione ogni volta che il progetto viene implementato.
Nella vista Progetti di database di VS Code o Azure Data Studio fare clic con il pulsante destro del mouse sul progetto e selezionare Aggiungi script di pre-distribuzione o Aggiungi script di post-distribuzione. Specificare un nome dello script senza l'estensione del file.
Il file di script viene aggiunto al progetto e aperto nell'editor di query, in cui è possibile completare lo script. Questo script verrà eseguito prima o dopo l'esecuzione del piano di distribuzione ogni volta che il progetto viene implementato.
Modificare il file .sqlproj
direttamente per aggiungere script di pre-distribuzione o post-distribuzione. Aggiungere un articolo <PreDeploy>
o <PostDeploy>
alla sezione <ItemGroup>
del file .sqlproj
.
Ad esempio, per aggiungere lo script scripts\before-script.sql
al progetto come script di pre-distribuzione:
...
<ItemGroup>
<PreDeploy Include="scripts\before-script.sql" />
</ItemGroup>
Questo script scripts\before-script.sql
viene eseguito prima dell'esecuzione del piano di distribuzione ogni volta che il progetto viene implementato.