Skip to content

120+ SQL Server static code analysis rules for SQL Database Projects

License

Notifications You must be signed in to change notification settings

ErikEJ/SqlServer.Rules

 
 

Repository files navigation

Static Analysis Rule-sets for SQL Projects

build status latest version latest version

Overview

A library of SQL best practices implemented as more than 120 database code analysis rules checked at build.

The rules can be added as NuGet packages to SQL projects based on either MSBuild.Sdk.SqlProj or Microsoft.Build.Sql

For a complete list of the current rules we have implemented see here.

This fork also contains an additional set of rules TSQL Smells forked from TSQL-Smells

Usage

The latest version is available on NuGet

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

You can read more about using and customizing the rules in the readme here

Solution Organization

.github - GitHub actions

docs - markdown files generated from rule inspection with the DocsGenerator unit test

Solution Items - files relating to build etc.

src

  • SqlServer.Dac - This hold visitors and other utility code
  • SqlServer.Rules - This holds the rules derived from SqlCodeAnalysisRule
  • TSQLSmellSCA - an additional set of rules TSQL Smells forked from TSQL-Smells

test

  • SqlServer.Rules.Generator - a quick console app to report on all rules in a SQL Project.
  • SqlServer.Rules.Report - Library for evaluating a rule and serializing the result.
  • SqlServer.Rules.Tests - a few test to demonstrate unit testing of rules
  • TestDatabase - a small SQL Database Project with some rule violations
  • TSQLSmellsSSDTTest - unit tests of some of the TSQL Smells rules
  • TSQLSmellsTest - a SQL Database Project with some rule violations

About

120+ SQL Server static code analysis rules for SQL Database Projects

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Sponsor this project

 

Languages

  • C# 54.8%
  • TSQL 44.4%
  • XSLT 0.8%