Alat proyek SQL

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

Alat yang disertakan dalam artikel ini:

Alat grafis

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

ekstensi SQL Database Projects adalah ekstensi untuk Visual Studio Code. Ekstensi ini menyediakan antarmuka grafis untuk proyek SQL, editor T-SQL, dan proses build dan penerbitan.

Database DevOps di SQL Server Management Studio (SSMS) menyediakan antarmuka grafis untuk proyek SQL, editor T-SQL, dan proses build dan penerbitan.

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

Fitur Visual Studio Code SSMS SSDT (VS2022-2026) SSDT gaya SDK (pratinjau) (VS2022)
Membuat proyek kosong baru Yes Yes Yes Yes
Membuat proyek baru dari database yang sudah ada Yes Yes Yes Yes
Buka proyek Microsoft.Build.Sql yang ada Yes Yes Tidak. Yes
Membuka proyek gaya asli (SSDT) Yes Tidak. Yes Tidak.
Manajemen dan operasi solusi Tidak. Yes Yes Yes
Proyek menjalankan kompilasi Yes Yes Yes Yes
Menerbitkan proyek ke server yang sudah ada Yes Yes Yes Yes
Menerbitkan proyek ke instans pengembangan lokal Yes1 Ya2 Ya3 Ya3
Terbitkan opsi/properti Yes Yes Yes Yes
Platform target dapat diperbarui Yes Yes Yes Yes
Variabel SQLCMD Yes Yes Yes Yes
Referensi Proyek Yes Yes Yes Yes
Referensi DACPAC Yes Yes Yes Yes
Referensi paket Yes Yes Tidak. Tidak.
Menerbitkan penciptaan profil Yes Tidak. Yes Yes
File SQL dapat ditambahkan dengan menempatkan di folder proyek Yes Yes Tidak. Yes
File SQL dapat dikecualikan dari build Yes Yes Yes Tidak.
Skrip pra-penyebaran dan pasca-penyebaran Yes Yes Yes Yes
Templat objek baru Ya4 Yes Yes Ya4
File proyek dapat diorganisir ke dalam folder Yes Yes Yes Yes
Proyek perbandingan skema dengan database Yes Tidak. Yes Yes
Database perbandingan skema dengan proyek Yes Tidak. Yes Tidak.
Perancang tabel grafis Tidak. Tidak. Yes Yes
Analisis kode - gui aktifkan/nonaktifkan aturan Yes Yes Yes Tidak.
Properti Proyek - Pengaturan Hasil Build Tidak. Tidak. Yes Yes
Properti proyek - pengaturan antarmuka pengguna grafis database Tidak. Tidak. Yes Tidak.
Proyek menjalankan analisis kode Yes Yes Yes Tidak.
Penggantian nama objek dan pemfaktoran ulang Tidak. Tidak. Yes Tidak.
Intellisense disediakan dalam file database dari model proyek Tidak. Tidak. Yes Tidak.

1 Instans pengembangan lokal adalah kontainer SQL Server.
2 Database SQL Microsoft yang telah diinstal sebelumnya dapat digunakan sebagai instans pengembangan lokal.
3 Instans pengembangan lokal adalah instans SQL Server LocalDB.
4 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 .NET DacFx untuk mengotomatiskan tugas pengembangan database. Microsoft.SqlServer.Dac namespace berisi kelas untuk membuat, menyebarkan, dan mengekstrak objek database serta merupakan dasar bagi pustaka DacFx.

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 Microsoft. Proyek Build.Sql dan dapat digunakan untuk membuat file solusi untuk serangkaian proyek secara terprogram dan sesuai permintaan.

Peta strategi

Peta strategi triwulanan untuk kemampuan terkait proyek SQL tersedia di https://aka.ms/sqlprojects-roadmap. Umpan balik pelanggan sangat memengaruhi peta jalan, yang mencakup memodernisasi kemampuan proyek Microsoft Build.Sql dan peningkatan permukaan alat yang terkait dengan proyek SQL.

Alat pihak ketiga

Ada alat pihak ketiga yang tersedia yang menyediakan fungsionalitas yang terkait dengan proyek SQL dan penyebaran database. Beberapa alat open source, seperti dbatools.

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