Bu makalede Export Data-tier Application nedir ve nasıl oluşturulur konusunu ele almış olacağız. Export Data-Tier Application ile veritabanımızı bir ortamdan başka bir ortama içinde veri ve şemalarla birlikte aktara biliriz. Kısacası Export Data-Tier Application ile almış olduğumuz BACPAC uzantılı dosyamız veritabanımızın metadata ve içerisindeki verilerle almamızı sağlayan aslında bir zip dosyasıdır. Aslında bu özelliği kullanarak veritabanlarını bir instance üzerinden başka bir instance’a taşıyabiliriz. Veritabanımızın üst bir sürümden backup aldığımızda alt bir sürüme restore ederken restore edilemiyeceğine dair bir hata mesajı almışsınızdır. İşte Bacpac uzantılı dosya ile üst sürümden alınan veritabanı bilgileri alt sürüme restore edilebilir hale getirmektedir.

Export Data-tier Application ile veritabanını içerisinde bulunan veri ile birlikte production’a aktarabiliriz.
Veritabanı üzerinde sağ tıklayarak Task ve daha sonra Export Data-tier Application…’a tıklarsak veri ve şema yapısıyla beraber BACPAC uzantılı bir dosya oluşturacaktır. Extract Data-tier Application…’a tıklarsak da veritabanında veri olamayacak şekilde DACPAC uzantılı bir dosya oluşturacaktır.
İçerisinde veri ile birlikte Export Data Tier Application oluşturalım.( BACPAC)
AdventureWorks2012 veritabanına sağ tıklayıp Task> Export Data-Tier Application diyiyoruz.

Gelen ekranda Do not Show this page again ikonuna tıklayıp Next deyip bir sonraki aşamaya geçiyoruz.

Save to local disk kısmında Browse diyerek bacpac uzantılı dosyayı nereye kaydetmek istiyorsak onu seçiyoruz. Kendi localime kaydetmek istediğim için ilk seçeneğe tıklıyorum. Azure üzerinde bir hesaba kaydetmek istiyorsak ikinci seçeneğe tıklayabiliriz.

Daha sonra Advanced sekmesinde ise şemalarımızı ve şemaya bağlı tablolarımızı görmekteyiz. Burada ihtiyacınıza göre seçim yapabilirsiniz. Ben tüm db’deki verileri almak istediğim için bir değişiklik yapmıyorum.
Bu düzenlemeleri yaptıktan sonra Next deyip bir sonraki aşamaya geçiyoruz.

Gelen ekranda özet ekranımızı gördükten sonra Finish deyip işlemlerimi sonlandırıyorum.

Bu ekranda veritabanımızın büyüklüğüne göre bir süre bekleyebiliriz. Tüm işlemler başarılı bir şekilde gerçekleştikten sonra BACPAC uzantılı dosyamızı oluşturmuş oldum. Close deyip işlemlerimi sonlandırıyorum.

Şimdi oluşturmuş olduğum Bacpac uzantılı dosyayı farklı bir sunucudaki instance’a eklemek için import işlemine tabi tutacağım. Şu ayrımı şöyle yapmak lazım. Eğer Extract yapmışsak restore edeceğimiz instance’da Deploy yapmamız lazım. Eğer Export işlemi yapmışsak restore edeceğimiz instanceda İmport işlemi yapmamız gerekiyor. Biz export yaptığımız için farklı sunucuda import işlemine tabi tutacağız.
İşlemime başlamadan önce Bacpac uzantılı dosyamı restore edeceğim sunucuya kopyalıyorum.

Restore edeceğimiz sunucu\instance üzerine Databases ifadesine sağ tıklayıp Import Data-tier Application.. ifadesini tıklıyorum.

Gelen ekranda Do not Show this page again ikonuna tıklayıp Next deyip bir sonraki aşamaya geçiyoruz.

Gelen ekranda Import from local disk kısmında Browse diyerek bacpac uzantılı dosyamızı seçiyorum. Daha sonra Next deyip bir sonraki adıma geçiyorum.

Gelen ekranda import edeceğim veritabanının ismini değiştirmek istiyorsak değiştirebiliriz veya default şeklinde bırakabiliriz. SQL Server Settings bölümünde mdf ve ldf dosyası için path’leri belirliyorum. Herhangi bir değişiklik yapmadan default şeklinde bırakıyorum. Bu adımlardan sonra Next diyip bir sonraki aşamaya geçiyoruz.

Gelen ekranda son incelemeyi yaptıktan sonra Finish diyip işlemleri sonlandırıyorum.

Son olarak Bacpac uzantılı dosyamızın import olduğunu görmüş oluyoruz.

Yeni sunucu üzerinde kontrol işlemleri yaptığımızda veritabanımızın restore edildiği tablo ve şemaların içerisinde veri ile birlikte geldiğini görmüş oluyoruz.

Herhangi bir tablomuza select çektiğimizde tablomuzda verilerin geldiğini görmüş oluyoruz.

Not: SQL Server güvenlik gereği dacpac veya bacpac dosyalarında şifre saklamaz. Dacpac veya bacpac dosyalalarını deploy ya da import ettiğimizde yeni bir şifre genarete ederek login’i yeni instance üzerinde oluşturur ve disable eder. Bu yüzden login’i enable etmeli ve eski şifreyi yeniden set etmelisiniz.
Bu makalede Bacpac uzantılı bir dosyayı farklı bir sunucu da bulunan Sql Server’a import etmeyi ele almış olduk. Bir sonraki Makalede görüşmek dileğiyle.
“Gördün mü, o hesap ve ceza gününü yalanlayanı! İşte o, yetimi itip kakan, yoksula yedirmeyi özendirmeyen kimsedir. Yazıklar olsun o namaz kılanlara ki, Onlar namazlarını ciddiye almazlar. Onlar (namazlarıyla) gösteriş yaparlar. Ufacık bir yardıma bile engel olurlar.” MÂÛN SÛRESİ
1 thought on “MSSQL Server Export-Import Data-Tier Application Nedir”