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.
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. |
- Instans pengembangan lokal adalah kontainer SQL Server.
- Instans pengembangan lokal adalah instans SQL Server LocalDB.
- 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:
- https://github.com/tcartwright/SqlServer.Rules
- https://github.com/davebally/TSQL-Smells
- https://github.com/ErikEJ/SqlServer.Rules
- https://github.com/GoEddie/DeploymentContributorFilterer