Bagikan melalui


Cara: Menentukan Skrip Pra-Penyebaran atau Postdeployment

Skrip pra-penyebaran dan pasca-penyebaran menjalankan pernyataan Transact-SQL sebelum dan sesudah skrip penyebaran utama, yang dihasilkan dari proyek database. Skrip pra-penyebaran tidak akan dijalankan saat memperbarui target dari skema membandingkan hasil di Visual Studio. Proyek hanya dapat memiliki satu pra-penyebaran dan satu skrip pasca-penyebaran. Skrip ini dapat digunakan untuk banyak tujuan. Contohnya:

  • Skrip pra-penyebaran dapat menyalin data dari tabel yang sedang diubah menjadi tabel sementara sebelum memformat ulang dan menerapkan data ke tabel yang diubah dalam skrip pasca-penyebaran,

  • Anda bisa menyisipkan data referensi yang harus ada dalam tabel dalam skrip pasca-penyebaran. Sebelum menyisipkan data, Anda bisa menguji apakah tabel sudah berisi data. Jika tabel tidak kosong, Anda harus menghapus data yang ada atau menentukan bahwa Anda ingin selalu membuat ulang database sebelum menyebarkannya. Anda dapat menambahkan pernyataan seperti berikut ini ke skrip pasca-penyebaran Anda:

IF (EXISTS(SELECT * FROM [dbo].[MyReferenceTable]))  
BEGIN  
    DELETE FROM [dbo].[MyReferenceTable]  
END  

Untuk menambahkan dan memodifikasi skrip pra-atau pasca-penyebaran

  1. Di Penjelajah Solusi, perluas proyek database Anda untuk menampilkan folder Skrip.

  2. Klik kanan pada folder Skrip dan pilih Tambahkan.

  3. Pilih Skrip di menu konteks.

  4. Pilih Skrip Pra-Penyebaran atau Skrip Pasca-Penyebaran. Secara opsional, tentukan nama non-default. Klik Tambahkan untuk menyelesaikan.

  5. Klik dua kali file di folder Skrip.

    Editor Transact-SQL terbuka, menampilkan konten file.

Anda dapat menggunakan sintaks dan variabel SQLCMD dalam skrip Anda dan mengaturnya di properti proyek database. Contohnya:

  • Anda dapat menggunakan sintaks SQLCMD untuk menyertakan konten file dalam skrip pra atau pasca-penyebaran. File disertakan dan dijalankan dalam urutan yang Anda tentukan: :r .\myfile.sql

  • Anda dapat menggunakan sintaks SQLCMD untuk mereferensikan variabel dalam skrip pasca-penyebaran. Anda mengatur variabel SQLCMD di properti proyek atau di profil penerbitan:

    :setvar TableName MyTable  
    SELECT * FROM [$(TableName)]  
    

Untuk informasi selengkapnya tentang menggunakan SQLCMD dalam skrip, lihat Pengaturan Proyek Database.

Lihat juga

Project-Oriented Pengembangan Database Offline