Sql Azure Migration Wizard ile LocalDB Veritabanını Azure’a Taşıma

SQLAzure

Eğer websitenizi oluştururken LocalDB kullandıysanız, websitenizi Azure’a taşırken veritabanını da taşıma konusunda sıkıntı yaşarsınız. Bunun sebebi Azure Websitelerinin LocalDB’yi desteklememesidir. Fakat bunun bir çaresi var. Daha önceki bir makalemizde bunun nasıl yapılacağını anlatmıştık. Ben bu makalemde başka bir yöntemle, Sql Azure Migration Wizard‘ı kullanarak LocalDB kullanarak oluşturduğunuz veritabanını nasıl Azure Sql Database’e taşıyacağınızı ve daha önemlisi, sitenizi Azure Websites’a yayınlarken bu veritabanı bağlantısını nasıl yapacağınızı anlatacağım.

Makalemde örnek proje olarak okulda yaptığımız çok basit bir blog sitesini kullanacağım. Projeyi açıp çalıştırdığınızda veritabanı otomatik olarak oluşturulur. Projeyi indirmek için lütfen tıklayın.

Eğer hali hazırda yoksa, makaleye başlamadan önce Azure Websites ile bir websitesi ve Azure SQL Database ile bir veritabanı oluşturmanızı tavsiye ederim. Veritabanını oluştururken kullandığınız veya yeni oluşturduğunuz Azure sql server’a giriş yaparken kullandığınız isim ve parola bilgilerine ihtiyacınız olacak. Onları da bir kenara not edin 🙂 O halde başlayalım!

1- Sql Azure MW ile Veritabanını Azure’a Gönderme

Bu sayfadan Sql Azure MW’ı indirip açtıktan sonra açtıktan sonra Target Server olarak Azure SQL Database’i, pencerenin sağ tarafındaki seçeneklerden de Database’i seçtikten sonra Next butonuna basın.

MW1

Şimdi açılan pencerede server name olarak kullandığınız LocalDB server’ını (benim durumumda yazmam gereken LocalDB\v11.0) yazdıktan sonra Connect butonuna basıyoruz ve listeden istediğimiz veritabanını seçip Next butonuna basıyoruz.

MW2

Choose Objects ekranından script’ini oluşturmak istediğimiz nesneleri seçiyoruz. Eğer verilerinizin de veritabını script’inde yer almasını istiyorsanız Advanced butonuna basıp Script Table / Data ayarını “Table Schema with Data” olarak değiştirmeniz yeterlidir. Next butonuna basıp script özetini gördükten sonra tekrar Next butonuna basarak script oluşturma işlemine başlayabiliriz.

MW3

Script oluşturma işlemi bittikten sonra aşağıdakine benzer bir ekran göreceksiniz. Next butonuna basarak işleme devam ediyoruz.

MW4

Setup Target Server Connection ekranında küçük bir pencere açılacak. SQL Database’de oluşturduğumuz veritabınının içinde bulunduğu server’a ait ismi Server Name alanına giriyoruz. Server ismine Azure’daki veritabınımıza tıkladığımızda açılan pencereden görebiliriz.

servername

Authentication seçeneği olarak da SQL Server Authentication’ı seçiyoruz. Login ve password bilgisi olarak da Azure’daki veritabanının içinde bulunduğu sql server’a ait giriş ismini ve parolasını yazıyoruz. Giriş isminin sonuna @ koyduktan sonra server ismini girmekte fayda var. Sonrasında connect butonuna tıklayarak listeden Azure’daki veritabanımızı seçiyoruz ve Next’e basıyoruz. Karşımıza çıkan uyarı mesajında da Yes’e basarak veritabanımızı Azure’a taşıma işlemine başlıyoruz.

mw5

Connect butonuna bastığınızda “Client with IP x.x.x.x is not allowed to access this server” diye bir hata almanız olası. Bu durumda yapmanız gereken Azure’da veritabanınızı tuttuğunuz server’ı açtıktan sonra Configure sekmesine basarak o an sahip olduğunuz ip adresinin bu server’a erişmesine izin vermektir. Daha sonra sayfanın altındaki Save butonuna basarak yaptığınız değişiklikleri kaydetmeyi unutmayın.

iperror

Veritabanı taşıma işlemi bittiğinde Exit butonuna basarak Sql Azure MW’ı kapatabiliriz. Şimdi yapmamız gereken Azure websitemizi ve veritabanımızı birbiriyle ilişkilendirmek.

2- Azure Websitesine Kaynak Bağlama

Azure’daki veritabınımızı yine Azure’daki websitemiz ile ilişkilendirmek için websitemizi seçtikten sonra Linked Resources sekmesine gelerek Link a Resource’a tıklıyoruz.

link1

Açılan pencerede Link an Existing Resource’a, ardından Sql Database’e tıklıyoruz.

link2

link3

İstediğimiz veritabanını seçip veritabanının içinde bulunduğu server’a ait giriş ismi ve parola bilgisini girerek link etme işlemini tamamlıyoruz.

link4

3- Websitesini Visual Studio ile Azure’a Yayınlama

Bu işlemin nasıl yapıldığını bu makalemizden öğrenebilirsiniz. Yayınlama işlemi aynı bahsettiğim makalemizdeki gibi. Fakat Publish Web penceresinde Settings ekranına geldiğimiz zaman connection string’in değiştiğini ve Data Source olarak da Azure’daki sql server’a ait ismin yer aldığını göreceksiniz. Az önce anlattığım “Link a Resource” işlemi sayesinde bu connection string güncelleniyor. Bu sayede Azure’a gönderdiğimiz lokal veritabanı ile yayınladığımız websitesi ilişkilendirilmiş oluyor.

publishsettings

Bütün işlem bu kadar. Siteyi yayınlayıp açtığınızda veritabanı bağlantısının sorunsuz bir şekilde çalıştığını görebilirsiniz.

Kolay gelsin…

Hatice Varlık

@varlikhatice

Leave a Reply

  

  

  

%d blogcu bunu beğendi: