Merhaba,
Bir çoğumuzun yaşadığı sorunlardan biri SQL Server 2019 gibi yüksek bir sürümden alınan bir backup’ı SQL Server 2016 gibi daha eski bir sürüme dönememektir.
Bunun birçok sebebi olur. Elinizdeki olan bak dosyası sizin sunucunuzdan daha yüksek bir sürümden alınmış olabilir.
- Dağınık durumda olan database lerinizi tek sunucuda toplamak zorunda kalabilirsiniz ancak ana sunucunuzda bulunan SQL Server sürümü eski olabilir.
- Azure SQL Managed instance kullanıyor olabilirsiniz ve herhangi bir sebepten Azure’daki verinizi on prem e dönmek isteyebilirsiniz. Azure SQL Managed Instance her zaman en kararlı güncel sürümde çalıştığı için sizin on premdeki sürümünüz ve lisansınız eski kalabilir.
- İşte bu durumlara alternatif olarak import/export wizard ı kullanırdık. Ancak import/export wizard çok da sağlıklı çalışan bir yapı değildi.
Açıkçası bir backup/restore ya da attach/detach yaparak veritabanını yedekten dönmenin konforu yok.
Alternatif olarak Data tier applicaton kullanarak export ve import yapabilirsiniz.
Şimdi hemen bir örnek yapalım.
SQL Server 2019 versiyonunda bir database in yedeğini alıyoruz.
Backup alındı.
Şimdi SQL Server 2016 sürümünde bir makineye restore etmeyi deneyelim.
Gördüğünüz gibi hata ile karşılaştık.
Hata mesajına baktığımızda backup dosyasının SQL Server 2016 sürümünden daha üst bir sürüm olduğunu görmekteyiz.
Şimdi de Data Tier Application kullanarak export/import işlemini gerçekleştirelim. SQL Server 2019 sürümünde database üzerinde Export Data Tier Application seçiyoruz.
Save to local disk diyerek browse butonuna basıyoruz.
Bacpac dosyasının kaydedidileceği yeri seçiyoruz.
Advanced bölümünde tüm tablolar ve şemalar geldi.
Next dediğimizde karşımıza bir summary ekranı çıkıyor. Finish diyerek işlemi başlatıyoruz
Export işlemi tamamlandı.
Şimdi SQL 2016 makinemize bacpac dosyasını import edeceğiz. Bunun için Management studio da databases bölümünde sağ tıklayarak Import Data Tier Application diyoruz.
Next diyerek devam ediyoruz.
Export ettiğimiz bacpac dosyasını seçiyoruz.
Next diyerek devam ediyoruz.
Oluşturacağımız database in adını seçiyoruz.
Son olarak finish diyerek işlemi başlatıyoruz.
İşlem tamamlandı ve herhangi bir hata almadık.
Database’imizi kontrol ettiğimizde başarı ile geldiğini görüyoruz.
Bir başka makalede görüşmek dileğiyle.
Sağlıcakla kalın.