Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 -blBestandslogger: 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
- Volledig opgeloste namen gebruiken (
- Systeemobjecten. Aanbeveling:
- Verwijzing naar master of msdb toevoegen via pakketverwijzing of databaseverwijzing
- Externe verwijzingen. Aanbeveling:
- Zorg ervoor dat SQLCMD-variabelen juist zijn ingesteld voor de databasereferentie of pakketreferentie
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:
- MSBuild-fouten: MSBuild Reference
- NETSDK-fouten: .NET SDK-foutenlijst
- NuGet-fouten: NuGet-fouten en -waarschuwingen
Verwante inhoud
- Overzicht van SQL-projecten
- hulpprogramma's voor SQL-projecten
- Problemen met SqlPackage oplossen