What’s New in ApexSQL Developer: ApexSQL Enforce, rules based best practices review

We are excited to announce that we have released another new SQL Server developer tool, ApexSQL Enforce. ApexSQL Enforce is a coding, design and development review and enforcement tool for SQL Server.

It will ship with a comprehensive rulebase with more than 100 out-of-the-box rules, that enforce such things as naming conventions, coding standards and general development best practices.

  1. Community – a sub-set of functionality for Azure SQL Database, Amazon RDS for SQL Server and SQL Express
  2. Standard – a sub-set of functionality for all editions of SQL Server
  3. Professional – a full set of functionality including CLI

The power of ApexSQL Enforce is that it parses script-based objects and even standalone scripts at a deep level and can create an object model out of things like your code structure, that lets you write rules down to the line of code level. For example, you can set rules about what can or can’t exist in order by clauses.

Although we will offer a comprehensive rulebase, users can write their own rules in C# and VB.NET programming languages, with a powerful internal rule editor against our metadata object model. Results will be displayed in rich detail in the grid for further analysis (sorting, grouping, filtering) or exported to a report.

ApexSQL Enforce will be able to be deployed against single databases, standalone scripts and soon, as an add-in to ApexSQL Source Control, so code can be validated, and approved or rejected, at the check-in level.

Existing customers of ApexSQL Developer and ApexSQL Universal, will get ApexSQL Enforce keys added for free to their bundle. Please contact us to get your updated key(s) once the product is released.

This screen shows the main interface with the ApexSQL (CS) rulebase loaded:

Main interface

The rulebase can be browsed via the rulebase explorer on the left and also a detailed grid on the right. The rulebase grid supports grouping and a variety of functions from the context menu:

Rule base grid

The grid also supports column level filters:

Column-level filters

Once processed, the results will be displayed including fields like Result (Pass/Fail), Type (Column), Severity and Impact level:

Result summary

Scripts that exist in script-based objects, like stored procedures, as well as standalone scripts can be parsed at a deep level for rule violations:

Parsed at a deep level

Rules exist as code in C#, VB.NET and soon in PowerShell and can leverage the full power of the .NET family of programming languages:

Enforce rules

Rules can include “Fix SQL” that can be run to correct the problem detected, violation raised:

Fix SQL

 

November 14, 2017