方法 : Transact-SQL コードを分析して障害を見つける
ユーザー インターフェイスを使用してプロジェクトを構築するか、MSBuild を使用してプロジェクトを構築した場合は、必要に応じて Transact-SQL (T-SQL) コードを分析できます。 コードに、設計、名前付け、またはパフォーマンスに関する障害が含まれていると、そのコードを分析した後に 1 つ以上のエラーまたは警告が表示されます。 これらのエラーまたは警告をクリックすると、それらに関連するコードが表示されます。 詳細情報を表示して、その原因やそれらを抑制する必要があるかどうかについて、正しく理解することができます。 Visual Studio Team System Database Edition でのコード分析の詳細については、「スタティック分析によるデータベース コードの改善」を参照してください。
コードを分析する前に、分析の一部として実行する規則を構成できます。 詳細については、「方法 : データベース コードのスタティック分析の特定の規則を有効または無効にする」を参照してください。 さまざまなビルド構成に対して、個別の規則のセットを構成できます。 各開発者がコードをチェックインする前に規則の小規模なセットを実行して一般的な問題をチェックしておけば、総合的な分析は夜間に実行することができます。
Database Edition でのコードの分析
データベース プロジェクトの T-SQL コードを分析するには
データベース プロジェクトが含まれているソリューションを開きます。
[データ] メニューの [スタティック コード分析] をポイントし、[実行] をクリックします。
データベース プロジェクトのコードが分析され、警告またはエラーがあると [エラー一覧] に表示されます。
エラーまたは警告の原因となったソース コードを表示するには
[エラー一覧] で、エラーまたは警告をダブルクリックします。 エラーまたは警告を強調表示して、Enter キーを押すこともできます。
T-SQL エディタが開き、エラーまたは警告に関連するコードが表示されます。 通常は、エラーまたは警告の原因となった句にカーソルが置かれます。
次のいずれかの操作を実行します。
問題をすぐに修正します。
チーム メンバが後で問題を修正するための作業項目を作成します。
詳細については、「方法 : Transact-SQL コードの障害から作業項目を作成する」を参照してください。
無視できる程度のエラーや警告は抑制します。
エラーまたは警告を抑制すると、コードを再び分析してもそれらは表示されなくなります。 詳細については、「方法 : データベース コード分析の警告を抑制する」を参照してください。
エラーまたは警告に関する詳細情報を表示するには
[エラー一覧] で、次のいずれかの操作を実行します。
エラーまたは警告をクリックし、F1 キーを押します。
エラーまたは警告を右クリックし、[エラーのヘルプを表示] をクリックします。
エラーまたは警告に関連付けられたヘルプ トピックが表示されます。 このトピックには、問題の原因、コードの修正方法、およびエラーまたは警告を抑制できるかどうかに関する情報が含まれています。
MSBuild を使用したコードの分析
毎日夜間に規則の総合的なセットを適用する場合は、MSBuild を使用してコードを分析できます。 各ビルド構成の規則を構成し、適用する規則が含まれた構成を指定できます。
応答ファイルを使用して、MSBuild にコマンド ライン引数を渡すことができます。 このファイルには、プロジェクト プロパティをオーバーライドするコマンド ライン スイッチなど、MSBuild に対して有効なコマンド ライン スイッチを含めることができます。 応答ファイルの詳細については、「MSBuild 応答ファイル」を参照してください。MSBuild のコマンド ライン オプションの詳細については、「MSBuild コマンド ライン リファレンス」を参照してください。
コマンド プロンプトからコードを分析すると、StaticCodeAnalysis.Results.xml という名前の XML ファイルに結果が書き込まれます。 このファイルは SQL サブフォルダのプロジェクト フォルダ内にあります。 ResultsFile プロジェクト プロパティの値をオーバーライドすることにより、異なるファイル名を指定できます。
コマンド プロンプトからデータベース プロジェクトの T-SQL コードを分析するには
[コマンド プロンプト] ウィンドウを開きます。
重要 : MSBuild.exe を実行するには、Visual Studio コマンド プロンプトを使用するか、%VS80COMNTOOLS% 環境変数で指定されたフォルダにある vsvars32.bat バッチ ファイルを実行する必要があります。
プロジェクト ディレクトリに移動します。
コマンド プロンプトで、次の例のようなコマンド ラインを入力します。
MSBuild /t:StaticCodeAnalysis /p:Configuration=Release DatabaseProject.dbproj
メモ : MSBuild.exe は、PATH 環境変数で指定されるパスに存在している必要があります。
次のような結果が表示されます。
Microsoft (R) Build Engine Version 3.5.30718.1
[Microsoft .NET Framework, Version 2.0.50727.3051]
Copyright (C) Microsoft Corporation 2007. All rights reserved.
Build started 9/11/2008 3:38:29 PM.
Project "C:\Documents and Settings\UserName\My Documents\Visual Studio 2008\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...
C:\Documents and Settings\UserName\My Documents\Visual Studio 2008\Projects\SolutionName\DatabaseProject\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\sp_ProcedureName.proc.SQL(1,24): warning : SR0016 : Microsoft.Naming : Stored procedure(sp_ProcedureName) includes sp_ prefix in its name.
One problem has been detected.
The results are saved in StaticCodeAnalysis.Results.xml.
Done Building Project "C:\Documents and Settings\UserName\My Documents\Visual Studio 2008\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" (StaticCodeAnalysis target(s)) -- FAILED.
Build FAILED.
"C:\Documents and Settings\UserName\My Documents\Visual Studio 2008\Projects\SolutionName\DatabaseProject\DatabaseProject.dbproj" (StaticCodeAnalysis target) (1) ->
(DspStaticCodeAnalysis target) ->
C:\Documents and Settings\UserName\My Documents\Visual Studio 2008\Projects\SolutionName\DatabaseProject\SCHEMA OBJECTS\SCHEMAS\DBO\PROGRAMMABILITY\STORED PROCEDURES\sp_ProcedureName.PROC.SQL(1,24): warning : SR0016 : Microsoft.Naming : Stored procedure(sp_ProcedureName) includes sp_ prefix in its name.
1 Warning(s)
0 Error(s)
Time Elapsed 00:00:07.07
参照
処理手順
チュートリアル : 既存のデータベースに対する Transact-SQL コードの分析