Share via


データベース コード分析規則の機能拡張の概要

Visual Studio Premium および Visual Studio Ultimate には、データベース コードにおける Transact-SQL のデザイン、名前付け、およびパフォーマンスに関する警告を報告するコード分析規則が含まれています。 詳細については、「データベース コードの分析によるコードの品質の向上」を参照してください。

組み込みのコード分析規則が、必要な Transact-SQL の特定の問題に対応していない場合は、カスタムのデータベース コード分析規則を作成できます。 たとえば、WAITFOR DELAY ステートメントが使用されないようにするカスタム規則を作成できます。これは、「チュートリアル: SQL 用のカスタムの静的コード分析規則アセンブリを作成する」で説明されています。 カスタム データベース コード分析規則を作成するには、Microsoft.Data.Schema.StaticCodeAnalysis 名前空間のクラスを使用します。

Visual Studio のカスタム コード分析規則を作成する前に、データベース コード分析規則のさまざまなコンポーネントで使用される基本的なアーキテクチャについて理解する必要があります。

データベース コード分析規則のコンポーネント

次の図は、データベース コード分析規則のコンポーネントがどのように連携して動作するかを示しています。

Database Edition のスタティック コード分析機能拡張のアーキテクチャ

DB コード分析規則を拡張するアーキテクチャ

Visual Studio の現在のセッションでデータベース コード分析規則の機能を使用するには、スタティック コード分析を直接実行するか (詳細については「方法: Transact-SQL コードを分析して障害を検出する」を参照)、またはビルドを実行します。この機能の使用時には、すべての規則が読み込まれ、プロジェクトでの構成方法に従って使用されます。 詳細については、「方法: データベース コードのスタティック分析の特定の規則を有効または無効にする」を参照してください。さらに、作成して登録済みのカスタム規則アセンブリがあれば、それらもすべて拡張機能マネージャーによって読み込まれます。 詳細については、「方法: 拡張機能を登録および管理する」を参照してください。

カスタム コード分析規則クラスは、StaticCodeAnalysisRule クラスから継承されます。 カスタム規則クラスは、DataSchemaModel を使用して IModelElement とその Microsoft.Data.Schema.ScriptDom を管理し、これらはスタティック コード分析エンジンに渡されます。 また、データ スキーマ モデルは、モデル要素、リレーションシップ、および注釈に関するクエリ情報をコード分析規則に提供します。この情報はエラー マネージャーに渡されます。

参照

処理手順

チュートリアル: SQL 用のカスタムの静的コード分析規則アセンブリを作成する

方法: 拡張機能を登録および管理する

方法: カスタムの拡張機能をチーム メンバーに配布する

概念

Visual Studio のデータベース機能の拡張

データベース コードの分析によるコードの品質の向上

コード分析を使用したマネージ コードの品質の分析