Bagikan melalui


Mulai menggunakan proyek database SQL

Berlaku untuk: SQL Server 2022 (16.x) Azure SQL Database Azure SQL Managed Instance

Proyek database SQL adalah representasi lokal objek SQL yang terdiri dari skema untuk database tunggal, seperti tabel, prosedur tersimpan, atau fungsi. Siklus pengembangan proyek database SQL memungkinkan pengembangan database diintegrasikan ke dalam alur kerja integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD) yang akrab sebagai praktik terbaik pengembangan.

Artikel ini membahas pembuatan proyek SQL baru, menambahkan objek ke proyek, dan membangun dan menyebarkan proyek. Kecuali untuk instruksi Visual Studio (SQL Server Data Tools), panduan ini berfokus pada proyek SQL bergaya SDK.

  1. Membuat proyek baru
  2. Menambahkan objek ke proyek
  3. Membangun proyek
  4. Menyebarkan proyek

Prasyarat

# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage

# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates

Catatan

Untuk menyelesaikan penyebaran proyek database SQL, Anda memerlukan akses ke instans Azure SQL atau SQL Server. Anda dapat mengembangkan secara lokal secara gratis dengan edisi pengembang SQL Server di Windows atau dalam kontainer.

Langkah 1: Buat proyek baru

Kami memulai proyek kami dengan membuat proyek database SQL baru sebelum menambahkan objek secara manual ke dalamnya. Ada cara lain untuk membuat proyek yang memungkinkan segera mengisi proyek dengan objek dari database yang ada, seperti menggunakan alat perbandingan skema.

Pilih File, Baru, lalu Proyek.

Dalam kotak dialog Proyek Baru, gunakan istilah SQL Server di kotak pencarian. Hasil teratas harus berupa Proyek Database SQL Server.

Cuplikan layar dialog Proyek baru.

Pilih Berikutnya untuk melanjutkan ke langkah berikutnya. Berikan nama proyek, yang tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan.

Pilih Buat untuk membuat proyek. Proyek kosong dibuka dan terlihat di Penjelajah Solusi untuk pengeditan.

Pilih File, Baru, lalu Proyek.

Dalam kotak dialog Proyek Baru, gunakan istilah SQL Server di kotak pencarian. Hasil teratas harus SQL Server Database Project, SDK-style (pratinjau).

Cuplikan layar dialog Proyek baru.

Pilih Berikutnya untuk melanjutkan ke langkah berikutnya. Berikan nama proyek, yang tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan.

Pilih Buat untuk membuat proyek. Proyek kosong dibuka dan terlihat di Penjelajah Solusi untuk pengeditan.

Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, pilih tombol Proyek Baru.

Cuplikan layar Viewlet baru.

Perintah pertama menentukan templat proyek mana yang akan digunakan, terutama berdasarkan apakah platform target adalah SQL Server atau Azure SQL. Jika diminta untuk memilih versi SQL tertentu, pilih versi yang cocok dengan database target tetapi jika versi database target tidak diketahui, pilih versi terbaru karena nilai dapat dimodifikasi nanti.

Masukkan nama proyek dalam input teks yang muncul, yang tidak perlu cocok dengan nama database.

Dalam dialog "Pilih Folder" yang muncul, pilih direktori untuk folder, file, .sqlproj dan konten proyek lainnya untuk berada.

Saat diminta apakah akan membuat proyek gaya SDK (pratinjau), pilih Ya.

Setelah selesai, proyek kosong dibuka dan terlihat dalam tampilan Proyek Database untuk pengeditan.

Dengan templat .NET untuk proyek Microsoft.Build.Sql terinstal, Anda dapat membuat proyek database SQL baru dari baris perintah. Opsi -n menentukan nama proyek, dan -tp opsi menentukan platform target proyek.

Gunakan opsi untuk melihat semua opsi yang -h tersedia.

# install Microsoft.Build.Sql.Templates
dotnet new sqlproject -n MyDatabaseProject

Langkah 2: Menambahkan objek ke proyek

Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Tambahkan, lalu Tabel. Dialog Tambahkan Item Baru muncul, di mana Anda bisa menentukan nama tabel. Pilih Tambahkan untuk membuat tabel di proyek SQL.

Tabel dibuka di perancang tabel Visual Studio dengan definisi tabel templat, di mana Anda bisa menambahkan kolom, indeks, dan properti tabel lainnya. Simpan file saat Anda selesai melakukan pengeditan awal.

Objek database lainnya dapat ditambahkan melalui dialog Tambahkan Item Baru, seperti tampilan, prosedur tersimpan, dan fungsi. Akses dialog dengan mengklik kanan simpul proyek di Penjelajah Solusi dan memilih Tambahkan, lalu jenis objek yang diinginkan. File dalam proyek dapat diatur ke dalam folder melalui opsi Folder Baru di bawah Tambahkan.

Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Tambahkan, lalu Item Baru. Dialog Tambahkan Item Baru muncul, pilih Perlihatkan Semua Templat lalu Tabel. Tentukan nama tabel sebagai nama file dan pilih Tambahkan untuk membuat tabel di proyek SQL.

Tabel dibuka di editor kueri Visual Studio dengan definisi tabel templat, tempat Anda bisa menambahkan kolom, indeks, dan properti tabel lainnya. Simpan file saat Anda selesai melakukan pengeditan awal.

