sys.sp_dbcmptlevel (Transact-SQL)

Aplica-se a: SQL Server

Define certos comportamentos da base de dados para serem compatíveis com a versão especificada do SQL Server.

Important

Esse recurso será removido em uma versão futura do SQL Server. Evite usar esse recurso em novos trabalhos de desenvolvimento e planeje modificar aplicativos que atualmente usam esse recurso. Use ALTER DATABASE (Transact-SQL) nível de compatibilidade em vez disso.

Transact-SQL convenções de sintaxe

Syntax

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

Arguments

[ @dbname = ] N'dbname'

O nome da base de dados para a qual o nível de compatibilidade deve ser alterado. Os nomes das bases de dados devem estar em conformidade com as regras para identificadores. @dbname é sysname, com um padrão de NULL.

[ @new_cmptlevel = ] new_cmptlevel SAÍDA

A versão do SQL Server com a qual o banco de dados deve ser compatível. @new_cmptlevel é um OUTPUT parâmetro do tipo tinyint, e deve ser um dos seguintes valores:

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

Valores de código de retorno

0 (sucesso) ou 1 (fracasso).

Conjunto de resultados

Se não forem especificados parâmetros ou se o parâmetro @dbname não for especificado, sp_dbcmptlevel devolve um erro.

Se @dbname for especificado sem @new_cmptlevel, o Database Engine devolve uma mensagem que mostra o nível atual de compatibilidade da base de dados especificada.

Remarks

Para uma descrição dos níveis de compatibilidade, vejaALTER DATABASE (Transact-SQL) nível de compatibilidade.

Permissions

Apenas o proprietário da base de dados, os membros do papel de servidor fixo de administrador do sistema e o papel fixo de base de dados db_owner (se estiver a alterar a base de dados atual) podem executar este procedimento.