Bagikan melalui


Memecahkan masalah build proyek SQL

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 -bl
    
  • Pencatat 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
  • Objek sistem. Rekomendasi:
  • Referensi eksternal. Rekomendasi:

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: