Наборы правил статического анализа для проектов SQL
Обзор
Библиотека лучших практик SQL, реализованная в виде более 120 правил анализа кода базы данных, проверенных при сборке.
Правила можно добавлять как пакеты NuGet в современные проекты баз данных SQL на основе MSBuild.Sdk.SqlProj или Microsoft.Build.Sql .
Вы также можете загрузить и вручную использовать правила с проектами Visual Studio и «классическими» базами данных SQL, как описано в моем сообщении в блоге здесь .
Полный список действующих правил можно найти здесь .
Этот форк также содержит дополнительный набор правил
TSQL Smellsответвленный от TSQL-Smells
Related MCP server: Google Toolbox
Использование
Последняя версия доступна на NuGet
Подробнее об использовании и настройке правил можно прочитать в файле readme здесь.
Инструмент командной строки - T-SQL Analyzer CLI
Этот репозиторий также содержит инструмент командной строки .NET, который использует наборы правил. Подробнее читайте в специальном файле readme
Организация решения
.github — действия GitHub
docs — файлы разметки, созданные в результате проверки правил с помощью модульного теста DocsGenerator
Solution Items — файлы, относящиеся к сборке и т. д.
src
SqlServer.Rules— содержит правила, полученные изSqlCodeAnalysisRuleTSQLSmellSCA— дополнительный набор правилTSQL Smellsответвление от TSQL-Smells
test
SqlServer.Rules.Tests— несколько тестов для демонстрации модульного тестирования правилTSQLSmellsSSDTTest— модульные тесты некоторых правилTSQL SmellsTestHelpers— общие базовые тестовые классы
tools
SqlAnalyzerCli— инструмент командной строки для запуска правил в проекте SQLErikEJ.DacFX.TSQLAnalyzer— библиотека и пакет NuGet для запуска правил в отношении скриптов SQL и предоставления отчетов о результатах. ИспользуетсяSqlAnalyzerCliSqlServer.Rules.Generator— быстрое консольное приложение для создания отчетов по всем правилам в проекте SQL.SqlServer.Rules.Report— библиотека для оценки правила и сериализации результата.
sqlprojects
AW- Проект SQL схемы AdventureWorks для проверки правилTestDatabase— небольшой проект базы данных SQL с некоторыми нарушениями правилTSQLSmellsTest— проект базы данных SQL с некоторыми нарушениями правил