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