Condividi tramite


Panoramica degli script pre-distribuzione e post-distribuzione

Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure database SQL in Microsoft Fabric

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.