Udostępnij za pomocą


Rozwiązywanie problemów z kompilacją projektu SQL

Dane wyjściowe kompilacji projektu SQL zawierają opinie na temat konstrukcji modelu bazy danych i weryfikacji języka T-SQL. Domyślne dane wyjściowe wiersza polecenia zawierają tylko błędy i niektóre informacje o stanie. W tym artykule omówiono sposób włączania bardziej szczegółowego rejestrowania, aby ułatwić rozwiązywanie problemów z kompilacją i typowych błędów, które występują w projektach SQL.

Włącz szczegółowe logowanie

Aby jeszcze bardziej rozwiązać problemy z kompilacją projektów SQL, możesz użyć przełączników wiersza polecenia, aby wygenerować więcej dzienników. Więcej rejestrowania może pomóc nie tylko w zidentyfikowaniu przyczyny błędów, ale także pogorszeniu szybkości kompilacji. Dwie podstawowe opcje to:

  • Rejestrator binarny: ta opcja generuje binarny plik dziennika (msbuild.binlog), który można wyświetlić przy użyciu przeglądarki dzienników MSBuild. Ta przeglądarka jest przydatna do diagnozowania problemów z zależnościami i optymalizowania procesu kompilacji. Polecenie do wygenerowania tego dziennika to:

    dotnet build -bl
    
  • Rejestrator: Ta opcja generuje plik dziennika tekstowego, który zawiera najbardziej szczegółowe logowanie z procesu budowania. Polecenie do wygenerowania tego dziennika to:

    dotnet build -flp:v=diag
    

Aby podsumować, połączone polecenie w celu wygenerowania obu dzienników jest następujące:

dotnet build -bl -flp:v=diag

Pełny zestaw przełączników można znaleźć w dokumentacji programu MSBuild Command-Line.

Typowe problemy

Błędy kompilacji

Gdy błąd kompilacji wskazuje nieprawidłową składnię, dane wyjściowe określają również, który plik zawiera błędny kod. Jeśli używasz składni, która została niedawno dodana, może być konieczne zaktualizowanie wersji zestawu SDK projektu.

Błędy kompilacji z projektu bazy danych powinny mieć SQLxxxxx kod błędu, gdzie xxxxx jest liczbą pięciocyfrową. Niektóre problemy powodujące błąd nierozwiązanego odwołania (SQL71501/SQL71502) to:

Inne błędy

W przypadku błędu, który występuje podczas przywracania, najpierw uruchom czystą kompilację po usunięciu folderów /bin i /obj w projekcie.

Jeśli błąd zawiera SDK 'Microsoft.Build.Sql' specified could not be found​, rozpocznij od sprawdzenia, czy źródła pakietów NuGet są prawidłowe. Podstawowe polecenie do wyświetlania bieżących źródeł danych to:

dotnet nuget list source​

Publiczne źródło danych NuGet to:

dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org​

Jeśli środowisko wymaga prywatnych źródeł danych, upewnij się, że są one prawidłowe i dostępne. Może być wymagane uwierzytelnienie przy użyciu źródeł pakietów. Włączenie uwierzytelniania podczas kompilacji projektu można wykonać za pomocą:

dotnet build --interactive

W przypadku programu MSBuild równoważne polecenie to:

msbuild /p:nugetInteractive=true​

W przypadku innych kodów błędów innych niż SQL zapoznaj się z następującymi zasobami: