Bagikan melalui


Gambaran umum skrip pra-dan pasca-penyebaran

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceDatabase SQL di Microsoft Fabric

Skrip pra-dan pasca-penyebaran adalah skrip SQL yang disertakan dalam proyek yang akan dijalankan selama penyebaran. Skrip pra/pasca-penyebaran disertakan dalam .dacpac, tetapi tidak dikompilasi atau divalidasi ke dalam model objek database. Skrip pra-penyebaran dijalankan sebelum rencana penyebaran dijalankan tetapi rencana penyebaran dihitung sebelum skrip dijalankan. Skrip pasca-penyebaran dijalankan setelah rencana penyebaran selesai.

Sampel dan sintaks file proyek SQL

File proyek SQL dapat memiliki satu skrip pra-penyebaran dan satu skrip pasca-penyebaran yang ditentukan.

Contoh berikut dari file proyek SQL menambahkan file prep-db.sql sebagai skrip pra-penyebaran.

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

Contoh berikut dari file proyek SQL menambahkan file populate-app-settings.sql sebagai skrip pasca-penyebaran.

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

Beberapa file dapat dijalankan sebagai bagian dari skrip pra-atau pasca-penyebaran dengan menggunakan skrip SQLCMD yang memanggil setiap file secara berurutan.

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

Berkas-berkas tersebut harus dikecualikan dari pembangunan model database dengan mengatur properti Build Action ke Remove di properti berkas di Visual Studio atau dengan menambahkan entri untuk berkas dalam berkas .sqlproj dengan atribut Build diatur ke Remove. Saat proyek SQL dibuat, berkas tambahan digabungkan ke dalam skrip pra-penyebaran atau pasca-penyebaran yang dirujuk di .dacpac oleh SDK proyek Microsoft.Build.Sql.

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

Petunjuk / Saran

Anda dapat memvalidasi skrip pra-penyebaran dan pasca-penyebaran setelah build proyek, dengan mengubah .dacpac ekstensi file menjadi .zip dan membatalkan pengarsipan .zip ke folder. Satu .sql file ada untuk skrip pra-penyebaran dan pasca-penyebaran, dan harus berisi seluruh konten Transact-SQL dari semua file yang dirujuk dalam proyek SQL asal.

Menambahkan skrip pra-dan pasca-penyebaran

Di Penjelajah Solusi, klik kanan proyek dan pilih . Pilih Skrip Pra-Penyebaran atau Skrip Pasca-Penyebaran.

File skrip ditambahkan ke proyek dan dibuka di editor kueri, tempat Anda dapat menyelesaikan skrip. Skrip ini akan dijalankan sebelum atau setelah rencana penyebaran dijalankan setiap kali proyek disebarkan.

Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Tambahkan, lalu Item Baru. Dialog Tambahkan Item Baru muncul, pilih Perlihatkan Semua Templat. lalu Tabel. Pilih Skrip Pra-Penyebaran atau Skrip Pasca-Penyebaran.

File skrip ditambahkan ke proyek dan dibuka di editor kueri, tempat Anda dapat menyelesaikan skrip. Skrip ini akan dijalankan sebelum atau setelah rencana penyebaran dijalankan setiap kali proyek disebarkan.

Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, klik kanan proyek dan pilih Tambahkan Skrip Pra-Penyebaran atau Tambahkan Skrip Pasca-Penyebaran. Berikan nama skrip tanpa ekstensi file.

File skrip ditambahkan ke proyek dan dibuka di editor kueri, tempat Anda dapat menyelesaikan skrip. Skrip ini akan dijalankan sebelum atau setelah rencana penyebaran dijalankan setiap kali proyek disebarkan.

Edit secara langsung file .sqlproj untuk menambahkan skrip pra- atau pasca-penyebaran. Tambahkan item <PreDeploy> atau <PostDeploy> ke bagian <ItemGroup>.sqlproj file.

Misalnya, untuk menambahkan skrip scripts\before-script.sql ke proyek kami sebagai skrip pra-penyebaran:

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

Skrip scripts\before-script.sql ini dijalankan sebelum rencana penyebaran dijalankan setiap kali proyek disebarkan.