Delen via


Overzicht van scripts vóór en na de implementatie

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

Scripts vóór en na de implementatie zijn SQL-scripts die zijn opgenomen in het project dat tijdens de implementatie moet worden uitgevoerd. Scripts vóór/na de implementatie zijn opgenomen in de .dacpac scripts, maar worden niet gecompileerd of gevalideerd met het databaseobjectmodel. Een pre-implementatiescript wordt uitgevoerd voordat het implementatieplan wordt uitgevoerd, maar het implementatieplan wordt berekend voordat het script wordt uitgevoerd. Er wordt een script na de implementatie uitgevoerd nadat het implementatieplan is voltooid.

Voorbeeld van SQL-projectbestand en syntaxis

Een SQL-projectbestand kan één script vóór de implementatie en één script na de implementatie hebben opgegeven.

In het volgende voorbeeld uit een SQL-projectbestand wordt het bestand prep-db.sql toegevoegd als een script vóór de implementatie.

...
  <ItemGroup>
    <PreDeploy Include="prep-db.sql" />
  </ItemGroup>

In het volgende voorbeeld uit een SQL-projectbestand wordt het bestand populate-app-settings.sql toegevoegd als script na de implementatie.

...
  <ItemGroup>
    <PostDeploy Include="populate-app-settings.sql" />
  </ItemGroup>
</Project>

Meerdere bestanden kunnen worden uitgevoerd als onderdeel van een pre- of post-implementatiescript met behulp van een SQLCMD-script dat elk bestand op volgorde aanroept.

:r .\scripts\script1.sql
:r .\scripts\script2.sql

Deze bestanden moeten worden uitgesloten van de databasemodel build door in Visual Studio de Build Action eigenschap in de bestandseigenschappen in te stellen op Remove of door een vermelding voor het bestand toe te voegen in het .sqlproj bestand, waarbij het Build kenmerk is ingesteld op Remove. When the SQL project is built, the additional files are combined into their referencing pre-deployment or post-deployment script in the .dacpac by the Microsoft.Build.Sql project SDK.

...
  <ItemGroup>
    <Build Remove="scripts\script1.sql" />
    <Build Remove="scripts\script2.sql" />
  </ItemGroup>
</Project>

Hint

You can validate the pre-deployment and post-deployment scripts after project build, by changing the .dacpac file extension to .zip and unarchiving the .zip to a folder. A single .sql file is present for pre-deployment and post-deployment scripts, and should contain the entire Transact-SQL contents of all referenced files in the originating SQL project.

Scripts vóór en na de implementatie toevoegen

Klik in Solution Explorer met de rechtermuisknop op het project en selecteer Script toevoegen>. Select Pre-Deployment Script or Post-Deployment Script.

Het scriptbestand wordt toegevoegd aan het project en geopend in de query-editor, waar u het script kunt voltooien. Dit script wordt uitgevoerd voor of nadat het implementatieplan wordt uitgevoerd telkens wanneer het project wordt geïmplementeerd.

Klik in Solution Explorer-met de rechtermuisknop op het projectknooppunt en selecteer toevoegen en nieuw item. Het dialoogvenster Nieuw item toevoegen wordt weergegeven en selecteer Alle sjablonen weergeven. en vervolgens Table. Select Pre-Deployment Script or Post-Deployment Script.

Het scriptbestand wordt toegevoegd aan het project en geopend in de query-editor, waar u het script kunt voltooien. Dit script wordt uitgevoerd voor of nadat het implementatieplan wordt uitgevoerd telkens wanneer het project wordt geïmplementeerd.

Klik in de weergave Databaseprojecten van VS Code of Azure Data Studio met de rechtermuisknop op het project en selecteer Pre-Deployment Script toevoegen of Script na implementatie toevoegen. Geef een scriptnaam op zonder de bestandsextensie.

Het scriptbestand wordt toegevoegd aan het project en geopend in de query-editor, waar u het script kunt voltooien. Dit script wordt uitgevoerd voor of nadat het implementatieplan wordt uitgevoerd telkens wanneer het project wordt geïmplementeerd.

Bewerk het .sqlproj bestand rechtstreeks om pre- of post-implementatiescripts toe te voegen. Voeg een <PreDeploy> of <PostDeploy> item toe aan de <ItemGroup> sectie van het .sqlproj bestand.

Als u bijvoorbeeld het script scripts\before-script.sql als een pre-implementatiescript aan ons project wilt toevoegen:

...
  <ItemGroup>
    <PreDeploy Include="scripts\before-script.sql" />
  </ItemGroup>

Dit script scripts\before-script.sql wordt uitgevoerd voordat het implementatieplan wordt uitgevoerd telkens wanneer het project wordt geïmplementeerd.