Delen via


Problemen met build van SQL-project oplossen

De build-uitvoer van het SQL-project geeft feedback over de bouw van het databasemodel en de T-SQL-validatie. In de standaarduitvoer van de opdrachtregel worden alleen fouten en bepaalde statusgegevens weergegeven. In dit artikel bespreken we hoe u uitgebreidere logboekregistratie kunt inschakelen om buildproblemen en veelvoorkomende fouten op te lossen die zijn opgetreden met SQL-projecten.

Uitgebreid loggen inschakelen

Als u verder problemen met de build voor SQL-projecten wilt oplossen, kunt u opdrachtregelswitches gebruiken om meer logboeken te genereren. Meer logboekregistratie kan niet alleen helpen bij het identificeren van de oorzaak van fouten, maar ook het verminderen van de buildsnelheid. De twee primaire opties zijn:

  • Binaire logboekregistratie: met deze optie wordt een binair logboekbestand (msbuild.binlog) gegenereerd dat kan worden bekeken met behulp van de MSBuild Log Viewer. Deze viewer is handig voor het diagnosticeren van afhankelijkheidsproblemen en het optimaliseren van het buildproces. De opdracht voor het genereren van dit logboek is:

    dotnet build -bl
    
  • Bestandslogger: met deze optie wordt een tekstbestand gegenereerd dat de meest uitgebreide logboekregistratie van de build bevat. De opdracht voor het genereren van dit logboek is:

    dotnet build -flp:v=diag
    

Om een samenvatting te maken, is de gecombineerde opdracht voor het genereren van beide logboeken:

dotnet build -bl -flp:v=diag

De volledige set switches vindt u in de MSBuild Command-Line Reference.

Veelvoorkomende problemen

Buildfouten

Wanneer de buildfout een ongeldige syntaxis aangeeft, geeft de uitvoer ook aan welk bestand de foutieve code bevat. Als u de syntaxis gebruikt die onlangs is toegevoegd, moet u mogelijk de sdk-versie van uw project bijwerken.

Buildfouten van een databaseproject moeten foutcode hebben SQLxxxxx , waarbij xxxxx een getal van vijf cijfers is. Enkele problemen die de fout veroorzaken voor een niet-opgeloste verwijzing (SQL71501/SQL71502) zijn:

  • Onduidelijke objectnamen. Aanbevelingen:
    • Volledig opgeloste namen gebruiken ([schema].[table].[column])
    • De naam van objecten wijzigen indien nodig
  • Systeemobjecten. Aanbeveling:
  • Externe verwijzingen. Aanbeveling:

Andere fouten

Voor een fout die optreedt tijdens het herstellen, voert u eerst een schone build uit na het verwijderen van de /bin en /obj mappen in het project.

Als de fout SDK 'Microsoft.Build.Sql' specified could not be found​ bevat, begint u met het controleren of NuGet-pakketfeeds geldig zijn. De basisopdracht voor het weergeven van huidige feeds is:

dotnet nuget list source​

De openbare NuGet-feed is:

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

Als uw omgeving privéfeeds vereist, moet u ervoor zorgen dat deze geldig en toegankelijk zijn. Mogelijk moet u zich authentiseren bij pakketfeeds. Verificatie inschakelen tijdens het bouwen van een project kan worden uitgevoerd met:

dotnet build --interactive

Voor MSBuild is de equivalente opdracht:

msbuild /p:nugetInteractive=true​

Raadpleeg de volgende resources voor andere niet-SQL-foutcodes: