V SQL Server můžete použít ALTER DATABASE
příkaz ke změně úrovně kompatibility databáze.
To může být užitečné, pokud máte databázi, která byla vytvořena v dřívější verzi SQL Server, ale nyní potřebujete používat funkce, které jsou dostupné pouze s vyšší úrovní kompatibility.
Například OPENJSON()
Funkce je dostupná pouze při úrovni kompatibility 130 nebo vyšší. I když vaše instalace SQL Server může podporovat tuto úroveň kompatibility, stále můžete mít databáze, které používají nižší úroveň kompatibility. V tomto případě, pokud jste chtěli použít OPENJSON()
proti těmto databázím byste museli zvýšit úroveň kompatibility na 130 nebo vyšší.
Příklad
Zde je příklad kódu, který mění kompatibilitu databáze.
ALTER DATABASE Pets
SET COMPATIBILITY_LEVEL = 150;
Výsledek:
Commands completed successfully.
Databáze s názvem Pets
nyní má úroveň kompatibility 150.
Zkontrolujte úroveň kompatibility databáze
Můžete použít sys.databases
zobrazení systémového katalogu pro kontrolu kompatibility dané databáze nebo všech databází.
Zde je příklad kontroly Pets
databáze.
SELECT compatibility_level
FROM sys.databases
WHERE name = 'Pets';
Výsledek:
+-----------------------+ | compatibility_level | |-----------------------| | 150 | +-----------------------+
Úrovně kompatibility podle produktu
Zde je tabulka, která ukazuje úrovně kompatibility podporované každou edicí SQL Server a Azure SQL Database.
Produkt | Verze databázového stroje | Výchozí označení úrovně kompatibility | Podporované hodnoty úrovně kompatibility |
---|---|---|---|
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 |
Azure SQL Database | 12 | 150 | 150, 140, 130, 120, 110, 100 |
Instance spravovaná databází Azure SQL | 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 |