SQL 프로젝트 빌드 출력은 데이터베이스 모델 생성 및 T-SQL 유효성 검사에 대한 피드백을 제공합니다. 기본 명령줄 출력에는 오류 및 일부 상태 정보만 표시됩니다. 이 문서에서는 빌드 문제 및 SQL 프로젝트에서 발생하는 일반적인 오류를 해결하는 데 도움이 되는 자세한 로깅을 사용하도록 설정하는 방법에 대해 설명합니다.
자세한 로깅 사용 설정
SQL 프로젝트의 빌드 문제를 추가로 해결하려면 명령줄 스위치를 사용하여 더 많은 로그를 생성할 수 있습니다. 더 많은 로깅은 오류의 원인뿐만 아니라 빌드 속도 저하를 식별하는 데 도움이 될 수 있습니다. 두 가지 기본 옵션은 다음과 같습니다.
이진 로거: 이 옵션은 MSBuild 로그 뷰어를 사용하여 볼 수 있는 이진 로그 파일(
msbuild.binlog)을 생성합니다. 이 뷰어는 종속성 문제를 진단하고 빌드 프로세스를 최적화하는 데 유용합니다. 이 로그를 생성하는 명령은 다음과 같습니다.dotnet build -bl파일 로거: 이 옵션은 빌드에서 가장 자세한 로깅을 포함하는 텍스트 로그 파일을 생성합니다. 이 로그를 생성하는 명령은 다음과 같습니다.
dotnet build -flp:v=diag
요약하면 두 로그를 모두 생성하는 결합된 명령은 다음과 같습니다.
dotnet build -bl -flp:v=diag
스위치의 전체 집합은 MSBuild Command-Line 참조에서 찾을 수 있습니다.
일반적인 문제
빌드 오류
빌드 오류가 잘못된 구문을 나타내는 경우 출력은 잘못된 코드를 포함하는 파일도 지정합니다. 최근에 추가된 구문을 사용하는 경우 프로젝트 SDK 버전을 업데이트해야 할 수 있습니다.
데이터베이스 프로젝트의 빌드 오류에는 SQLxxxxx 5자리 숫자인 오류 코드 xxxxx 가 있어야 합니다. 해결되지 않은 참조(SQL71501/SQL71502)에 대한 오류를 발생시키는 몇 가지 문제는 다음과 같습니다.
- 모호한 개체 이름입니다. 권장 사항:
- 완전히 확인된 이름 사용(
[schema].[table].[column]) - 필요에 따라 개체 이름 바꾸기
- 완전히 확인된 이름 사용(
- 시스템 개체입니다. 추천:
- 외부 참조입니다. 추천:
기타 실패
오류가 발생할 경우, /bin 및 /obj 폴더를 삭제한 다음, 먼저 클린 빌드를 실행하여 복원 문제를 해결하세요.
오류가 포함된 SDK 'Microsoft.Build.Sql' specified could not be found경우 먼저 NuGet 패키지 피드가 유효한지 확인합니다. 현재 피드를 보는 기본 명령은 다음과 같습니다.
dotnet nuget list source
공용 NuGet 피드는 다음과 같습니다.
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
사용자 환경에 프라이빗 피드가 필요한 경우 유효하고 액세스할 수 있는지 확인합니다. 패키지 피드를 사용하여 인증해야 할 수 있습니다. 프로젝트 빌드 중에 인증을 사용하도록 설정하는 작업은 다음을 사용하여 수행할 수 있습니다.
dotnet build --interactive
MSBuild의 경우 해당하는 명령은 다음과 같습니다.
msbuild /p:nugetInteractive=true
다른 비 SQL 오류 코드는 다음 리소스를 참조하세요.
- MSBuild 오류: MSBuild 참조
- NETSDK 오류: .NET SDK 오류 목록
- NuGet 오류: NuGet 오류 및 경고 참조