sp_dbcmptlevel (Transact-SQL)

Aplica-se a: 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. Em vez disso, use o nível de compatibilidade ALTER DATABASE (Transact-SQL).

Convenções de sintaxe de Transact-SQL

Sintaxe

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 parâmetro OUTPUT 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 obter uma descrição dos níveis de compatibilidade, consulte Nível de compatibilidade ALTER DATABASE (Transact-SQL).

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.