Selam millet,
Bugün bir yazılımcı arkadaş, Azure SQL Database'de bulunan bir veritabanını verileriyle birlikte yerel bir sunucumuza taşıma talebinde bulundu.
Yaptığım işlem çok özetle ilgili SQL Database'i Azure'daki müsait bir Storage'a Export etmek ve sonrasında üretilen *.bacpac dosyasını yerel ortamdaki uygun bir sunucuya indirmek ve daha sonra da Restore/Import edilmesi istenen yerel SQL Server Instance'ına Restore etmek oldu.
Bu yazıda daha ziyade değinmek istediğim şey ise *.bacpac dosyasının marifeti. Azure SQL Database'deki veritabanının versiyonu 12.0.2000.8, yani V12 idi, *.bacpac dosyasını Restore ettiğim Instance'ın versiyonu ise 11.0.5582.0 idi. Deneyimli her SQL Server DBA'in bildiği gibi, üst bir versiyonda oluşturulmuş olan *.bak dosyaları alt bir versiyona Restore edilemez. Daha net olmak gerekirse ve bu örnek üstünden gidersek 12.0.2000.8 versiyonunda olan bir Instance'ta oluşturduğunuz bir *.bak dosyası 11.0.5582.0 versiyonlu bir Instance'a Restore edilemez. Fakat 12.0.2000.8 versiyonunda oluşturulmuş bir *.bacpac dosyası pekala ve başarıyla 11.0.5582.0 versiyonlu bir Instance'a Restore edilebiliyor.
Bununla birlikte, bu Restore (aslında Import) işlemini doğrudan 11.0.5582.0 üstündeki SQL Server Management Studio'dan yapmaya çalıştığımda şöyle bir hata aldım:
TITLE: Microsoft SQL Server Management Studio
------------------------------
Count not load schema model from package. (Microsoft.SqlServer.Dac)
------------------------------
ADDITIONAL INFORMATION:
Internal Error. The database platform service with type Microsoft.Data.Tools.Schema.Sql.SqlAzureV12DatabaseSchemaProvider is not valid. You must make sure the service is loaded, or you must provide the full type name of a valid database platform service. (Microsoft.Data.Tools.Schema.Sql)
Bu sorun *.bacpac dosyasından ziyade SQL Server Management Studio'nun versiyonuyla ilgiliydi. Aynı *.bacpac dosyasını SQL Server Management Studio'nun daha yeni bir versiyonunda Import etmeyi denediğimde hiçbir sorunla karşılaşmadan işlem başarıyla tamamlandı. Eğer olur da biri böyle bir hata ile karşılaşırsa diye burada not etmek istedim.
Sevgiler,
Ekrem Önsoy
Microsoft SQL Server ve Microsoft SQL Server ile ilgili diğer uygulamalar, araçlar ve haberlerle ilgili Türkçe içeriği bu günlükte bulabilirsiniz.
SQL Database etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SQL Database etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
16 Ağustos 2016 Salı
8 Haziran 2015 Pazartesi
Azure SQL veritabanının versiyonunu v11'den v12'ye yükseltmek
Merhabalar,
Haftasonu Azure SQL Database sunucumuzun v11'den v12'ye sürüm yükseltme (Upgrade) işlemini yaptım. Bu deneyimi sizlerle de paylaşmak sitedim.
v12 versiyonunda, birçok özellik eklendi. Temel olarak amaç, buluttaki SQL veritabanlarını kendi sunucularımızda kullandığımız özelliklerle kullanabilmemiz, en azından olabildiği ölçüde. Çünkü sonuçta Azure SQL veritabanlarını veritabanı bazında yönetebiliyoruz, Instance veya sunucu bazında değil. Bu nedenle illa ki birebir aynı olmayacaklardır. Bunun yanında, Row Level Security veya Data Masking özelliklerinde gördüğümüz gibi SQL Server'ın yeni versiyonunda gelecek olan özellikler ilk olarak Azure SQL Veritabanlarında kullanıma açılıyor. Bir taraftan da bu özellikler olgunlaşmış oluyor. Neyse, konumuza dönersek, öncelikle Azure SQL veritabanınızın versiyonunu, kendi sunucularımızda kullandığımızdaki gibi aşağıdaki şekilde ile bulabilirsiniz:
Eğer versiyon v11 ise, o zaman bir sonraki kontrolümüze, yani eski (Retired) Tier'lardan herhangi bir veritabanınızın olup olmadığı kontrolüne geçebiliriz. Eski Tier'lar derken kastettiğim Web ve Business Tier'ları, v12'ye sürüm yükseltme için bu Tier'ları terk etmeniz gerekiyor.
Eğer yukarıdaki Pricing Tier listesinde Web veya Business Tier'larından veritabanlarınız varsa, o zaman v12'ye Upgrade işlemini yapmaya devam edemezsiniz. Ya bu veritabanlarının Tier'ını Basic, Standard veya Premium olarak değiştireceksiniz veya benim gibi işe yaramayan eski Tier'dan kalma veritabanlarınızı silersiniz. Bu gereksinimi de tamamladıktan sonra sürüm yükseltme işlemine devam edebilirsiniz.
Sürüm yükseltme işlemini portal.azure.com adresinden yapabilirsiniz. Fakat bu işi yapmadan önce hazırlık ve planlama için bu makaleyi okumanızı tavsiye ederim. Temel olarak bilmeniz gereken ise, Sürüm yükseltme işleminin saatler ve günler aralığında sürebilecek olma olasılığı ve bu süreçte veritabanlarınız Online olarak kalacak olsa bile bazı yönetimsel kısıtlarla karşılaşacak oluyor olmanız. Bunun yanında şayet varsa geo-replikasyonu da sürüm yükseltme işleminden önce kaldırmanız, sonrasında tekrar kurmanız gerekiyor. Tüm bunlardan sonra (en azından 08 Haziran 2015 tarihi itibariyle) şu yolu takip ederek sürüm yükseltme işlemini gerçekleştirebilirsiniz.
Sol taraftaki menüden Browse'a tıklayın, ardından SQL Servers ve sonra da sağ tarafta çıkan Azure SQL veritabanlarınızı barındıran ve sürüm yükseltme işlemini yapmak istediğiniz sunucuya tıklayın.
Ekran sağ tarafa genişleyecek ve karşınıza aşağıdaki gibi bir ekran çıkacak. Burada "Server version" kısmında v12 görüyorsunuz, çünkü ben bu ekran görüntüsünü sürüm yükseltme işleminden sonra aldım. Sizin senaryonuzda burada v11 yazıyor olacak. En azından v11'den v12'ye sürüm yükseltme işlemi esnasında.
Sürüm yükseltme işlemine devam etmek için "Latest SQL database update" etiketli düğmeye tıklayın.
Eğer eski Tier'lardan kalma (Retired) bir veritabanınız yoksa o zaman karşınıza aşağıdaki gibi bir ekran çıkacaktır. Sürüm yükseltme işlemini gerçekleştirmek bu işlemi yapıyor olduğunuz sunucunun adını teyit etmek için "TYPE THE SERVER NAME" metin kutusuna yazmanız gerekiyor. Yani yeni bir sunucu oluşturmuş veya sunucunun adını değiştirmiş olmuyorsunuz, sadece teyit için varolan ve Upgrade etmek istediğiniz sunucunuzun adını giriyorsunuz. Sürüm yükseltme işlemini gerçekleştirmek için sunucu adınızı eksiksiz olarak girdikten sonra aşağıdaki OK düğmesine tıklayın.
Yukarıdaki ekranda, önceden de değindiğim gibi bu işlemin duruma göre saatler ve hatta günler sürebildiğine dair bir mesaj göreceksiniz. Fakat örneğin benim senaryomda v11'den v12'ye sürüm yükseltme işlemi 30dk içinde tamamlandı.
Sevgiler,
Ekrem Önsoy
Haftasonu Azure SQL Database sunucumuzun v11'den v12'ye sürüm yükseltme (Upgrade) işlemini yaptım. Bu deneyimi sizlerle de paylaşmak sitedim.
v12 versiyonunda, birçok özellik eklendi. Temel olarak amaç, buluttaki SQL veritabanlarını kendi sunucularımızda kullandığımız özelliklerle kullanabilmemiz, en azından olabildiği ölçüde. Çünkü sonuçta Azure SQL veritabanlarını veritabanı bazında yönetebiliyoruz, Instance veya sunucu bazında değil. Bu nedenle illa ki birebir aynı olmayacaklardır. Bunun yanında, Row Level Security veya Data Masking özelliklerinde gördüğümüz gibi SQL Server'ın yeni versiyonunda gelecek olan özellikler ilk olarak Azure SQL Veritabanlarında kullanıma açılıyor. Bir taraftan da bu özellikler olgunlaşmış oluyor. Neyse, konumuza dönersek, öncelikle Azure SQL veritabanınızın versiyonunu, kendi sunucularımızda kullandığımızdaki gibi aşağıdaki şekilde ile bulabilirsiniz:
Eğer versiyon v11 ise, o zaman bir sonraki kontrolümüze, yani eski (Retired) Tier'lardan herhangi bir veritabanınızın olup olmadığı kontrolüne geçebiliriz. Eski Tier'lar derken kastettiğim Web ve Business Tier'ları, v12'ye sürüm yükseltme için bu Tier'ları terk etmeniz gerekiyor.
Eğer yukarıdaki Pricing Tier listesinde Web veya Business Tier'larından veritabanlarınız varsa, o zaman v12'ye Upgrade işlemini yapmaya devam edemezsiniz. Ya bu veritabanlarının Tier'ını Basic, Standard veya Premium olarak değiştireceksiniz veya benim gibi işe yaramayan eski Tier'dan kalma veritabanlarınızı silersiniz. Bu gereksinimi de tamamladıktan sonra sürüm yükseltme işlemine devam edebilirsiniz.
Sürüm yükseltme işlemini portal.azure.com adresinden yapabilirsiniz. Fakat bu işi yapmadan önce hazırlık ve planlama için bu makaleyi okumanızı tavsiye ederim. Temel olarak bilmeniz gereken ise, Sürüm yükseltme işleminin saatler ve günler aralığında sürebilecek olma olasılığı ve bu süreçte veritabanlarınız Online olarak kalacak olsa bile bazı yönetimsel kısıtlarla karşılaşacak oluyor olmanız. Bunun yanında şayet varsa geo-replikasyonu da sürüm yükseltme işleminden önce kaldırmanız, sonrasında tekrar kurmanız gerekiyor. Tüm bunlardan sonra (en azından 08 Haziran 2015 tarihi itibariyle) şu yolu takip ederek sürüm yükseltme işlemini gerçekleştirebilirsiniz.
Sol taraftaki menüden Browse'a tıklayın, ardından SQL Servers ve sonra da sağ tarafta çıkan Azure SQL veritabanlarınızı barındıran ve sürüm yükseltme işlemini yapmak istediğiniz sunucuya tıklayın.
Ekran sağ tarafa genişleyecek ve karşınıza aşağıdaki gibi bir ekran çıkacak. Burada "Server version" kısmında v12 görüyorsunuz, çünkü ben bu ekran görüntüsünü sürüm yükseltme işleminden sonra aldım. Sizin senaryonuzda burada v11 yazıyor olacak. En azından v11'den v12'ye sürüm yükseltme işlemi esnasında.
Sürüm yükseltme işlemine devam etmek için "Latest SQL database update" etiketli düğmeye tıklayın.
Eğer eski Tier'lardan kalma (Retired) bir veritabanınız yoksa o zaman karşınıza aşağıdaki gibi bir ekran çıkacaktır. Sürüm yükseltme işlemini gerçekleştirmek bu işlemi yapıyor olduğunuz sunucunun adını teyit etmek için "TYPE THE SERVER NAME" metin kutusuna yazmanız gerekiyor. Yani yeni bir sunucu oluşturmuş veya sunucunun adını değiştirmiş olmuyorsunuz, sadece teyit için varolan ve Upgrade etmek istediğiniz sunucunuzun adını giriyorsunuz. Sürüm yükseltme işlemini gerçekleştirmek için sunucu adınızı eksiksiz olarak girdikten sonra aşağıdaki OK düğmesine tıklayın.
Yukarıdaki ekranda, önceden de değindiğim gibi bu işlemin duruma göre saatler ve hatta günler sürebildiğine dair bir mesaj göreceksiniz. Fakat örneğin benim senaryomda v11'den v12'ye sürüm yükseltme işlemi 30dk içinde tamamlandı.
Sevgiler,
Ekrem Önsoy
Etiketler:
Azure,
Bulut,
Güncelleme,
SQL Database,
upgrade
Kaydol:
Kayıtlar (Atom)




