Megosztás:


Az üzembe helyezés előtti és az üzembe helyezés utáni szkriptek áttekintése

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Az üzembe helyezés előtti és az üzembe helyezés utáni szkriptek olyan SQL-szkriptek, amelyek az üzembe helyezés során végrehajtandó projekt részét képezik. A telepítés előtti/utáni szkripteket a .dacpac tartalmazza, de ezek nincsenek lefordítva vagy ellenőrizve az adatbázis objektum modelljével. A telepítés előtti szkriptet végrehajtják, mielőtt a telepítési terv végrehajtásra kerül, de a telepítési terv kiszámítása a szkript futtatása előtt történik. A telepítés utáni szkript a telepítési terv befejezése után kerül végrehajtásra.

SQL-projektfájl mintája és szintaxisa

Egy SQL projektfájl megadhat egyetlen előtelepítési szkriptet és egyetlen utótelepítési szkriptet.

A következő példa egy SQL projektfájlból a(z) prep-db.sql fájlt adja hozzá telepítés előtti szkriptként.

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

A következő példa egy SQL-projektfájlból az üzembe helyezés utáni szkriptként adja hozzá a fájlt populate-app-settings.sql .

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

Az üzembe helyezés előtti vagy az üzembe helyezés utáni szkript részeként több fájl is végrehajtható egy SQLCMD-szkripttel, amely sorrendben hívja meg az egyes fájlokat.

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

Azokat a fájlokat ki kell zárni az adatbázis-modell építéséből úgy, hogy a fájltulajdonságok között a Build Action tulajdonságot Remove-re állítjuk a Visual Studio-ban, vagy hozzáadunk egy bejegyzést a fájlhoz a .sqlproj fájlban, ahol a Build attribútum Remove értékre van állítva. Az SQL-projekt létrehozásakor a további fájlok az üzembe helyezés előtti vagy az üzembe helyezés utáni, hivatkozásuk alatt álló szkriptjeikbe lesznek kombinálva a .dacpac-ben a Microsoft.Build.Sql projekt SDK által.

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

Az SDK-stílusú SQL-projektekben a Build Remove="path\file.sql" bejegyzés hozzáadása teljesen eltávolítja a fájlt a projektből, ami miatt a fájl már nem jelenik meg a Visual Studio Code projektnézetben. Ha azt szeretné, hogy a fájl látható maradjon, miközben továbbra is kizárja a modell összeállításából, ismét tegye hozzá elemként None :

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

Ez megakadályozza, hogy a fájl az adatbázismodell részeként legyen lefordítva, miközben látható marad a projektben.

Tip

A projekt buildelése után érvényesítheti az üzembe helyezés előtti és utáni szkripteket úgy, hogy a .dacpac fájlkiterjesztést .zip-ra módosítja, és kicsomagolja a .zip-t egy mappába. Egyetlen .sql fájl található az üzembe helyezés előtti és az üzembe helyezés utáni szkriptekhez, és az eredeti SQL-projektben található összes hivatkozott fájl teljes Transact-SQL tartalmát tartalmaznia kell.

Üzembe helyezés előtti és üzembe helyezés utáni szkriptek hozzáadása

A Solution Explorer-ban kattintson a jobb gombbal a projektre, majd válassza a Hozzáadás>Script lehetőséget. Válassza az üzembe helyezés előtti vagyaz üzembe helyezés utáni szkriptet.

A szkriptfájlt a projekthez adják, és megnyitják a lekérdezésszerkesztőben, ahol befejezheti a szkriptet. Ez a szkript az üzembe helyezési terv végrehajtása előtt vagy után lesz végrehajtva, minden alkalommal, amikor a projekt üzembe van helyezve.

A Megoldáskezelőben kattintson a jobb gombbal a projektcsomópontra, és válassza azÚj elem>. Megjelenik az Új elem hozzáadása párbeszédpanel, válassza az Összes sablontábla> megjelenítése, majd az Üzembe helyezés előtti vagyaz Üzembe helyezés utáni szkript lehetőséget.

A szkriptfájlt a projekthez adják, és megnyitják a lekérdezésszerkesztőben, ahol befejezheti a szkriptet. Ez a szkript az üzembe helyezési terv végrehajtása előtt vagy után lesz végrehajtva, minden alkalommal, amikor a projekt üzembe van helyezve.

A Visual Studio Code vagy az Azure Data Studio Adatbázisprojektek nézetében kattintson a jobb gombbal a projektre, és válassza az Üzembe helyezés előtti szkript hozzáadása vagy az Üzembe helyezés utáni szkript hozzáadása lehetőséget. Adja meg a szkript nevét fájlkiterjesztés nélkül.

A szkriptfájlt a projekthez adják, és megnyitják a lekérdezésszerkesztőben, ahol befejezheti a szkriptet. Ez a szkript az üzembe helyezési terv végrehajtása előtt vagy után lesz végrehajtva, minden alkalommal, amikor a projekt üzembe van helyezve.

Közvetlenül szerkessze a .sqlproj fájlt, hogy hozzáadhasson üzembe helyezés előtti vagy utáni szkripteket. Adjon hozzá egy <PreDeploy> vagy <PostDeploy> elemet a <ItemGroup> szakaszhoz a .sqlproj fájlban.

Például a scripts\before-script.sql szkriptet projektünkhöz előtelepítési szkriptként hozzáadva a következő lépéseket tehetjük meg:

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

Ezt a szkriptet scripts\before-script.sql a rendszer az üzembe helyezési terv végrehajtása előtt hajtja végre, minden alkalommal, amikor a projekt üzembe van helyezve.