sys.sp_dbcmptlevel (Transact-SQL)

Gäller för:SQL Server

Sätter vissa databasbeteenden så att de är kompatibla med den angivna versionen av SQL Server.

Important

Den här funktionen tas bort i en framtida version av SQL Server. Undvik att använda den här funktionen i nytt utvecklingsarbete och planera att ändra program som för närvarande använder den här funktionen. Använd ALTER DATABASE istället (Transact-SQL) kompatibilitetsnivå .

Transact-SQL syntaxkonventioner

Syntax

sys.sp_dbcmptlevel
    [ [ @dbname = ] N'dbname' ]
    [ , [ @new_cmptlevel = ] new_cmptlevel OUTPUT ]
[ ; ]

Arguments

[ @dbname = ] N'dbname'

Namnet på databasen där kompatibilitetsnivån ska ändras. Databasnamn måste följa reglerna för identifierare. @dbname är sysname, med standardvärdet NULL.

[ @new_cmptlevel = ] new_cmptlevel UTGÅNG

Den version av SQL Server som databasen ska göras kompatibel med. @new_cmptlevel är en OUTPUT parameter av typen tinyint, och måste vara ett av följande värden:

  • 90= SQL Server 2005 (9.x)
  • 100= SQL Server 2008 (10.0.x)
  • 110= SQL Server 2012 (11.x)
  • 120= SQL Server 2014 (12.x)
  • 130= SQL Server 2016 (13.x)
  • 140= SQL Server 2017 (14.x)
  • 150= SQL Server 2019 (15.x)
  • 160= SQL Server 2022 (16.x)

Returnera kodvärden

0 (lyckades) eller 1 (fel).

Resultatuppsättning

Om inga parametrar anges eller om den @dbname parametern inte är specificerad, sp_dbcmptlevel returnerar ett fel.

Om @dbname anges utan @new_cmptlevel returnerar Database Engine ett meddelande som visar den aktuella kompatibilitetsnivån för den angivna databasen.

Remarks

För en beskrivning av kompatibilitetsnivåer, se ALTER DATABASE (Transact-SQL) kompatibilitetsnivå.

Permissions

Endast databasägaren, medlemmar i sysadmin-fasta serverrollen och den db_owner fasta databasrollen (om du ändrar den aktuella databasen) kan utföra denna procedur.