返回市场
SqlServer.规则

SqlServer.规则

作者:ErikEJ196 星标更新:2025-11-18

项目介绍

SQL 项目静态分析规则集

构建状态 最新版本 GitHub 赞助者

概述

一个包含超过120条数据库代码分析规则的SQL最佳实践库,在构建时进行检查。

这些规则可以作为NuGet包添加到基于MSBuild.Sdk.SqlProjMicrosoft.Build.Sql的现代SQL数据库项目中。

您也可以下载并手动在Visual Studio和“经典”的SQL数据库项目中使用这些规则,具体方法参见我的博客文章

有关我们已实现的所有当前规则的完整列表,请参阅此处

此分叉还包含从TSQL-Smells分叉而来的额外规则集 TSQL Smells

使用方法

最新版本可在NuGet上获取

dotnet add package ErikEJ.DacFX.SqlServer.Rules
dotnet add package ErikEJ.DacFX.TSQLSmellSCA

关于如何使用和自定义规则的更多信息,请参阅此处的readme

命令行工具 - T-SQL 分析器 CLI

此仓库还包括一个使用规则集的.NET命令行工具。

您可以使用它来分析SQL脚本或SQL数据库项目,并以多种格式输出结果,包括XML和JSON。

您还可以将该工具作为MCP服务器与GitHub Copilot配合使用,允许您在使用GitHub Copilot Chat时获得SQL代码反馈。

T-SQL 分析器 MCP服务器支持跨多个开发环境的快速安装。请选择以下客户端之一进行简化设置:

客户端一键安装MCP指南
VS Code在VS Code中安装VS Code MCP官方指南
Visual Studio在Visual Studio中安装Visual Studio MCP官方指南

更多内容请参阅专用的readme文件

Visual Studio 扩展 - T-SQL 分析器

此仓库还包括一个使用规则集的Visual Studio扩展。

您可以在Visual Studio中实时分析SQL数据库项目,并在错误列表窗口中查看结果。

Visual Studio Marketplace下载扩展, 或获取持续集成构建

更多内容请参阅专用的readme文件

解决方案组织

.github - GitHub 动作

docs - 由DocsGenerator单元测试生成的markdown文件

Solution Items - 与构建等相关文件

src

  • SqlServer.Rules - 存放从SqlCodeAnalysisRule派生的规则
  • TSQLSmellSCA - 从TSQL-Smells分叉而来的额外规则集 TSQL Smells

test

  • SqlServer.Rules.Tests - 展示规则单元测试的一些测试
  • TSQLSmellsSSDTTest - 对一些 TSQL Smells 规则的单元测试
  • TestHelpers - 共享的测试基类

tools

  • SqlAnalyzerCli - 用于对SQL项目运行规则的命令行工具
  • SqlAnalyzerVsix - 用于对SQL项目运行规则的Visual Studio扩展
  • ErikEJ.DacFX.TSQLAnalyzer - 运行SQL脚本规则并报告结果的库和NuGet包。被SqlAnalyzerCli使用
  • SqlServer.Rules.Generator - 快速控制台应用,用于报告SQL项目中的所有规则。
  • SqlServer.Rules.Report - 评估规则并序列化结果的库。

sqlprojects

  • AW - AdventureWorks模式SQL项目,用于规则验证
  • TestDatabase - 包含一些规则违规的小型SQL数据库项目
  • TSQLSmellsTest - 包含一些规则违规的SQL数据库项目