Como: Analisar o código Transact-SQL para localizar defeitos
Você pode analisar seu Transact-SQL código sob demanda, quando você compila seu projeto usando a interface do usuário, ou quando você compila seu projeto usando MSBuild. Depois que o seu código for analisado, um ou mais erros ou avisos aparecerá se o código pode conter o design, nomenclatura, desempenho ou defeitos. Você pode clicar esses erros ou avisos para exibir o código para que eles se relacionam. Você também pode exibir mais informações para entender melhor suas causas e talvez queira suprimi-las. Para obter mais informações sobre análise de código em Visual Studio Premium e Visual Studio Ultimate, consulte Analisando o código do banco de dados para melhorar a qualidade do código.
Antes de analisar o seu código, você talvez queira configurar as regras que serão executado como parte da análise. Para obter mais informações, consulte Como: Habilitar e desabilitar regras específicas para análise estática de código do banco de dados. Você pode configurar diferentes conjuntos de regras para configurações diferentes de compilação. Você poderia ter seus desenvolvedores executados um conjunto menor de regras para verificar problemas comuns antes que verificam seu código e, em seguida, você pode executar uma análise mais abrangente no período noturno.
Análise de código no Database Edition
Analisar o código Transact-SQL em seu projeto de banco de dados
Abra a solução que contém o seu projeto de banco de dados.
Sobre o dados , aponte para Análise estática de códigoe clique em Executar.
O código em seu projeto de banco de dados é analisado e quaisquer erros e avisos são exibidos o Error List.
Para exibir o código-fonte que causou um erro ou aviso
No Error List, clique duas vezes em um erro ou aviso. Você também pode realçar um erro ou aviso e pressione ENTER.
O Transact-SQL editor abre e exibe o código para o qual o erro ou aviso se relaciona. Quando possível, o cursor está posicionado na cláusula que causou o erro ou aviso.
Execute uma das seguintes etapas:
Corrigi o problema imediatamente.
Crie um item de trabalho para que você ou outro membro da equipe irá corrigir o problema mais tarde.
Para obter mais informações, consulte Como: Criar um Item de trabalho de um defeito no código do Transact-SQL.
Suprime o erro ou aviso se ele pode ser ignorado.
Se você suprimir a um erro ou aviso, ele não aparecerá quando você analisa novamente o seu código. Para obter mais informações, consulte Como: Suprimir Avisos de análise de código do banco de dados.
Para exibir mais informações sobre um erro ou aviso
No Error List, execute uma das seguintes etapas:
Clique no erro ou aviso e pressione F1.
Clique com o botão direito do erro ou aviso e, em seguida, clique em Mostrar Ajuda de erro.
O tópico da Ajuda que está associado com o erro ou aviso é exibida. O tópico contém informações sobre a causa do problema, como pode corrigir seu código e se pode ser que você deseja suprimir o erro ou aviso.
A análise de código usando MSBuild
Você pode optar por analisar seu código usando MSBuild se você deseja aplicar um conjunto mais abrangente de regras durante uma execução noturna. Você pode configurar regras para cada configuração de compilação e, em seguida, especifique a configuração que contém a regra ou regras que você deseja aplicar.
Você pode usar um arquivo de resposta para fornecer os argumentos de linha de comando para MSBuild. Esse arquivo pode conter quaisquer opções de linha de comando são válidas para MSBuild, inclusive aquelas que substituir propriedades do projeto. Para obter mais informações sobre arquivos de resposta, consulte Arquivos de resposta do MSBuild. Para obter mais informações sobre as opções de linha de comando para MSBuild, consulte Referência de linha de comando do MSBuild.
Ao analisar seu código em um prompt de comando, os resultados são gravados em um arquivo XML chamado StaticCodeAnalysis.Results.xml. Você pode encontrar este arquivo na pasta do projeto na subpasta SQL. Você pode especificar um nome de arquivo diferente, substituindo o valor da propriedade de projeto ResultsFile.
Analisar o código Transact-SQL em seu projeto de banco de dados a partir de um prompt de comando
Abrir um o Prompt de comando janela.
Importante Para executar MSBuild. exe, você deve usar o Visual Studio o Prompt de comando, ou você deve executar o arquivo em lotes de vsvars32.bat na pasta em que a variável de ambiente % VS80COMNTOOLS % especifica.
Navegue até o diretório do projeto.
Em um prompt de comando, digite uma linha de comando semelhante ao seguinte exemplo:
MSBuild /t:StaticCodeAnalysis /p:Configuration=Release DatabaseProject.dbproj
Observação MSBuild. exe deve estar no caminho que especifica a sua variável de ambiente PATH.
Examine a saída do MSBuild. exe. A saída, como a seguir aparecerá:
Microsoft (R) Build Engine Version 4.0.30115.0 [Microsoft .NET Framework, Version 4.0.30115.0] Copyright (C) Microsoft Corporation 2007. All rights reserved. Build started 9/11/2008 3:38:29 PM. Project " C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" on node 0 (StaticCodeAnalysis target(s)). Creating a model to represent the project... Loading project files... Building the project model and resolving object interdependencies... Validating the project model... 1 problem has been detected C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\sp_ProcedureName.proc.SQL(1,24): StaticCodeAnalysis warning : SR0014 : Microsoft.Rules.Data : Data loss might occur when casting from ASCII String(1) to NChar(1). [C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj] One problem has been detected. The results are saved in C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\sql\release\DatabaseProject.StaticCodeAnalysis.Results.xml. Done Building Project " C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" (StaticCodeAnalysis target(s)) -- FAILED. Build succeeded. " C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" (StaticCodeAnalysis target) (1) -> (DspStaticCodeAnalysis target) -> C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\sp_ProcedureName.PROC.SQL(1,24): StaticCodeAnalysis warning : SR0014 : Microsoft.Rules.Data : Data loss might occur when casting from ASCII String(1) to NChar(1). [C:\Users\UserName\Documents\Visual Studio 2010\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj] 1 Warning(s) 0 Error(s) Time Elapsed 00:00:07.07
Consulte também
Tarefas
Demonstra Passo a passo: Analisar o código do Transact-SQL para um banco de dados existente
Conceitos
Analisando o código do banco de dados para melhorar a qualidade do código
Analisando qualidade de código gerenciado usando a análise de código
Outros recursos
Questões de Design do Transact-SQL