データベース コード分析規則の機能拡張の概要
Visual Studio Premium および Visual Studio Ultimate には、データベース コードにおける Transact-SQL のデザイン、名前付け、およびパフォーマンスに関する警告を報告するコード分析規則が含まれています。 詳細については、「データベース コードの分析によるコードの品質の向上」を参照してください。
組み込みのコード分析規則が、必要な Transact-SQL の特定の問題に対応していない場合は、カスタムのデータベース コード分析規則を作成できます。 たとえば、WAITFOR DELAY ステートメントが使用されないようにするカスタム規則を作成できます。これは、「チュートリアル: SQL 用のカスタムの静的コード分析規則アセンブリを作成する」で説明されています。 カスタム データベース コード分析規則を作成するには、Microsoft.Data.Schema.StaticCodeAnalysis 名前空間のクラスを使用します。
Visual Studio のカスタム コード分析規則を作成する前に、データベース コード分析規則のさまざまなコンポーネントで使用される基本的なアーキテクチャについて理解する必要があります。
データベース コード分析規則のコンポーネント
次の図は、データベース コード分析規則のコンポーネントがどのように連携して動作するかを示しています。
Database Edition のスタティック コード分析機能拡張のアーキテクチャ
Visual Studio の現在のセッションでデータベース コード分析規則の機能を使用するには、スタティック コード分析を直接実行するか (詳細については「方法: Transact-SQL コードを分析して障害を検出する」を参照)、またはビルドを実行します。この機能の使用時には、すべての規則が読み込まれ、プロジェクトでの構成方法に従って使用されます。 詳細については、「方法: データベース コードのスタティック分析の特定の規則を有効または無効にする」を参照してください。さらに、作成して登録済みのカスタム規則アセンブリがあれば、それらもすべて拡張機能マネージャーによって読み込まれます。 詳細については、「方法: 拡張機能を登録および管理する」を参照してください。
カスタム コード分析規則クラスは、StaticCodeAnalysisRule クラスから継承されます。 カスタム規則クラスは、DataSchemaModel を使用して IModelElement とその Microsoft.Data.Schema.ScriptDom を管理し、これらはスタティック コード分析エンジンに渡されます。 また、データ スキーマ モデルは、モデル要素、リレーションシップ、および注釈に関するクエリ情報をコード分析規則に提供します。この情報はエラー マネージャーに渡されます。
参照
処理手順
チュートリアル: SQL 用のカスタムの静的コード分析規則アセンブリを作成する