MSSQL Compatibility Level
MSSQL Compatibility Level,SQL Server da her sürüm için veritabanına numara verilmiştir. SQL Server belirtilen veritabanın davranışlarının belirtilen sürüm ile uyumlu olacak şekilde ayarlar bundan dolayı bazı özellikler bazı sürümlerde kullanılmamaktadır.
Örneğin: SQL Serverın 2012 versiyonunda Alter Table komutunu kullanırken servername.databaseadı.schemadı.table formatında kullanılmıyordu fakat SQL Serverın 2014 versiyonundan sonra bu formatta da kullanabiliriz. Daha iyi anlaşılabilmesi için aşağıda örnek ile açıklamak istedim.
SQL Server 2012 : Alter Table dbo.Table_1 ADD name nvarchar(30)
SQL Server 2014 ve Sonrası için: Alter Table MSSQLServer.Mssqlİnstance. Dbo.Table_1 ADD name nvarchar(30)
Burada dikkat edilecek diğer bir konu eski sürümden yeni sürüme geçtiğinizde eğer birkaç versiyon birden atlama yaptıysanız SQL Server Compatibility Level’e kendi destekleyeceği en düşük seviyeye çekecektir. Bundan dolayı bazı problem yaşayabilirsiniz. Compatibility Level’i Veritabanın üzerine sağ tıklayarak Properties kısmındaki options içinde yer alan Compatibility Level bölümünden değiştirebiliriz.
Örnek olarak SQL Server 2008 kullanılırken SQL Server 2012 ye geçtiğinizde hala 2008 versiyonunda ki bazı şeyleri kullanabilirsiniz fakat SQL Server 2016 versiyonuna yükselttiğinizde SQL Server 2008 de bulunan bazı özellikleri kullanamayacaksınız.
Aşağıda Sql Server sürümleri ve onlara karşılık gelen compatibility leveller bulunmaktadır.
Ürün | Veritabanı Sürümü | Uyumluluk Düzeyi Tanımı | Desteklenen Uyumluluk Seviyesi Değerleri |
SQL Server 2019 | 15,00 | 150 | 150,140,130,120,110,100 |
SQL Server 2017 | 14,00 | 140 | 140, 130, 120, 110, 100 |
Azure SQL Veritabanı | 12,00 | *130 | 140, 130, 120, 110, 100 |
SQL Server 2016 | 13,00 | 130 | 130, 120, 110, 100 |
SQL Server 2014 | 12,00 | 120 | 120, 110, 100 |
SQL Server 2012 | 11,00 | 110 | 110, 100, 90 |
SQL Server 2008 R2 | 10,00 | 100 | 100, 90, 80 |
SQL Server 2008 | 10,00 | 100 | 100, 90, 80 |
SQL Server 2005 | 9,00 | 90 | 90, 80 |
SQL Server 2000 | 8,00 | 80 | 80 |
*Not: Azure SQL veritabanları 12 aralık 2014 de piyasaya sürülmüştür. İlk piyasaya sürüldüğünde compatibility level’i 120 olarak ayarlanmıştır fakat 2015 de yeni veritabanı oluşturulduğunda default’u 130 olarak gelmektedir.