SQLServerReservedKeywords
Last updated: July 14, 2025
This check disallows SQL Server reserved keywords from being used in database object names. See Reserved Keywords (Transact-SQL) for complete list of keywords.
Uses
Property | Value |
Liquibase version required | 4.12.0+ |
Scope (--checks-scope) | changelog, database |
Default status | disabled |
Default severity (exit code) | 0 ("INFO") |
Customizable settings | Yes (dynamic) |
Use the check to ensure that no SQL Server reserved words are used to name database objects. SQL Server has reserved certain words for internal purposes, and using these words can cause unexpected consequences when deploying database schema changes or data. These name conflicts can result in job failures from multiple tools in your tool DevOps chain. There still may be instances where you are certain you need to use reserved keywords, and understand the implications. To enable this, the policy check can be customized with an Allowed List. This policy check, like other checks, can be configured with a severity level which returns an exit code designed to stop automated jobs, giving your team time to make sure database objects.
Note: This check only supports modeled changeset types. If you use it with unmodeled changesets (formatted SQL changelogs as well as sql
and sqlFile
Change Types), a message appears stating the changeset was skipped.
Before you begin
Ensure that you have correctly specified your Liquibase Pro license key.
Ensure that the
--checks-scope
parameter includes the scope of this check.
Changelog checks prerequisites
--license-key=<string>
--checks-scope=<string>
Procedure
Enable
This check is disabled by default. To enable it, run the checks enable
command:
liquibase checks enable --check-name=<string>
When you try to enable the check, Liquibase displays the following message:
This check can not be enabled directly because one or more fields does not have a default value. Create a copy of this check and initiate the customization workflow.
Liquibase then prompts you to specify a name for the new check. By default, the name of the copy is <CheckName>1
. You can use the default value by pressing Enter or you can specify a custom name.
Customize
This check is dynamic, meaning you can customize its settings. See the table on this page for more information.
1. Once you've enabled the check, follow the steps in the CLI to set new values.
Default values are shown in [brackets]. You can use these by pressing Enter. Alternatively, specify custom values. If a customization setting does not have a default value, you must specify custom values.
2. When finished, verify that your configuration is correct by running the checks show
command.
liquibase checks show --check-name=<string>
3. If you need to make any other changes, run the checks customize
command:
liquibase checks customize --check-name=<string>
Note: If you want to create another variant of this check with different settings, use the checks copy
command to create a copy of the original check and then use the checks customize
command to customize it.
Run
To run the check, use the checks run
command.
liquibase checks run --check-name=<string>