SQL Server'da daha yüksek bir sürümde yedeklenmiş bir veritabanını daha düşük bir sürüme geri yüklemek doğrudan mümkün değildir. SQL Server'daki geriye dönük uyumluluk, daha yeni bir sürümden daha eski bir sürüme veritabanı geri yüklemesi yapılamayacağı anlamına gelir. Bunun nedeni, her yeni SQL Server sürümünün veritabanı iç yapılarında ve metadata'larında güncellemeler yapmasıdır.
Ancak bu sorunu aşmak için izleyebileceğiniz birkaç çözüm yolu vardır:
1.
- Yüksek sürümdeki SQL Server'da veritabanını açın.
- SQL Server Management Studio (SSMS) kullanarak veritabanınızı Database Export Wizard veya Generate Scripts ile dışa aktarabilirsiniz. Bu işlem, veritabanındaki tablolar, saklı prosedürler, fonksiyonlar ve diğer objeler için script'ler oluşturur.
- Script'leri düşük sürüm SQL Server'a aktarın ve çalıştırın. Bu, veritabanı yapısını ve verilerini yeniden oluşturur.
2.
- BACPAC dosyası, veritabanının hem yapısını hem de verilerini saklayan bir dosya formatıdır.
- Veritabanınızı BACPAC formatında dışa aktarabilirsiniz.
- Daha düşük bir SQL Server sürümünde bu BACPAC dosyasını alıp içe aktararak veritabanını oluşturabilirsiniz.
- Bu işlem için SQL Server'ın Data-Tier Application işlemlerini kullanmanız gerekmektedir.
3.
- Veritabanını daha düşük bir sürüme geri taşımak için tabloları ve veritabanı objelerini elle script haline getirebilirsiniz.
- Daha sonra bu script'leri eski sürüme sahip SQL Server'da çalıştırarak veritabanını yeniden oluşturabilirsiniz.
- Ardından verileri taşımanız gerekecektir. Bu, veri sayısına bağlı olarak bazen zorlu bir işlem olabilir.
4.
- Piyasada bulunan bazı üçüncü parti veri taşıma araçları, yüksek sürümdeki SQL Server veritabanlarını düşük sürümlere taşımada yardımcı olabilir. Ancak bu araçlar genelde ücretli olabilir.
Veritabanı Kırma (Hack)
- Yüksek sürümde yedeklenmiş bir veritabanını doğrudan düşük bir sürüme “kırarak” geri yüklemek genellikle mümkün değildir. SQL Server mimarisi ve güvenlik önlemleri buna izin vermez.
- Bu tür işlemler, veritabanı yapısını bozabilir ve verilerinize zarar verebilir, bu yüzden tavsiye edilmez.
Genel olarak,
en güvenli ve en yaygın yöntem, veritabanını script'ler veya BACPAC formatı kullanarak aktarmaktır. Bu işlemleri uygularken veri kaybını önlemek için dikkatli olmanızda fayda var.