Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az SQL projekt build kimenete visszajelzést ad az adatbázis modell építéséről és a T-SQL validációról. Az alapértelmezett parancssori kimenet csak hibákat és néhány állapotinformációt mutat. Ebben a cikkben azt beszéljük, hogyan lehet hosszabb naplózást engedélyezni, hogy segítsen az SQL projektek során felmerülő építési problémák és gyakori hibák elhárításában.
Részletes naplózás engedélyezése
Az SQL projektek építési problémáinak további hibakereséséhez parancssori kapcsolókkal több naplót generálhatsz. A részletesebb naplózás nemcsak a hibák okának azonosításában segíthet, hanem a build sebességének romlásában is. A két fő lehetőség a következő:
Bináris naplózó: Ez az opció egy bináris naplófájlt (
msbuild.binlog) generál, amely az MSBuild Log Viewer segítségével megtekinthető. Ez a néző hasznos a függőségi problémák diagnosztizálására és a építési folyamat optimalizálására. A napló generálására szolgáló parancs a következő:dotnet build -blFájlnaplózó: Ez az opció egy szövegnapló fájlt generál, amely tartalmazza a legbőbeszédesebb naplózást a buildből. A napló generálására szolgáló parancs a következő:
dotnet build -flp:v=diag
Összefoglalva, a két napló generálásához szükséges kombinált parancs a következő:
dotnet build -bl -flp:v=diag
A teljes kapcsolókészlet megtalálható az MSBuild Command-Line Reference oldalon.
Gyakori problémák
Összeállítási hibák
Amikor a build hiba értelen szintaxist jelez, a kimenet azt is meghatározza, hogy melyik fájl tartalmazza a hibás kódot. Ha nemrég hozzáadott szintaxist használsz, lehet, hogy frissítened kell a projekt SDK verziódat.
Az adatbázis-projektből származó build hibáknak hibakódnak kell lennie SQLxxxxx , ahol xxxxx öt jegyű szám. Néhány probléma, amely a megoldatlan hivatkozás (SQL71501/SQL71502) hibáját okozza, a következők:
- Kétértelmű tárgynevek. Ajánlások:
- Teljesen feloldott neveket használj (
[schema].[table].[column]) - Szükség szerint nevezd át az objektumokat
- Teljesen feloldott neveket használj (
- Rendszerobjektumok. Javaslat:
- Hivatkozás hozzáadása a master vagy msdb-hez csomaghivatkozáson vagy adatbázis-hivatkozáson keresztül
- Külső hivatkozások. Ajánlás:
- Győződj meg róla, hogy az SQLCMD változók helyesen legyenek beállítva az adatbázis referencia vagy csomaghivatkozás számára
Egyéb kudarcok
A visszaállítás során előforduló hiba esetén először indíts egy tiszta buildet, miután törölted a projektből a /bin and /obj mappákat.
Ha a hiba tartalmazza SDK 'Microsoft.Build.Sql' specified could not be found, kezdjük azzal, hogy ellenőrizzük a NuGet csomagfelvételek érvényességét. Az aktuális adatfolyamok megtekintéséhez szolgáló alapparancs a következő:
dotnet nuget list source
A nyilvános NuGet hírfolyam a következő:
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
Ha a környezeted privát hírfolyamokat igényel, győződj meg róla, hogy azok érvényesek és hozzáférhetőek. Előfordulhat, hogy csomagfelvételekkel hitelesíteni kell. A hitelesítés engedélyezése a projekt építése közben a következőképpen lehetséges:
dotnet build --interactive
MSBuild esetén az ekvivalens parancs a következő:
msbuild /p:nugetInteractive=true
Más nem SQL hibakódokhoz lásd az alábbi forrásokat:
- MSBuild hibák: MSBuild Reference
- NETSDK hibák: .NET SDK hibalista
- NuGet hibák: NuGet hibák és figyelmeztetések hivatkozása