Azure SQL Database Oluşturma
Bu yazı 10 Mayıs 2019 tarihinde Medium/@dynamics365 altında yayınlanmıştır. 17 Mayıs 2020 tarihinde emregulcan.com altında taşınmıştır.
İçerikler, yazının oluşturulduğu tarih için geçerli olup, Microsoft Dynamics 365 CE, Power Platform ve Azure hizmetlerinin sürekli iyileştirme ve güncelleme döngüsünden dolayı paylaşılan bilgilerde değişiklikler meydana gelmiş olabilir.
Merhaba,
Bu yazıda, bir sonraki yazı (Dynamics 365 Data Export Service) için ön hazırlık olması açısından Azure üzerinde SQL Database oluşturma işlemlerini anlatacağım.
Detaylı ve bol ekran görüntüsü olan bir yazı olduğu için ayrı bir konu olarak işlemek istedim.
Azure SQL Database hizmeti için detaylara ve ücretlendirme bilgilerine https://azure.microsoft.com/en-us/services/sql-database adresinden ulaşabilirsiniz.
Eğer ilk defa Azure hesabı oluşturuyorsanız (Subscription), ilk ay için geçeli olan 200 $ (yaklaşık olarak 1200 TL) hediye çekini kullanabilirsiniz.
Azure Portal ‘de SQL Database hizmeti oluşturmak için sol menüden SQL Databases ya da All Services (Tüm Hizmetler) altından arama yaparak ilgili ekranlara ulaşabilirsiniz.
Azure SQL Database Oluşturma
SQL Databases (SQL Veritabanları) ekranında Add (Ekle) ya da Create sql database butonlarını kullanarak yeni bir veritabanı oluşturabilirsiniz.
Create SQL Database (SQL Veritabanı Oluştur) ekranında ilk olarak Basics (Temel Ayarlar) yer almakta. Burada Subscription (Abonelik), Resource Group (Kaynak Grubu), Database Name (Veritabanı Adı) ve Server (Sunucu) bilgilerini belirtmemiz gerekli.
Eğer yeni bir hesap oluşturmuşsanız muhtemelen henüz bir Resource Group ve Server bilginiz yoktur. Bunları oluşturmak için ilgili adımları takip edebilirsiniz.
Resource Group, sahip olduğumuz hizmetleri mantıksal olarak gruplayan bir klasörden başka bir şey değildir, dolayısıyla belirli bir formatta isimlendirme yaparak kolay yönetilebilir bir yapı oluşturabilirsiniz.
Server ise, SQL Database ‘in oluşturulacağı sunucudur, bu ekranda aşağıdaki bilgileri girmelisiniz.
Önemli nokta; eğer bu database ‘e Azure hizmetlerinden ulaşmak istiyorsanız Allow Azure services to access server (Azure hizmetlerinin sunucuya erişmesine izin ver) seçeneğinin işaretli olması, böylece ekstra bir Firewall kural tanımlaması yapmanıza gerek kalmayacaktır.
Yazının başında belirttiğim gibi bir sonraki konu için ön hazırlık olduğu için ben bu seçeneği işaretliyorum.
Eğer bu seçeneğe izin vermek istemiyorsanız, Dynamics 365 Data Export Service için Microsoft tarafından yayınlanmış Statik IP Adres Listesi kayıtlarına buradan ulaşabilirsiniz.
Compute + storage bölümünde Configure database bağlantısına tıklayarak ihtiyacımız olan database hizmetini seçebiliriz. Bu ekranda seçmiş olduğumuz hizmete göre yaklaşık olarak aylık maaliyet bilgisini görebilirsiniz.
Bu yazıyı hazırladığım tarihte (08 Mayıs 2019) Basic seçeneği yaklaşık olarak 28 TL / ay olarak ücretlendirilmekte.
Next : Additional Settings butonu ile bir sonraki aşamaya geçebilir ya da Review + Create butonu ile işlemi sonlandırıp, database oluşturabiliriz.
Additional Settings (Ek Ayarlar) sekmesinde;
- Use existing data (Mevcut verileri kullan) bölümünde yeni bir database oluşturma ya da mevcut backup üzerinden işlem yapma seçeneklerini kullanabilirsiniz. Biz None (hiçbiri) seçerek devam ediyoruz.
- Database Collation bölümünde ise oluşturulacak database için Collation bilgisini seçebiliriz.
Eğer Dynamics 365 CE (CRM) Data Export Service için kullanacaksanız mevcut database yapınız ile aynı olmasına dikkat edin, aksi takdirde data yapısında bozulmalar meydana gelebilir.
Tags (Etiketler) sekmesinde, Key – Value olarak çeşitli etiketler tanımlayabilirsiniz. Bunlar daha çok mevcut hizmetleri ilişkilendirmek ve yönetmek amaçlı kullanılmaktadır.
Son adım olan Review + Create (Gözden geçir + oluştur) sekmesinde, girmiş olduğumuz tüm bilgilerin özetini bulabiliriz. Burada Create butonu ile işlemi sonlandırıp Azure SQL Database ‘i oluşturabiliriz.
Create butonuna tıkladıktan sonra aşağıdaki ekrana yönlendiriliyoruz.
Bu listede, oluşturulan tüm kaynaklar yer alacaktır. Eğer yeni bir hesap ile Server tanımlaması yapılmış ise bu bilgi de yer alacaktır.
SQL Database oluşturma işlemi tamamlandığında Go to resource butonu ile ilgili database detay bilgilerine ulaşabiliriz.
SQL Server Management Studio (SSMS) İle Azure SQL Database Bağlantısı
SQL Database oluştururken Server tanımlaması yaptığımız aşamada admin login ve password bilgileri oluşturmuştuk.
Bu bilgiler ve Server name bilgisini kullanarak, SQL Server Management Studio (SMSS) ile Azure SQL Database ‘e bağlantı sağlayabiliriz.
İlk bağlantı sırasında aşağıdaki gibi bir hata ile karşılaşabiliriz. Bu hata mevcut IP Adres bilgimizin Azure üzerinde Firewall ayarlarında bulunmamasından kaynaklı bir güvenlik uyarısıdır.
Bu ekranda Sign In butonunu kullanarak ilgili Azure Active Directory hesabımız ile giriş yapmamız gerekli. Böylece IP Adres bilgimize ya da belirli bir SubNet aralığına izin verebiliriz.
Farklı bir yol olarak bu ayarları Azure Portal üzerinden de yapabiliriz.
Bunun için ilgili Azure SQL Database kaydının Overview (Genel Bakış) ekranında üst tarafta bulunan Set server firewall (Sunucu güvenlik duvarı ayarla) butonu ile ilgili sayfa gidebiliriz.
Tüm işlemler tamamlandıktan sonra SQL Server Management Studio (SMSS) üzerinden Azure SQL Database ‘e erişebiliriz.
Bu bağlantıyı, daha önce tanımlamış olduğumuz SQL Admin (SA) kullanıcısı ile yaptık, elbette tüm işlemlerde SQL Admin (SA) kullanmak çok doğru bir yöntem değil, bu nedenle Azure SQL Database üzerinde kullanıcı tanımlaması yapmalıyız.
Azure SQL Database Kullanıcı Tanımlama
İlk olarak bir LOGIN
oluşturmamız gerekli. Bunun için CREATE LOGIN {username} WITH PASSWORD = '{password}'
komutunu kullanmalıyız. Burada {username} ve {password} yerine ilgili kullanıcı için geçerli bilgileri girebiliriz.
Bu işlemi yaparken database olarak master seçili olmasına dikkat etmelisiniz.
Bir sonraki aşamada, oluşturduğumuz kullanıcıyı Azure SQL Database ‘e kullanıcı olarak tanımlamalı ve yetkilerini vermeliyiz.
Bu işlem için aşağıdaki komutları çalıştırmanız gerekli, yine {username} parametresinin değiştirilmesi gerekli.
CREATE USER {username} FROM LOGIN {username};
EXEC sp_addrolemember 'db_owner', '{username}';
Ben ilgili kullanıcıya db_owner yetkisi tanımladım (Dynamics 365 CE Data Export Service için gerekli olan izinlere buradan erişebilirsiniz).
Oluşturduğumuz kullanıcıları aşağıdaki gibi görebilmeniz gerekli.
Azure SQL Database Connection String
Her database sunucusu gibi Azure SQL Database ‘e de uygulamalarımız içinden erişim mümkün (elbette belirlediğiniz güvenlik kuralları dahilinde erişim sağlayabilirsiniz).
Bunun için bir Connection String (Bağlantı Bilgisi) ihtiyacımız bulunmakta.
Azure Portal üzerinden SQL Databases içinde ilgili SQL Database detaylarına girdiğimizde Overview (ilk açılan ekran) sayfasında bulunan Connection Strings bölümünde Show database connection strings bağlantısına tıklayarak bu bilgilere erişebiliriz.
Bu ekranda ADO.NET
, JDBC
, ODBC
, PHP
için kullanılabilecek hazır Connection String bilgileri yer almakta.
Bu Connection String içinde {your_username} ve {your_password} değerlerini kendi kullanıcı bilgileriniz ile değiştirip kullanabilirsiniz. Ufak bir not olarak, {} parantezleri de kaldırmayı unutmayın 😉
Umarım faydalı bir yazı olmuştur.