Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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 -blRejestrator: 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:
- Niejednoznaczne nazwy obiektów. Zalecenia:
- Użyj w pełni rozpoznanych nazw (
[schema].[table].[column]) - Zmiana nazwy obiektów w razie potrzeby
- Użyj w pełni rozpoznanych nazw (
- Obiekty systemowe. Zalecenie:
- Dodawanie odwołania do wzorca lub msdb za pośrednictwem odwołania do pakietu lub odwołania do bazy danych
- Odwołania zewnętrzne. Zalecenie:
- Upewnij się, że zmienne SQLCMD są poprawnie ustawione dla odwołania do bazy danych lub odwołania do pakietu
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:
- Błędy programu MSBuild: dokumentacja programu MSBuild
- Błędy zestawu NETSDK: lista błędów zestawu SDK platformy .NET
- Błędy narzędzia NuGet: Błędy i ostrzeżenia narzędzia NuGet — dokumentacja