SQL Upgrade sonrası eski compatibility_level ı yeni versiyonun compatible level ına yükseltilir. Aşağıdaki tablodan uyumluluk modlarını görebilirsiniz, upgrade sonrası sp lerin, fonksiyonların vb yeni versiyonda düzgün çalıştığından emin olduktan sonra compatibility_level ı yeni sürüme yükseltin.
Hangi level ın hangi versiyona denk geldiğini, ve hangi versiyonun hangi düşük versiyonlara kadar destek verdiği aşağıdaki tabloda görebilirsiniz.
ilgili Microsoft Döküman Linki
Product | Database Engine Version | Default Compatibility Level Designation | Supported Compatibility Level Values |
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 MI | 12 | 150 | 150, 140, 130, 120, 110, 100 |
Azure SQL Database | 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 |
--- Tüm Databaselerin compatibility level görmek için Select name,compatibility_level, 'ALTER DATABASE ['+name+'] SET COMPATIBILITY_LEVEL = 130;' script, ----- 130 ya da farklı bir version set edilebilir.. version_name = CASE compatibility_level WHEN 65 THEN 'SQL Server 6.5' WHEN 70 THEN 'SQL Server 7.0' WHEN 80 THEN 'SQL Server 2000' WHEN 90 THEN 'SQL Server 2005' WHEN 100 THEN 'SQL Server 2008/R2' WHEN 110 THEN 'SQL Server 2012' WHEN 120 THEN 'SQL Server 2014' WHEN 130 THEN 'SQL Server 2016' WHEN 140 THEN 'SQL Server 2017' WHEN 150 THEN 'SQL Server 2019' END from sys.databases where database_id > 4 order by name
--- Compatibility_level 130 olmayanları 130 set etmek için. declare @stt varchar(max)='' select @stt+='ALTER DATABASE ['+name+'] SET COMPATIBILITY_LEVEL = 130;'+CHAR(10) from sys.databases where database_id > 4 and compatibility_level <> 130 order by name --exec (@stt) print(@stt)