For the best web experience, please use IE11+, Chrome, Firefox, or Safari

SQL code smells

ApexSQL Enforce is a SQL developer tool used to create, maintain and run a set of best practice code rules against a SQL server database or a SQL script. The process of executing rules can be set to run unattended via the command line interface. New rules can be written, or you can use the included set of pre-defined rules that can be updated and customized.
An introduction to ApexSQL Enforce 09:58


  • Review databases and individual SQL scripts

  • Import and export rules

  • Process unattended via the CLI

  • Seamlessly integrate into your CI/CD process

  • Leverage a library of 100+ pre-written rules

  • Create custom rules with a built in IDE

  • Write custom rules in C# or VB.NET

  • Create HTML reports and XML exports

  • Integrate with SSMS and Visual Studio

  • Generate SQL to fix violations


Enforce best practices

Process databases and scripts against more than 100 out-of-the-box rules covering best practices, naming conventions, potential configuration and performance problems and more

Create and manage rulebases

Create new/different rulebases by exporting and importing. Download updated rulebases directly from our website and import new rules into your existing rulebase

Create new rules

Create your own, custom rules using C# or VB.NET. Code rule conditions using auto-complete, syntax highlighting and all the other features you would expect in an integrated IDE

Manage rules

Edit, sort, filter, group and view rules within a grid based interface

Report and export results

Create XML reports and XML exports. Export all generated Fix SQL snippets into a single script to fix all detected problems

Process static scripts

Review and process stand-alone scripts aka static script analysis

Customize severity, impact score and failure thresholds

Customize severity level for rules and impact score for severities. Set custom thresholds for build failure

Categorize rules

Allocate rules to existing or custom categories i.e. security, performance, naming conventions within an existing rulebase

Programmatically construct Fix SQL statements

Enter static Fix SQL into the rule editor, or create it programmatically via the rule condition

Write rules down to the statement level

Our API exposes a script parse tree down to the sub-statement level like elements of a Where or Order by clause. This allows rules to be written to govern script level best practices like statement construction, use of triggers and cursors, variable naming and much more

Explore rulebases

View, select and run specific rules from various groups using the Rulebase explorer panel

View results

See a summary from a processed rulebase including summary and detail information

Visual themes

Customize the visual appearance with interface themes. Learn more


Clinical NetwoRx

I have worked for 18 yrs as a developer and for the past 5 yrs I have been an application manager, never have I seen a prompt response in my career. Worked with tons of products most of them not as good, but kudos to you man, you have got a great product and promising support.

Trenton D Souza Application Manager, Clinical NetwoRx

Connected System Developer

Thanks for great products!

John Saunders Microsoft MVP, Connected System Developer

ApexSQL Enforce is part of the ApexSQL DevOps toolkit

ApexSQL DevOps toolkit

Get started now

Improve SQL code smells with best coding practices reviews and enforcement.