sys.sp_dbcmptlevel (Transact-SQL)

Aplica-se:SQL Server

Define determinados comportamentos de banco de dados para serem compatíveis com a versão especificada do SQL Server.

Importante

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

Convenções de sintaxe de Transact-SQL

Sintaxe

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

Argumentos

@dbname [ = ] N'dbname'

O nome do banco de dados para o qual o nível de compatibilidade deve ser alterado. Os nomes de banco de dados devem obedecer às 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 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 do código de retorno

0 (sucesso) ou 1 (falha).

Conjunto de resultados

Se nenhum parâmetro for especificado ou se o parâmetro @dbname não for especificado, sp_dbcmptlevel retornará um erro.

Se @dbname for especificado sem @new_cmptlevel, o Mecanismo de Banco de Dados retornará uma mensagem exibindo o nível de compatibilidade atual do banco de dados especificado.

Comentários

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

Permissões

Somente o proprietário do banco de dados, os membros da função de servidor fixa sysadmin e a função de banco de dados fixa db_owner (se você estiver alterando o banco de dados atual) podem executar esse procedimento.