Bagikan melalui


Alat proyek SQL

Alat untuk proyek SQL tersedia di beberapa lingkungan pengembangan dan antarmuka baris perintah. Alat utama untuk proyek SQL adalah utilitas baris perintah SqlPackage , SQL Server Data Tools (SSDT) di Visual Studio, dan ekstensi Proyek SQL Database untuk Visual Studio Code.

Alat yang disertakan dalam artikel ini:

Alat grafis

Alat-alat ini menyediakan antarmuka grafis untuk proyek SQL, editor T-SQL, dan proses build dan penerbitan.

Ekstensi Proyek SQL Database adalah ekstensi untuk Visual Studio Code. Ekstensi ini menyediakan antarmuka grafis untuk proyek SQL, editor T-SQL, dan proses build dan penerbitan. Ekstensi ini juga tersedia di Azure Data Studio dengan fungsionalitas yang sama.

SQL Server Data Tools (SSDT) adalah komponen Visual Studio yang menyediakan antarmuka grafis untuk proyek SQL. SSDT menyediakan desainer visual untuk tabel, editor T-SQL, dan proses build dan penerbitan.

Perbandingan kumpulan fitur

Feature VS Code SSDT (VS2022-2026) SSDT bergaya SDK, pratinjau (VS2022)
Membuat proyek kosong baru Yes Yes Yes
Membuat proyek baru dari database yang sudah ada Yes Yes Yes
Buka proyek Microsoft.Build.Sql yang sudah ada Yes Tidak. Yes
Manajemen dan operasi solusi Tidak. Yes Yes
Menjalankan build proyek Yes Yes Yes
Menerbitkan proyek ke server yang sudah ada Yes Yes Yes
Menerbitkan proyek ke instans pengembangan lokal Yes1 Ya2 Ya2
Terbitkan opsi/properti Yes Yes Yes
Platform target dapat diperbarui Yes Yes Yes
Variabel SQLCMD Yes Yes Yes
Referensi proyek Yes Yes Yes
Referensi Dacpac Yes Yes Yes
Referensi paket Yes Tidak. Tidak.
Menerbitkan penciptaan profil Yes Yes Yes
File SQL dapat ditambahkan dengan menempatkan di folder proyek Yes Tidak. Yes
File SQL dapat dikecualikan dari build Yes Yes Tidak.
Skrip sebelum/sesudah penyebaran Yes Yes Yes
Templat objek baru Ya3 Yes Ya3
File proyek dapat diatur ke dalam folder Yes Yes Yes
Proyek perbandingan skema dengan database Yes Yes Yes
Database perbandingan skema dengan proyek Yes Yes Tidak.
Perancang tabel grafis Tidak. Yes Yes
Analisis kode – gui aktifkan/nonaktifkan aturan Tidak. Yes Tidak.
Properti proyek – pengaturan keluaran build Tidak. Yes Yes
Properti proyek – Antarmuka Pengguna Grafis untuk pengaturan basis data Tidak. Yes Tidak.
Eksekusi proyek analisis kode Yes Yes Tidak.
Penggantian nama objek dan pemfaktoran ulang Tidak. Yes Tidak.
Intellisense disediakan dalam file database dari model proyek Tidak. Yes Tidak.
  1. Instans pengembangan lokal adalah kontainer SQL Server.
  2. Instans pengembangan lokal adalah instans SQL Server LocalDB.
  3. Subset templat terbatas tersedia

Alat baris perintah

SqlPackage adalah utilitas baris perintah utama untuk pustaka DacFx, memungkinkan otomatisasi tugas pengembangan database seperti menyebarkan .dacpac ke database atau mengekstrak objek database ke proyek SQL atau .dacpac.

Aplikasi konsol kustom dapat dibangun menggunakan pustaka DacFx .NET untuk mengotomatiskan tugas pengembangan database. Namespace Microsoft.SqlServer.Dac berisi kelas untuk membuat, menyebarkan, dan mengekstrak objek database dan bersifat dasar untuk pustaka DacFx lainnya.

Alur CI/CD dapat dibangun dengan eksekusi baris perintah atau dengan tugas khusus untuk .dacpac dan penyebaran proyek SQL. GitHub sql-action dan SqlAzureDacpacDeployment di Azure DevOps adalah contoh tugas yang menggunakan SqlPackage di bawah lapisan manajemen untuk memfasilitasi penyebaran perubahan database.

Alat konversi

Proses konversi proyek SQL yang ada ke proyek bergaya SDK dilakukan dengan mengedit .sqlproj file secara manual untuk menyertakan format proyek gaya SDK baru. Sebelum memulai proses, disarankan untuk mencadangkan dan juga mengarsipkan salinan cadangan proyek. Dengan membandingkan keadaan "sebelum" dan "sesudah" .dacpac yang dibangun dari proyek, Anda dapat memastikan bahwa proses konversi telah selesai dengan benar.

Manajemen proyek/solusi

Beberapa proyek SQL (dan proyek lainnya) dapat dikelompokkan secara logis dalam file solusi. File solusi adalah kontainer untuk satu atau beberapa proyek dan digunakan untuk mengelola proyek sebagai grup, termasuk tindakan build. Solusi besar dapat dipecah menjadi solusi yang lebih kecil untuk meningkatkan performa dan pengelolaan, atau dihasilkan secara dinamis untuk tugas yang sesuai di tangan. Generator file solusi slngen tersedia untuk proyek Microsoft.Build.Sql dan dapat digunakan untuk membuat file solusi untuk sekumpulan proyek secara terprogram dan sesuai permintaan.

Alat pihak ketiga

Ada alat pihak ketiga yang tersedia yang menyediakan fungsionalitas yang terkait dengan proyek SQL dan penyebaran database. Beberapa alat adalah sumber terbuka, seperti dbatool.

Pengembang telah berbagi proyek mereka menggunakan titik ekstensibilitas di sekitar proyek SQL, termasuk aturan analisis kode dan menyesuaikan rencana penyebaran. Beberapa proyek ini adalah: