Export (0) Print
Expand All
Collapse the table of content
Expand the table of content
Expand Minimize

sp_dbcmptlevel (Transact-SQL)


Applies To: SQL Server 2014, SQL Server 2016 Preview

Sets certain database behaviors to be compatible with the specified version of SQL Server.


This feature will be removed in a future version of Microsoft SQL Server. Do not use this feature in new development work, and modify applications that currently use this feature as soon as possible. Use ALTER DATABASE Compatibility Level instead.

Applies to: SQL Server (SQL Server 2008 through current version).

Topic link icon Transact-SQL Syntax Conventions

sp_dbcmptlevel [ [ @dbname = ] name ] 
    [ , [ @new_cmptlevel = ] version ]

[ @dbname = ] name

Is the name of the database for which the compatibility level is to be changed. Database names must conform to the rules for identifiers. name is sysname, with a default of NULL.

[ @new_cmptlevel = ] version

Is the version of SQL Server with which the database is to be made compatible. version is tinyint, with a default of NULL. The value must be one of the following:

90 = SQL Server 2005 

100 = SQL Server 2008 

110 = SQL Server 2012 

120 = SQL Server 2014

130 = SQL Server 2016 Community Technology Preview 2 (CTP2)

0 (success) or 1 (failure)

If no parameters are specified or if the name parameter is not specified, sp_dbcmptlevel returns an error.

If name is specified without version, the Database Engine returns a message displaying the current compatibility level of the specified database.

For a description of compatibilities levels, see ALTER DATABASE Compatibility Level (Transact-SQL).

Only the database owner, members of the sysadmin fixed server role, and the db_owner fixed database role (if you are changing the current database) can execute this procedure.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

© 2015 Microsoft