Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Como alterar o nível de compatibilidade de um banco de dados com T-SQL


No SQL Server, você pode usar o ALTER DATABASE instrução para alterar o nível de compatibilidade de um banco de dados.

Isso pode ser útil se você tiver um banco de dados criado em uma versão anterior do SQL Server, mas agora precisa usar recursos que só estão disponíveis com um nível de compatibilidade posterior.

Por exemplo, o OPENJSON() A função está disponível apenas no nível de compatibilidade 130 ou superior. Embora sua instalação do SQL Server possa oferecer suporte a esse nível de compatibilidade, você ainda pode ter bancos de dados que usam um nível de compatibilidade inferior. Neste caso, se você quiser usar OPENJSON() nesses bancos de dados, você precisaria aumentar o nível de compatibilidade para 130 ou superior.

Exemplo


Aqui está um exemplo de código que altera a compatibilidade de um banco de dados.
ALTER DATABASE Pets  
SET COMPATIBILITY_LEVEL = 150;

Resultado:
Commands completed successfully.

O banco de dados chamado Pets agora tem um nível de compatibilidade de 150.

Verifique o nível de compatibilidade do banco de dados


Você pode usar o sys.databases visualização do catálogo do sistema para verificar a compatibilidade de um determinado banco de dados ou de todos os bancos de dados.

Aqui está um exemplo de verificação de Pets base de dados.
SELECT compatibility_level
FROM sys.databases
WHERE name = 'Pets';

Resultado:
+-----------------------+
| compatibility_level   |
|-----------------------|
| 150                   |
+-----------------------+

Níveis de compatibilidade por produto


Aqui está uma tabela que mostra os níveis de compatibilidade suportados por cada edição do SQL Server e do Banco de Dados SQL do Azure.
Produto Versão do mecanismo de banco de dados Designação de nível de compatibilidade padrão Valores de nível de compatibilidade compatíveis
SQL Server 2019 (15.x) 15 150 150, 140, 130, 120, 110, 100
SQL Server 2017 (14.x) 14 140 140, 130, 120, 110, 100
Banco de dados SQL do Azure 12 150 150, 140, 130, 120, 110, 100
Instância gerenciada do banco de dados SQL do Azure 12 150 150, 140, 130, 120, 110, 100
SQL Server 2016 (13.x) 13 130 130, 120, 110, 100
SQL Server 2014 (12.x) 12 120 120, 110, 100
SQL Server 2012 (11.x) 11 110 110, 100, 90
SQL Server 2008 R2 10,5 100 100, 90, 80
SQL Server 2008 10 100 100, 90, 80
SQL Server 2005 (9.x) 9 90 90, 80
SQL Server 2000 (8.x) 8 80 80