Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Database SQL di Microsoft Fabric
Skrip pra-penyebaran 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-penyebaran 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 dikompilasi, file tambahan disatukan ke dalam skrip pra-penyebaran atau pasca-penyebaran yang dirujuk oleh proyek SDK .dacpacMicrosoft.Build.Sql.
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
</ItemGroup>
</Project>
Dalam proyek SQL bergaya SDK, menambahkan Build Remove="path\file.sql" entri akan menghapus file dari proyek sepenuhnya, yang menyebabkannya tidak lagi muncul dalam tampilan proyek Visual Studio Code. Untuk menjaga file tetap terlihat saat masih mengecualikannya dari kompilasi model, tambahkan lagi sebagai None item:
...
<ItemGroup>
<Build Remove="scripts\script1.sql" />
<None Include="scripts\script1.sql" />
<Build Remove="scripts\script2.sql" />
<None Include="scripts\script2.sql" />
</ItemGroup>
</Project>
Ini mencegah file dikompilasi sebagai bagian dari model database sambil membuatnya tetap terlihat dalam proyek.
Tip
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-penyebaran 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>Item Baru. Dialog Tambahkan Item Baru muncul, pilih Perlihatkan SemuaTabel Templat, lalu pilih > 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 file .sqlproj secara langsung untuk menambahkan skrip pra-penyebaran 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.