Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
La sortie de build du projet SQL fournit des commentaires sur la construction du modèle de base de données et la validation T-SQL. La sortie de ligne de commande par défaut affiche uniquement les erreurs et certaines informations d’état. Dans cet article, nous expliquons comment activer une journalisation plus détaillée pour vous aider à résoudre les problèmes de génération et les erreurs courantes rencontrées avec des projets SQL.
Activez la journalisation commentée
Pour approfondir l'analyse des problèmes de compilation des projets SQL, vous pouvez utiliser des commutateurs de ligne de commande pour générer plus de journaux. La journalisation supplémentaire peut aider non seulement à identifier la cause des erreurs, mais aussi à identifier les dégradations de la vitesse de génération. Les deux options principales sont les suivantes :
Journal binaire : cette option génère un fichier journal binaire (
msbuild.binlog) qui peut être consulté à l’aide du Visionneur de journal MSBuild. Cet outil de visualisation est utile pour diagnostiquer les problèmes de dépendance et optimiser le processus de compilation. La commande permettant de générer ce journal est la suivante :dotnet build -blOutils de journalisation de fichiers : cette option génère un fichier journal texte qui contient la journalisation la plus détaillée à partir du build. La commande permettant de générer ce journal est la suivante :
dotnet build -flp:v=diag
En résumé, la commande combinée pour générer les deux journaux est la suivante :
dotnet build -bl -flp:v=diag
Vous trouverez l’ensemble complet des commutateurs dans la référence Command-Line MSBuild.
Problèmes courants
Erreurs de compilation
Lorsque l’erreur de génération indique une syntaxe non valide, la sortie spécifie également le fichier qui contient le code erroné. Si vous utilisez la syntaxe récemment ajoutée, vous devrez peut-être mettre à jour votre version du Kit de développement logiciel (SDK) de projet.
Les erreurs de build à partir d’un projet de base de données doivent avoir le code d'erreur SQLxxxxx, où xxxxx est un nombre à cinq chiffres. Voici quelques problèmes qui provoquent l’erreur d’une référence non résolue (SQL71501/SQL71502) :
- Noms d’objets ambigus. Recommandations:
- Utiliser des noms entièrement résolus (
[schema].[table].[column]) - Renommer des objets selon les besoins
- Utiliser des noms entièrement résolus (
- Objets système. Recommandation:
- Ajouter une référence à master ou msdb via une référence de package ou une référence de base de données
- Références externes. Recommandation:
- Vérifiez que les variables SQLCMD sont définies correctement pour la référence de base de données ou de package
Autres erreurs
Pour une erreur qui se produit lors de la restauration, commencez par exécuter une build propre après la suppression des dossiers /bin et /obj dans le projet.
Si l’erreur inclut SDK 'Microsoft.Build.Sql' specified could not be found, commencez par vérifier que les flux de package NuGet sont valides. La commande de base pour afficher les flux actuels est la suivante :
dotnet nuget list source
Le flux NuGet public est le suivant :
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
Si votre environnement nécessite des flux privés, vérifiez qu’ils sont valides et accessibles. Vous devrez peut-être vous authentifier auprès des flux de package. L’activation de l’authentification pendant la génération du projet peut être effectuée avec :
dotnet build --interactive
Pour MSBuild, la commande équivalente est la suivante :
msbuild /p:nugetInteractive=true
Pour d’autres codes d’erreur non-SQL, reportez-vous aux ressources suivantes :
- Erreurs MSBuild : Référence MSBuild
- Erreurs NETSDK : liste d’erreurs du Kit de développement logiciel (SDK) .NET
- Erreurs NuGet : Informations de référence sur les erreurs et avertissements NuGet