Microsoft SQL Server "Dahili Veritabanı Surumu" ve "Uyumluluk Seviyesi" Listesi​
Microsoft SQL Server'in daha yeni bir surumu ile oluşturulan veritabanı dosyaları daha eski bir surume sahip yazılım ile acılmaya kalkıldığında hata vermektedir. Bu kısıtlama daha yeni surumlerde tanıtılan veritabanı ozelliklerinin daha onceki surumler tarafından tanınmaması kaynaklı olarak zorunlu olarak mevcuttur.

Eğer SQL Server'in herhangi bir yeni surumu ile oluşturulmuş veritabanı dosyasını daha eski bir surum ile acmaya kalkarsanız Hata 928 (Msg 948) ve yanında Dahili Veritabanı Surumu numrasını iceren hata mesajı ile karşılaşırsınız.

Ornek:
[CODE lang="sql" title="SQL Sorgusu"]-- SQL2019 veritabanı dosyasının SQL2017 ile acılma denemesi
CREATE DATABASE Veritabani_2019
ON (FILENAME = N'C:SqlServerVerisiVeritabani_2019.mdf'),
(FILENAME = N'C:SqlServerVerisiVeritabani_2019_log.ldf')
FOR ATTACH;[/CODE]

[CODE lang="sql" title="SQL Sorgu Cıktısı"]Msg 1813, Level 16, State 2, Line 1
Could not open new database "Veritabani_2019". CREATE DATABASE is aborted.

Msg 948, Level 20, State 1, Line 1
The database "Veritabani_2019" cannot be opened because it is version 904.
This server supports version 869 and earlier. A downgrade path is not supported.
[/CODE]

SQL Server'a ait dahili veritabanı surumleri Microsoft tarafından acıkca belgelendirilmemiş durumdadır. Ama kullandığınız surume ait dahili veritabanı surumunu oğrenmek istiyorsanız aşağıdaki SQL sorgulardan birisini kullanabilirsiniz:

[CODE lang="sql" title="SQL Sorgusu - Yontem 1"]SELECT DATABASEPROPERTYEX(N"YourDatabaseName", "Version");[/CODE]

[CODE lang="sql" title="SQL Sorgusu - Yontem 2"]-- DatabaseVersion Sutunu
RESTORE HEADERONLY FROM DISK = N'C:YedeklerVeritabani.bak';[/CODE]

[CODE lang="sql" title="SQL Sorgusu - Yontem 3"]-- Sutun durumu: ara "Version="
EXEC sp_helpdb;[/CODE]

SQL Server SurumuDahili Veritabanı SurumuVeritabanı Uyumluluk SeviyesiDesteklenen Veritabanı Uyumluluk SeviyeleriSQL Server 2019 CTP 3.2 / RC 1 / RC 1.1 / RTM904150150, 140, 130, 120, 110, 100SQL Server 2019 CTP 3.0 / 3.1902150150, 140, 130, 120, 110, 100SQL Server 2019 CTP 2.3 / 2.4 / 2.5897150150, 140, 130, 120, 110, 100SQL Server 2019 CTP 2.1 / 2.2896150150, 140, 130, 120, 110, 100SQL Server 2019 CTP 2.0895150150, 140, 130, 120, 110, 100SQL Server 2017868 / 869140140, 130, 120, 110, 100SQL Server 2016852130130, 120, 110, 100SQL Server 2014782120120, 110, 100SQL Server 2012706110110, 100, 90SQL Server 2012 CTP1
("SQL Server 2011 Denali" olarak da bilinir)684110110, 100, 90SQL Server 2008 R2660 / 661100100, 90, 80SQL Server 2008655100100, 90, 80SQL Server 2005 SP2+
with VarDecimal enabled6129090, 80, 70SQL Server 20056119090, 80, 70SQL Server 20005398080, 70SQL Server 7.05157070SQL Server 6.54086565SQL Server 6.04066060
Lejant: ? = araştırılıyor, RTM = Son kullanıcı icin hazır, SP n = Servis Paketi n, CTP = Topluluk Teknoloji Onizlemesi (beta surum).

Artık SQL Server ile calışırken neden veritabanı dosyalarının surum hatası verebildiğini oğrendiniz. Surumunuze uygun SQL Server'i ve SQL Server Management Studio (SSMS) kullanmayı unutmayın. Ya da her zaman soylediğimiz gibi: Her zaman guncel yazılım ve surum kullanın!

Kaynakca: Microsoft SQL Server Internal Database Versions and Compatibility Levels