Sdílet prostřednictvím


Přehled skriptů před nasazením a po nasazení

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Skripty před nasazením a po nasazení jsou skripty SQL, které jsou součástí projektu, které se mají spustit během nasazení. Skripty před nasazením jsou součástí .dacpac , ale nejsou zkompilovány ani ověřeny pomocí modelu databázového objektu. Skript před nasazením se spustí před spuštěním plánu nasazení, ale plán nasazení se vypočítá před spuštěním skriptu. Po dokončení plánu nasazení se spustí skript po nasazení.

Ukázka a syntaxe souboru projektu SQL

Soubor projektu SQL může mít jeden skript před nasazením a zadaný jeden skript po nasazení.

Následující příklad ze souboru projektu SQL přidá soubor prep-db.sql jako skript před nasazením.

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

Následující příklad ze souboru projektu SQL přidá soubor populate-app-settings.sql jako skript po nasazení.

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

Více souborů lze spustit jako součást skriptu před nasazením nebo po nasazení pomocí skriptu SQLCMD, který volá jednotlivé soubory v daném pořadí.

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

Tyto soubory by měly být vyloučeny z sestavení modelu databáze nastavením Build Action vlastnosti Remove souboru ve vlastnostech souboru v sadě Visual Studio nebo přidáním položky pro soubor v .sqlproj souboru s atributem nastaveným Build na Remove. Při sestavení projektu SQL se dodatečné soubory zkombinují do odkazů na skript před nasazením nebo po nasazení v .dacpac sadě Microsoft.Build.Sql SDK projektu.

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

V projektech SQL ve stylu sady SDK přidání Build Remove="path\file.sql" položky úplně odebere soubor z projektu, což způsobí, že se už nebude zobrazovat v zobrazení projektu editoru Visual Studio Code. Pokud chcete zachovat, aby byl soubor viditelný, i když ho ještě nevyloučíte z kompilace modelu, přidejte ho znovu jako None položku:

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

Tím zabráníte kompilaci souboru v rámci modelu databáze a zároveň ho zachováte v projektu jako viditelný.

Tip

Skripty před nasazením a po nasazení můžete po sestavení projektu ověřit tak, že změníte příponu souboru .dacpac na .zip a rozbalíte .zip do složky. Jeden .sql soubor je k dispozici pro skripty před nasazením a po nasazení a měl by obsahovat celý Transact-SQL obsah všech odkazovaných souborů v původním projektu SQL.

Přidání skriptů před nasazením a po nasazení

V Průzkumníku řešení klikněte pravým tlačítkem myši na projekt a vyberte Přidat>skript. Vyberte skript před nasazením nebo skript po nasazení.

Soubor skriptu se přidá do projektu a otevře se v editoru dotazů, kde můžete skript dokončit. Tento skript se spustí před nebo po spuštění plánu nasazení při každém nasazení projektu.

V Průzkumníku řešení klikněte pravým tlačítkem myši na uzel projektu a vyberte Přidat>novou položku. Zobrazí se dialogové okno Přidat novou položku, vyberte Zobrazit všechny šablony, Tabulka, a pak vyberte Skript před nasazením nebo Skript po nasazení.

Soubor skriptu se přidá do projektu a otevře se v editoru dotazů, kde můžete skript dokončit. Tento skript se spustí před nebo po spuštění plánu nasazení při každém nasazení projektu.

V zobrazení Databázových projektů editoru Visual Studio Code nebo Azure Data Studio klikněte pravým tlačítkem myši na projekt a vyberte Přidat skript před nasazením nebo Přidat skript po nasazení. Zadejte název skriptu bez přípony souboru.

Soubor skriptu se přidá do projektu a otevře se v editoru dotazů, kde můžete skript dokončit. Tento skript se spustí před nebo po spuštění plánu nasazení při každém nasazení projektu.

.sqlproj Upravte soubor přímo a přidejte skripty před nasazením nebo po nasazení. Přidejte <PreDeploy> nebo <PostDeploy> položku do oddílu <ItemGroup> souboru .sqlproj.

Pokud chcete například přidat skript scripts\before-script.sql do projektu jako skript před nasazením:

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

Tento skript scripts\before-script.sql se spustí před spuštěním plánu nasazení při každém nasazení projektu.