Import etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Import etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

16 Ağustos 2016 Salı

Bir Azure SQL Database'i yerel bir Instance'a taşımak

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

1 Haziran 2015 Pazartesi

The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)

HATA:
The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine. (System.Data)

AÇIKLAMA:
Microsoft SQL Server 2014 - 12.0.2000.8 (X64) ile *.xlsx uzantılı bir Microsoft Excel dosyasını Import etmek isterken böyle bir hata mesajı aldım.

Excel Version listesinde Excel 2007 zaten vardı, fakat belli ki bir şeyler eksikti.

ÇÖZÜM:
Ben de çözümü bir forumda buldum, fakat özellikle daha derli toplu olsun diye burada da kayıt altına almak istedim. Eğer aşağıdaki dosyayı indirip kurarsanız, hiç sunucuyu veya SQL Server Management Studio'yu yeniden başlatmaya bile gerek kalmadan sorununuz çözülmüş oluyor.

2007 Office System Driver: Data Connectivity Components

Sevgiler,
Ekrem Önsoy