Microsoft SQL Server "Dahili Veritabanı Sürümü" ve "Uyumluluk Seviyesi" Listesi
Microsoft SQL Server'in daha yeni bir sürümü ile oluşturulan veritabanı dosyaları daha eski bir sürüme sahip yazılım ile açılmaya kalkıldığında hata vermektedir. Bu kısıtlama daha yeni sürümlerde tanıtılan veritabanı özelliklerinin daha önceki sürümler tarafından tanınmaması kaynaklı olarak zorunlu olarak mevcuttur.
Eğer SQL Server'in herhangi bir yeni sürümü ile oluşturulmuş veritabanı dosyasını daha eski bir sürüm ile açmaya kalkarsanız
Hata 928 (Msg 948)
ve yanında Dahili Veritabanı Sürümü
numrasını içeren hata mesajı ile karşılaşırsınız.Örnek:
[CODE lang="sql" title="SQL Sorgusu"]-- SQL2019 veritabanı dosyasının SQL2017 ile açılma denemesi
CREATE DATABASE Veritabani_2019
ON (FILENAME = N'C:\SqlServerVerisi\Veritabani_2019.mdf'),
(FILENAME = N'C:\SqlServerVerisi\Veritabani_2019_log.ldf')
FOR ATTACH;[/CODE]
[CODE lang="sql" title="SQL Sorgu Çı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ı sürümleri Microsoft tarafından açıkça belgelendirilmemiş durumdadır. Ama kullandığınız sürüme ait dahili veritabanı sürümünü öğrenmek istiyorsanız aşağıdaki SQL sorgulardan birisini kullanabilirsiniz:
[CODE lang="sql" title="SQL Sorgusu - Yöntem 1"]SELECT DATABASEPROPERTYEX(N"YourDatabaseName", "Version");[/CODE]
[CODE lang="sql" title="SQL Sorgusu - Yöntem 2"]-- DatabaseVersion Sütunu
RESTORE HEADERONLY FROM DISK = N'C:\Yedekler\Veritabani.bak';[/CODE]
[CODE lang="sql" title="SQL Sorgusu - Yöntem 3"]-- Sütun durumu: ara "Version="
EXEC sp_helpdb;[/CODE]
SQL Server Sürümü | Dahili Veritabanı Sürümü | Veritabanı Uyumluluk Seviyesi | Desteklenen Veritabanı Uyumluluk Seviyeleri |
---|---|---|---|
SQL Server 2019 CTP 3.2 / RC 1 / RC 1.1 / RTM | 904 | 150 | 150, 140, 130, 120, 110, 100 |
SQL Server 2019 CTP 3.0 / 3.1 | 902 | 150 | 150, 140, 130, 120, 110, 100 |
SQL Server 2019 CTP 2.3 / 2.4 / 2.5 | 897 | 150 | 150, 140, 130, 120, 110, 100 |
SQL Server 2019 CTP 2.1 / 2.2 | 896 | 150 | 150, 140, 130, 120, 110, 100 |
SQL Server 2019 CTP 2.0 | 895 | 150 | 150, 140, 130, 120, 110, 100 |
SQL Server 2017 | 868 / 869 | 140 | 140, 130, 120, 110, 100 |
SQL Server 2016 | 852 | 130 | 130, 120, 110, 100 |
SQL Server 2014 | 782 | 120 | 120, 110, 100 |
SQL Server 2012 | 706 | 110 | 110, 100, 90 |
SQL Server 2012 CTP1 ("SQL Server 2011 Denali" olarak da bilinir) | 684 | 110 | 110, 100, 90 |
SQL Server 2008 R2 | 660 / 661 | 100 | 100, 90, 80 |
SQL Server 2008 | 655 | 100 | 100, 90, 80 |
SQL Server 2005 SP2+ with VarDecimal enabled | 612 | 90 | 90, 80, 70 |
SQL Server 2005 | 611 | 90 | 90, 80, 70 |
SQL Server 2000 | 539 | 80 | 80, 70 |
SQL Server 7.0 | 515 | 70 | 70 |
SQL Server 6.5 | 408 | 65 | 65 |
SQL Server 6.0 | 406 | 60 | 60 |
? = araştırılıyor
, RTM = Son kullanıcı için hazır
, SP n = Servis Paketi n
, CTP = Topluluk Teknoloji Önizlemesi (beta sürüm)
.Artık SQL Server ile çalışırken neden veritabanı dosyalarının sürüm hatası verebildiğini öğrendiniz. Sürümünüze uygun SQL Server'i ve SQL Server Management Studio (SSMS) kullanmayı unutmayın. Ya da her zaman söylediğimiz gibi: Her zaman güncel yazılım ve sürüm kullanın!
Kaynakça: Microsoft SQL Server Internal Database Versions and Compatibility Levels