Objek database lainnya dapat ditambahkan melalui dialog Tambahkan Item Baru, seperti tampilan, prosedur tersimpan, dan fungsi. Akses dialog dengan mengklik kanan simpul proyek di Penjelajah Solusi dan memilih Tambahkan, lalu jenis objek yang diinginkan setelah Tampilkan Semua Templat. File dalam proyek dapat diatur ke dalam folder melalui opsi Folder Baru di bawah Tambahkan.

Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, klik kanan simpul proyek dan pilih Tambahkan Tabel. Dalam dialog yang muncul, tentukan nama tabel.

Tabel dibuka di editor teks dengan definisi tabel templat, tempat Anda dapat menambahkan kolom, indeks, dan properti tabel lainnya. Simpan file saat Anda selesai melakukan pengeditan awal.

Lebih banyak objek database dapat ditambahkan melalui menu konteks pada simpul proyek, seperti tampilan, prosedur tersimpan, dan fungsi. Akses dialog dengan mengklik kanan simpul proyek dalam tampilan Proyek Database Visual Studio Code atau Azure Data Studio, lalu jenis objek yang diinginkan. File dalam proyek dapat diatur ke dalam folder melalui opsi Folder Baru di bawah Tambahkan.

File dapat ditambahkan ke proyek dengan membuatnya di direktori proyek atau folder berlapis. Ekstensi file harus dan .sql organisasi berdasarkan jenis objek atau skema dan jenis objek disarankan.

Templat dasar untuk tabel dapat digunakan sebagai titik awal untuk membuat objek tabel baru dalam proyek:

CREATE TABLE [dbo].[Table1]
(
  [Id] INT NOT NULL PRIMARY KEY
)

Langkah 3: Bangun proyek

Proses build memvalidasi hubungan antara objek dan sintaks terhadap platform target yang ditentukan dalam file proyek. Output artefak dari proses build adalah .dacpac file, yang dapat digunakan untuk menyebarkan proyek ke database target dan berisi model skema database yang dikompilasi.

Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Bangun.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac).

Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Bangun.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac).

Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, klik kanan simpul proyek dan pilih Bangun.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac).

Proyek database SQL dapat dibangun dari baris perintah menggunakan dotnet build perintah .

dotnet build

# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj

Output build mencakup kesalahan atau peringatan dan file dan nomor baris tertentu tempat terjadinya. Pada build yang berhasil, artefak build (.dacpac file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac).

Langkah 4: Menyebarkan proyek

Model yang dikompilasi dari skema database dalam .dacpac file dapat disebarkan ke database target menggunakan SqlPackage alat baris perintah atau alat penyebaran lainnya. Proses penyebaran menentukan langkah-langkah yang diperlukan untuk memperbarui database target agar sesuai dengan skema yang ditentukan dalam .dacpac, membuat atau mengubah objek sesuai kebutuhan berdasarkan objek yang sudah ada dalam database. Akibatnya, proses penyebaran idempogen, yang berarti dapat dijalankan beberapa kali tanpa menyebabkan masalah dan Anda dapat menyebarkan hal yang sama .dacpac ke beberapa database tanpa perlu menentukan statusnya.

Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Terbitkan....

Dialog terbitkan terbuka, tempat Anda membuat koneksi database target. Jika Anda tidak memiliki instans SQL yang sudah ada untuk penyebaran, LocalDB ((localdb)\MSSQLLocalDB) diinstal dengan Visual Studio dan dapat digunakan untuk pengujian dan pengembangan.

Tentukan nama database dan pilih Terbitkan untuk menyebarkan proyek ke database target atau Hasilkan Skrip untuk menghasilkan skrip yang akan ditinjau sebelum dieksekusi.

Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Terbitkan....

Dialog terbitkan terbuka, tempat Anda membuat koneksi database target. Jika Anda tidak memiliki instans SQL yang sudah ada untuk penyebaran, LocalDB ((localdb)\MSSQLLocalDB) diinstal dengan Visual Studio dan dapat digunakan untuk pengujian dan pengembangan.

Tentukan nama database dan pilih Terbitkan untuk menyebarkan proyek ke database target atau Hasilkan Skrip untuk menghasilkan skrip yang akan ditinjau sebelum dieksekusi.

Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, klik kanan simpul proyek dan pilih Terbitkan.

Tip

Jika Anda tidak memiliki instans SQL yang tersedia untuk penyebaran, ekstensi Proyek SQL Database dapat membuat instans SQL Server lokal untuk Anda dalam kontainer baru. Dengan runtime kontainer seperti Docker Desktop yang berjalan, pilih Terbitkan ke kontainer pengembangan lokal server SQL baru dari daftar dropdown.

Jika Anda memiliki instans SQL yang sudah ada untuk penyebaran, pilih Terbitkan ke server SQL yang sudah ada lalu Jangan gunakan profil jika diminta untuk menerbitkan profil.

Jika Anda belum mengonfigurasi koneksi ke database target, Anda akan diminta untuk membuat koneksi baru. Input koneksi baru meminta nama server, metode autentikasi, dan nama database.

Setelah koneksi dikonfigurasi, proses penyebaran akan dimulai. Anda dapat memilih untuk menjalankan penyebaran (terbitkan) secara otomatis atau membuat skrip untuk ditinjau sebelum mengeksekusi (menghasilkan skrip).

SqlPackage CLI digunakan untuk menyebarkan .dacpac file ke database target dengan tindakan terbitkan.

Misalnya, untuk menyebarkan .dacpac file ke database target berdasarkan string koneksi:

sqlpackage /Action:Publish /SourceFile:bin/Debug/projectname.dacpac /TargetConnectionString:{yourconnectionstring}

Dapatkan bantuan