Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A saída de build do projeto SQL fornece comentários sobre a construção do modelo de banco de dados e a validação do T-SQL. A saída da linha de comando padrão mostra apenas erros e algumas informações de status. Neste artigo, discutiremos como habilitar o registro em log mais detalhado para ajudar a solucionar problemas de build e erros comuns encontrados com projetos SQL.
Habilitar registro em log detalhado
Para solucionar mais problemas de build para projetos SQL, você pode usar comutadores de linha de comando para gerar mais logs. Mais logs podem ajudar a identificar não apenas a causa de erros, mas também a degradação na velocidade de build. As duas opções principais são:
Agente binário: essa opção gera um arquivo de log binário (
msbuild.binlog) que pode ser exibido usando o Visualizador de Logs do MSBuild. Esse visualizador é útil para diagnosticar problemas de dependência e otimizar o processo de build. O comando para gerar esse log é:dotnet build -blRegistrador de arquivos: essa opção gera um arquivo de log de texto que contém o log mais minucioso do build. O comando para gerar esse log é:
dotnet build -flp:v=diag
Para recapitular, o comando combinado para gerar ambos os logs é:
dotnet build -bl -flp:v=diag
O conjunto completo de comutadores pode ser encontrado na Referência de linha de comando do MSBuild.
Problemas comuns
Erros de compilação
Quando o erro de build indica sintaxe inválida, a saída também especifica qual arquivo contém o código incorreto. Se você estiver usando a sintaxe que foi adicionada recentemente, talvez seja necessário atualizar a versão do SDK do projeto.
Erros de build de um projeto de banco de dados devem ter SQLxxxxx código de erro, onde xxxxx está um número de cinco dígitos. Alguns problemas que causam o erro para uma referência não resolvida (SQL71501/SQL71502) são:
- Nomes de objeto ambíguos. Recomendações:
- Usar nomes totalmente resolvidos (
[schema].[table].[column]) - Renomear objetos conforme necessário
- Usar nomes totalmente resolvidos (
- Objetos do sistema. Recomendação:
- Adicionar referência ao mestre ou msdb por meio de referência de pacote ou referência de banco de dados
- Referências externas. Recomendação:
- Verifique se as variáveis SQLCMD estão definidas corretamente para a referência de banco de dados ou referência de pacote
Outras falhas
Para um erro que ocorre durante a restauração, primeiro execute um build limpo após excluir as pastas /bin e /obj no projeto.
Se o erro incluir SDK 'Microsoft.Build.Sql' specified could not be found, comece verificando se os feeds de pacote do NuGet são válidos. O comando base para exibir feeds atuais é:
dotnet nuget list source
O feed público do NuGet é:
dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org
Se o ambiente exigir feeds privados, verifique se eles são válidos e acessíveis. Pode ser necessário autenticar com feeds de pacote. A habilitação da autenticação durante o build do projeto pode ser feita com:
dotnet build --interactive
Para o MSBuild, o comando equivalente é:
msbuild /p:nugetInteractive=true
Para outros códigos de erro não SQL, consulte os seguintes recursos:
- Erros do MSBuild: Referência do MSBuild
- Erros do NETSDK: lista de erros do SDK do .NET
- Erros do NuGet: Referência de erros e avisos do NuGet