TSQLLint
TSQLLint identifies and reports undesirable patterns in T-SQL scripts.
What TSQLLint is
TSQLLint identifies and reports undesirable patterns in T-SQL scripts. Its rules can be set to off, warning, or error, and an error-level violation produces a non-zero exit code. The command-line tool can automatically fix problems it considers fixable using the --fix or -x option. Configuration can be stored in a .tsqllintrc file; without one, the tool uses an in-memory default configuration. Listed SQL Server compatibility levels run from 80 to 150. Custom .NET plugins are supported if they implement TSQLLint's IPlugin interface and target net6.0. Before lint rules run, file placeholders are replaced with values supplied through environment variables. Installation options include dotnet-tool, Homebrew, and NPM. A VS Code extension underlines potential issues in opened .sql files for inspection on hover, and SQL Server Management Studio can invoke TSQLLint through External Tools. The software is free under the MIT License. Its intended audience is people working with T-SQL who want to configure checks and report on patterns in their scripts.
Good
- Rules can be set to off, warning, or error
- Command line can fix identified fixable problems
- VS Code integration underlines potential issues
- Custom .NET plugins are supported
Watch out
- Targets T-SQL rather than other SQL dialects
- Custom plugins must target net6.0
- Auto-fix applies only to problems marked fixable
Who it suits
TSQLLint suits T-SQL developers who want configurable checks in a command-line workflow, VS Code, or SQL Server Management Studio. It also supports custom .NET plugins for extending its rules.
Verdict
TSQLLint provides configurable T-SQL checks, editor integration, and a command-line auto-fix option for eligible issues. Its scope is T-SQL, so confirm that matches the scripts and compatibility level you need.
Plans and prices
From TSQLLint's own pricing page, checked 30 Sep 2001.
| Plan | Price | What it gives you |
|---|---|---|
| TSQLLint | Free | MIT-licensed software · installable with dotnet-tool, Homebrew, or NPM |
The facts
Each one read from TSQLLint's own pages, with the date it was checked.
What it does
- Auto-fix
- The command-line tool can fix problems it identifies as auto-fixable using the --fix or -x option.checked 30 Sep 2001
- Configuration
- Users can create a .tsqllintrc configuration file, and the tool uses an in-memory default configuration when none is found.checked 30 Sep 2001
- Install methods
- The project lists dotnet-tool, Homebrew, and NPM as officially supported installation methods.checked 30 Sep 2001
- Intended users
- The documented use is for people working with TSQL scripts who want to configure and report on undesirable patterns.checked 30 Sep 2001
- License
- The software is distributed under the MIT License, which grants permission to use, copy, modify, distribute, sublicense, and sell copies subject to its conditions.checked 30 Sep 2001
- Plugins
- Users can extend the tool with custom .NET plugins that implement TSQLLint's IPlugin interface and target net6.0.checked 30 Sep 2001
- Purpose
- TSQLLint describes, identifies, and reports anti-patterns in TSQL scripts.checked 30 Sep 2001
- Rule controls
- Rules can be configured as off, warning, or error; violations configured as errors return a non-zero exit code.checked 30 Sep 2001
- Security
- The repository lists a security policy, but its security-policy page could not be opened during this research.checked 30 Sep 2001
- SQL compatibility
- The configurable SQL Server compatibility levels listed are 80, 90, 100, 110, 120, 130, 140, and 150.checked 30 Sep 2001
- SQL placeholders
- Before applying lint rules, TSQLLint replaces SQL file placeholders with values supplied through environment variables.checked 30 Sep 2001
- SSMS integration
- The project says SQL Server Management Studio can use TSQLLint through its External Tools feature.checked 30 Sep 2001
- Support
- The repository provides issue and discussion navigation, but the opened project pages do not state a formal support offering.checked 30 Sep 2001
- VS Code integration
- The VS Code extension activates when a .sql file is opened and underlines potential problems for inspection by hovering.checked 30 Sep 2001
Alternatives to TSQLLint
- 1
Poor SQL
Free planOpen sourceWebAPIExtensionLinux7.3Free plan - 2
SQLFormat.org
Free planOpen sourceWebAPIExtensionSelf-hosted7.1Free plan - 3
sqlfmt
Free planWebAPILinuxSelf-hosted6.7Free plan - 4
RegSQL
Free planWeb6.5From $8 a month - 5
SQLCheck
Free planLinuxmacOSWindows6.5Free plan - 6
sqlfmt
Free planWebAPI6.5From $9 a month
