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.
Keluaran hasil build proyek SQL memberikan umpan balik tentang konstruksi model database dan validasi T-SQL. Output baris perintah default hanya menampilkan kesalahan dan beberapa informasi status. Dalam artikel ini, kita membahas cara mengaktifkan pengelogan yang lebih verbose untuk membantu memecahkan masalah build dan kesalahan umum yang dihadapi dengan proyek SQL.
Mengaktifkan pencatatan terperinci
Untuk memecahkan masalah build lebih lanjut untuk proyek SQL, Anda dapat menggunakan sakelar baris perintah untuk menghasilkan lebih banyak log. Pengelogan yang lebih banyak dapat membantu dalam tidak hanya mengidentifikasi penyebab kesalahan tetapi juga degradasi dalam kecepatan build. Dua opsi utama adalah:
Pencatat biner: Opsi ini menghasilkan file log biner (
msbuild.binlog) yang dapat dilihat menggunakan MSBuild Log Viewer. Penampil ini berguna untuk mendiagnosis masalah dependensi dan mengoptimalkan proses build. Perintah untuk menghasilkan log ini adalah:dotnet build -blPencatat File: Opsi ini menghasilkan file log teks yang berisi log yang paling detail dari proses build. Perintah untuk menghasilkan log ini adalah:
dotnet build -flp:v=diag
Untuk direkap, perintah gabungan untuk menghasilkan kedua log adalah:
dotnet build -bl -flp:v=diag
Sekumpulan sakelar lengkap dapat ditemukan di Referensi Command-Line MSBuild.
Masalah umum
Kesalahan kompilasi
Ketika kesalahan build menunjukkan sintaks yang tidak valid, output juga menentukan file mana yang berisi kode yang salah. Jika Anda menggunakan sintaks yang baru saja ditambahkan, Anda mungkin perlu memperbarui versi SDK proyek Anda.
Kesalahan build dari proyek database harus mencantumkan kode kesalahan SQLxxxxx, di mana xxxxx adalah angka lima digit. Beberapa masalah yang menyebabkan kesalahan untuk referensi yang tidak terselesaikan (SQL71501/SQL71502) adalah:
- Nama objek ambigu. Rekomendasi:
- Gunakan nama-nama yang sudah lengkap (
[schema].[table].[column]) - Mengganti nama objek seperlunya
- Gunakan nama-nama yang sudah lengkap (
- Objek sistem. Rekomendasi:
- Menambahkan referensi ke master atau msdb melalui referensi paket atau referensi database
- Referensi eksternal. Rekomendasi:
- Pastikan variabel SQLCMD diatur dengan benar untuk referensi database atau referensi paket
Kegagalan lainnya
Untuk kesalahan yang terjadi selama pemulihan, pertama-tama jalankan build bersih setelah menghapus folder /bin dan /obj dalam proyek.
Jika kesalahan menyertakan SDK 'Microsoft.Build.Sql' specified could not be found, mulailah dengan memverifikasi umpan paket NuGet valid. Perintah dasar untuk melihat umpan saat ini adalah:
dotnet nuget list source
Umpan NuGet publik adalah:
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
Jika lingkungan Anda memerlukan umpan privat, pastikan umpan tersebut valid dan dapat diakses. Anda mungkin diharuskan untuk mengautentikasi dengan umpan paket. Mengaktifkan autentikasi selama build proyek dapat dilakukan dengan:
dotnet build --interactive
Untuk MSBuild, perintah yang setara adalah:
msbuild /p:nugetInteractive=true
Untuk kode kesalahan non-SQL lainnya, lihat sumber daya berikut:
- Kesalahan MSBuild: Referensi MSBuild
- Kesalahan NETSDK: daftar kesalahan .NET SDK
- Kesalahan NuGet: Kesalahan NuGet dan Referensi Peringatan