Freigeben über


sp_dbcmptlevel (Transact-SQL)

Gilt für: SQL Server

Legt bestimmte Datenbankverhalten fest, die mit der angegebenen Version von SQL Server kompatibel sind.

Wichtig

Diese Funktion wird in einer zukünftigen Version von SQL Serverentfernt. Nutzen Sie diese Funktionen bei Neuentwicklungen nicht mehr, und planen Sie die Änderung von Anwendungen, die diese Funktion zurzeit verwenden. Verwenden Sie stattdessen ALTER DATABASE (Transact-SQL) Kompatibilitätsstufe .

Transact-SQL-Syntaxkonventionen

Syntax

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

Argumente

[ @dbname = ] N'dbname'

Der Name der Datenbank, für die die Kompatibilitätsstufe geändert werden soll. Datenbanknamen müssen den Regeln für Bezeichner entsprechen. @dbname ist "sysname" mit der Standardeinstellung "NULL.

[ @new_cmptlevel = ] new_cmptlevel OUTPUT

Die SQL Server-Version, mit der die Datenbank kompatibel sein soll. @new_cmptlevel ist ein OUTPUT-Parameter vom Typ "tinyint" und muss einen der folgenden Werte aufweisen:

  • 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)

Rückgabecodewerte

0 (erfolgreich) oder 1 Fehler.

Resultset

Wenn keine Parameter angegeben werden oder der parameter @dbname nicht angegeben wird, sp_dbcmptlevel wird ein Fehler zurückgegeben.

Wenn @dbname ohne @new_cmptlevel angegeben wird, gibt die Datenbank-Engine eine Meldung zurück, in der die aktuelle Kompatibilitätsstufe der angegebenen Datenbank angezeigt wird.

Hinweise

Eine Beschreibung der Kompatibilitätsebenen finden Sie unter ALTER DATABASE (Transact-SQL)-Kompatibilitätsstufe.

Berechtigungen

Nur der Datenbankbesitzer, Mitglieder der festen Serverrolle sysadmin und die db_owner festen Datenbankrolle (wenn Sie die aktuelle Datenbank ändern) können diese Prozedur ausführen.