Наборы правил статического анализа для SQL-проектов
Обзор
Библиотека лучших практик SQL, реализованная в более чем 140 правил анализа кода баз данных, которые проверяются на этапе сборки.
Эти правила можно добавлять в проекты SQL Database в виде NuGet-пакетов:
-
Современные проекты в стиле 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. Правила будут выполняться во время сборки и отображать найденные проблемы в окне Error List.
Подробнее об использовании и настройке правил можно узнать в документации здесь
Классические .sqlproj-проекты
Вы можете скачать и вручную использовать правила вместе с Visual Studio и «классическими» проектами SQL Database, как описано в моем блог-посте здесь.
Инструмент командной строки - T-SQL Analyzer CLI
В этом репозитории также есть инструмент командной строки на .NET, который использует набор правил.
Его можно использовать для анализа SQL-скриптов или проектов SQL Database и выводить результаты в различных форматах, включая XML и JSON.
Также инструмент можно использовать в качестве MCP Server с GitHub Copilot в VS Code и Visual Studio, что позволяет получать обратную связь по вашему SQL-коду через GitHub Copilot Chat.
Сервер MCP T-SQL Analyzer поддерживает быструю установку в нескольких средах разработки. Выберите предпочитаемого клиента ниже для упрощения настройки:
| Клиент | Установка одним кликом | Руководство по MCP |
|---|---|---|
| VS Code | VS Code MCP Official Guide | |
| Visual Studio | Visual Studio MCP Official Guide |
Подробнее в посвящённом readme-файле
Расширение Visual Studio - T-SQL Analyzer
В этом репозитории также есть расширение Visual Studio, использующее набор правил.
Запускайте живой анализ ваших SQL-скриптов внутри Visual Studio и получайте результаты в окне Error List.
Скачайте расширение в Visual Studio Marketplace
или получите CI-сборку
Подробнее в посвящённом readme-файле
Расширение SQL Server Management Studio - T-SQL Analyzer
В этом репозитории также есть расширение SQL Server Management Studio, использующее набор правил.
Проводите живой анализ ваших SQL-скриптов в SQL Server Management Studio и получайте результаты в окне Error List.
Скачайте последнюю сборку этого расширения в SSMS VSIX Gallery
Подробнее в посвящённом readme-файле
Расширение VS Code - T-SQL Analyzer
В этом репозитории также есть расширение VS Code, использующее набор правил.
Получайте живые подсветки и диагностику ваших файлов .sql по мере набора кода в Visual Studio Code — сборка не требуется.
Подробнее в посвящённом readme-файле