SqlServer.Rules について
SqlServer.Rulesは、SQL Databaseプロジェクト向けの静的解析ルールライブラリです。SQLプロジェクトを作成・ビルドする開発者を対象に、設計、命名、性能に関する140超のルールを提供し、CLI、IDE拡張、ビルドで結果を確認できます。
主な機能
- 01140超のデータベースコード解析ルール
- 02SQLプロジェクトのビルド時チェック
- 03SQLスクリプトとデータベースプロジェクトの解析
- 04XMLおよびJSON形式での出力
- 05エディターでのリアルタイム診断
活用シーン
- 01ビルド時のSQLプロジェクトコード検査
- 02T-SQLスクリプトの解析とレポート出力
- 03Visual Studio、SSMS、VS CodeでのSQL検査
MCP 対応
リポジトリには、VS CodeおよびVisual StudioのGitHub Copilot向けにMCPサーバーとして使えるT-SQL Analyzer CLIが含まれ、SQLコードの分析結果を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
SQL プロジェクト向け静的解析ルールセット
概要
ビルド時にチェックされる、140 を超えるデータベースコード分析ルールとして実装された、SQL のベストプラクティスのライブラリです。
これらのルールは、NuGet パッケージとして SQL Database プロジェクトに追加できます。
- モダンな SDK スタイルのプロジェクト:MSBuild.Sdk.SqlProj および Microsoft.Build.Sql
- 従来の .sqlproj:レガシー SSDT プロジェクト(Visual Studio 2017 以降が必要)
実装済みの現行ルールの完全な一覧は、こちらをご覧ください。
コンポーネントスタック
flowchart TD
VS["Visual Studio T-SQL Analyzer<br/>Live feedback in Visual Studio"]
SSMS["SSMS T-SQL Analyzer<br/>Live feedback in SQL Server Management Studio"]
VSC["VS Code T-SQL Analyzer<br/>Live feedback in Visual Studio Code"]
CLI["T-SQL Analyzer CLI<br/>tsqlanalyze command line tool"]
MBSQL["SQL Database Projects<br/>Build-time SQL Project analysis"]
RULES["SqlServer.Rules<br/>(NuGet package)<br/>Static SQL code analysis rules"]
MCP["MCP Server<br/>AI Agent integration for SQL code analysis rules"]
VS --> CLI
SSMS --> CLI
VSC --> CLI
CLI --> RULES
MBSQL --> RULES
MCP --> CLI
使用方法
最新バージョンは NuGet で入手できます。
dotnet add package ErikEJ.DacFX.SqlServer.Rules
モダンな SDK スタイルのプロジェクト
ルールは NuGet パッケージとして提供されており、SQL Database プロジェクトに追加できます。ルールはビルド中に実行され、問題があれば「エラー一覧」ウィンドウに報告されます。
ルールの使用方法やカスタマイズについては、こちらのドキュメントをご覧ください。
従来の .sqlproj プロジェクト
こちらのブログ記事で説明されているように、ルールをダウンロードして、Visual Studio と「従来の」SQL Database プロジェクトで手動で使用できます。
コマンドラインツール - T-SQL Analyzer CLI
このリポジトリには、ルールセットを使用する .NET コマンドラインツールも含まれています。
このツールを使って、SQL スクリプトや SQL Database プロジェクトを分析し、XML や JSON など、さまざまな形式で結果を出力できます。
また、このツールを VS Code および Visual Studio の GitHub Copilot とともに MCP サーバーとして使用すると、GitHub Copilot Chat を使って SQL コードへのフィードバックを受け取れます。
T-SQL Analyzer MCP サーバーは、複数の開発環境ですばやくインストールできます。簡単にセットアップできるよう、以下からお好みのクライアントを選択してください。
| クライアント | ワンクリックインストール | MCP ガイド |
|---|---|---|
| VS Code | VS Code MCP 公式ガイド | |
| Visual Studio | Visual Studio MCP 公式ガイド |
詳細は、専用のreadme ファイルをご覧ください。
Visual Studio 拡張機能 - T-SQL Analyzer
このリポジトリには、ルールセットを使用する Visual Studio 拡張機能も含まれています。
Visual Studio で SQL スクリプトをリアルタイムに分析し、エラー一覧ウィンドウで結果を確認できます。
拡張機能は Visual Studio Marketplace からダウンロードするか、 CI ビルド を入手してください。
詳細については、専用の readme ファイルをご覧ください。
SQL Server Management Studio 拡張機能 - T-SQL Analyzer
このリポジトリには、ルールセットを使用する SQL Server Management Studio 拡張機能も含まれています。
SQL Server Management Studio で SQL スクリプトをリアルタイムに分析し、エラー一覧ウィンドウで結果を確認できます。
この拡張機能の最新ビルドは、SSMS VSIX Gallery からダウンロードしてください。
詳細については、専用の readme ファイルをご覧ください。
VS Code 拡張機能 - T-SQL Analyzer
このリポジトリには、ルールセットを使用する VS Code 拡張機能も含まれています。
Visual Studio Code で入力すると、.sql ファイルにリアルタイムの波線と診断が表示されます。ビルド手順は不要です。
詳細については、専用の readme ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。