Azure SQL Database Oluşturmak, Bağlanmak ve Ölçeklendirmek
Beceri rehberi

Azure SQL Database Oluşturmak, Bağlanmak ve Ölçeklendirmek

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 5 dk okuma

Azure SQL Database, yönetilen bir SQL veritabanı sunar. Mantıksal sunucu ve güvenlik duvarı kuralıyla başlayan oluşturma adımlarını, bağlanma yollarını ve talep değiştikçe kaynakları artırıp azaltmayı kısa bir yol haritasıyla anlatır.

Bir bakışta

  1. Veritabanı doğrudan değil, bir mantıksal sunucunun altında oluşturulur. Sunucu adı Azure genelinde benzersiz olmalıdır; yönetici girişi ve güvenlik duvarı kuralı sunucu düzeyinde tanımlanır.
  2. Bazı yapılandırma kararları oluşturma sonrasında değiştirilemez. Microsoft, dağıtımdan önce değiştirilebilir ayarların listesini incelemeyi önerir.
  3. Güvenlik duvarı kuralı eklenmeden dış bir bilgisayardan bağlanılamaz. Hızlı başlangıçta yalnız kendi IP adresiniz eklenir, Azure hizmetlerine geniş erişim kapalı bırakılır.
  4. Aynı veritabanına portal, SSMS, Visual Studio Code ve uygulama sürücüleriyle bağlanılır. Sürücü bağlantılarında şifrelemeyi açık, sunucu sertifikasına güveni kapalı tutmak önerilir.
  5. Kaynaklar talep değişince elle, programla ya da sunucusuz katmanda otomatik ölçeklenir. Ölçekleme sırasında kısa bir bağlantı kesilmesi olur; yeniden deneme mantığı bunu uygulamadan gizler.

Azure SQL Database nedir, hangi parçalardan oluşur?

Azure SQL Database, SQL Server motoruna dayanan, Azure'ın yönettiği bir veritabanı hizmetidir. Yedekleme, yama ve altyapı bakımı platformdadır; siz veritabanını, şemayı ve erişimi yönetirsiniz. Aynı ailede, daha geniş SQL Server uyumluluğu sunan Azure SQL Managed Instance ve sanal makinede kendi yönettiğiniz SQL Server seçenekleri de vardır. Bu sayfa tek veritabanı (single database) seçeneğini ele alır.

Azure'da bir veritabanı doğrudan oluşmaz, belirli bir hiyerarşide yer alır. Abonelik, kaynakların faturalandığı çerçeveyi verir. Kaynak grubu, ilgili kaynakları bir arada tutar. Mantıksal sunucu, yönetici girişini ve güvenlik duvarı kurallarını barındırır. Veritabanı bu sunucunun altında oluşur. Bu yapıyı bilmek, bağlantı ve erişim sorunlarında nereye bakılacağını netleştirir.

Şekil 1

Veritabanı, sunucunun altında; sunucu, kaynak grubunun içinde

Kaynak hiyerarşisi

  1. AbonelikKaynakların oluşturulduğu ve faturalandığı çerçeve.
  2. Kaynak grubuİlgili kaynakları bir arada tutan kap.
  3. Mantıksal sunucuYönetici girişi ve güvenlik duvarı kuralları burada tanımlanır.
  4. VeritabanıSunucunun altında oluşan, ölçeklenen ve sorgulanan kaynak.
Kaynak: Microsoft Learn: tek veritabanı oluşturma hızlı başlangıcıMindset Institute

Oluşturmadan önce verilecek kararlar

Satın alma modeli ilk karardır. DTU modeli, hesaplama, bellek ve girdi çıktı kaynaklarını Basic, Standard ve Premium katmanlarında hazır karışımlar olarak sunar. vCore modeli ise çekirdek sayısını, belleği ve depolama miktarı ile hızını ayrı seçmenizi sağlar ve General Purpose, Business Critical ve Hyperscale katmanlarına sahiptir.

Hesaplama katmanı ikinci karardır. Sunucusuz katman, iş yüküne göre kaynakları belirlediğiniz aralıkta otomatik ölçekler; hızlı başlangıç belgesi bu katmanı kullanır. Sağlanmış (provisioned) katman ise sabit kaynak ayırır. İlk uygulamanızı sunucusuz katmanda kurup sonradan sağlanmış katmana geçebilirsiniz.

Kimlik doğrulama üçüncü karardır: SQL kimlik doğrulaması ya da Microsoft Entra kimlik doğrulaması. Yönetici giriş adına kişisel ya da hassas bilgi yazılmamalıdır. Son olarak yedekleme depolama yedekliliği ve bölge seçilir. Kaynak adlarına ve etiketlere de kişisel bilgi eklenmez.

Uyarı: Bazı yapılandırma tercihleri oluşturma sonrasında değiştirilemez. Microsoft, dağıtımdan önce değiştirilebilir yapılandırma referansına bakmayı önerir. Yeniden oluşturmak zorunda kalmamak için bu listeyi önceden okumak iyi bir alışkanlıktır.

Komut satırıyla oluşturma: sunucudan veritabanına

Portalda sihirbazla oluşturabileceğiniz gibi, Azure CLI ile betikleyerek de oluşturabilirsiniz. Mantık aynıdır: kaynak grubu, sunucu, güvenlik duvarı kuralı, veritabanı. Resmî hızlı başlangıç betiği şu komutları kullanır:

az group create --name $resourceGroup --location "$location" az sql server create --name $server --resource-group $resourceGroup --location "$location" --admin-user $login --admin-password $password az sql server firewall-rule create --resource-group $resourceGroup --server $server -n AllowYourIp --start-ip-address $startIp --end-ip-address $endIp az sql db create --resource-group $resourceGroup --server $server --name $database --edition GeneralPurpose --compute-model Serverless

Hızlı başlangıç veritabanı komutunda ayrıca donanım ailesi ve kapasite parametrelerini de verir. Betiğin başındaki değişken bloğunda konum, kaynak adları, yönetici giriş adı ve izin verilecek IP aralığı tanımlanır. Sunucu adı Azure genelinde benzersiz olmalıdır; hızlı başlangıç bunu rastgele bir sayıyla sağlar. Yönetici parolası betiğe düz metin yazılmamalı, güvenli biçimde dışarıdan verilmelidir. Hızlı başlangıç ayrıca örnek bir veritabanı yükleme seçeneği sunar; öğrenme için içinde tablolar ve veri bulunur.

Öğrenme bitince kaynak grubunu silmek, sunucuyu ve veritabanını birlikte kaldırır.

Şekil 2

Birkaç komut, boş bir abonelikten çalışan bir veritabanına götürür

Oluşturma sırası

  1. Kaynak grubuaz group create ile kap oluşturulur.
  2. Mantıksal sunucuaz sql server create ile sunucu ve yönetici girişi tanımlanır.
  3. Güvenlik duvarı kuralıaz sql server firewall-rule create ile izin verilen IP aralığı eklenir.
  4. Veritabanıaz sql db create ile katman ve hesaplama modeli seçilerek veritabanı oluşturulur.
Kaynak: Microsoft Learn: tek veritabanı oluşturma hızlı başlangıcıMindset Institute

Veritabanına bağlanmak

Bağlanmak için şu bilgiler gerekir: sunucunun tam alan adı, veritabanı adı ve giriş bilgisi. Sunucu adını portalda veritabanının genel bakış sayfasından kopyalarsınız. ADO.NET kullanan bir uygulama için bağlantı dizesi, veritabanı sayfasındaki bağlantı dizeleri bölümünden alınır.

İlk sorguyu en hızlı portaldaki sorgu düzenleyiciyle çalıştırırsınız: veritabanı sayfasında bu bölümü açar, SQL kimlik doğrulaması ya da Microsoft Entra ile giriş yapar ve T-SQL yazarsınız. Resmî belge ayrıca SQL Server Management Studio, Visual Studio Code ve .NET, Go, Java, Node.js, PHP, Python, Ruby için bağlantı örnekleri sunar.

Bağlantı çalışmıyorsa ilk bakılacak yer güvenlik duvarıdır: sizin IP adresiniz sunucu kuralında yoksa bağlantı reddedilir. Güvenlik tarafında Microsoft, uygulamalarda şifrelemenin açık (Encrypt = On) ve sunucu sertifikasına koşulsuz güvenin kapalı (TrustServerCertificate = Off) olmasını önerir; böylece sürücü sunucunun kimliğini doğrular. Microsoft dışı sürücülerin varsayılan olarak TLS kullanmayabileceği ve hassas veride bu sürücülerin güvenliğinin incelenmesi gerektiği de belgede belirtilir.

Ölçeklendirme: ne zaman, nasıl?

Talep büyüdüğünde ya da azaldığında veritabanının kaynaklarını (işlemci, bellek, girdi çıktı gücü ve depolama) değiştirebilirsiniz. Portalda bu işlem bir kaydırıcıyla, programla ise otomasyon araçlarıyla yapılır. Hizmet katmanı, hesaplama katmanı ve kaynak sınırları istendiği zaman değiştirilebilir; örneğin sunucusuz katmanda başlayıp sonradan sağlanmış katmana geçilebilir. Sunucusuz katman ayrıca belirlenen aralıkta kaynakları kendisi ölçekler.

Ölçeklemenin bir bedeli vardır: işlem sırasında veritabanı motoru yeniden başlar, gerekirse başka bir sanal makineye taşınır. Bu sırada mevcut bağlantılar sonlanabilir ve tamamlanmamış işlemler geri alınır. Belge, kısa bir bağlantı kopması beklenmesi gerektiğini, standart geçici hatalar için yeniden deneme mantığı eklenmişse bunun fark edilmeyeceğini belirtir. Yani uygulamanızda yeniden deneme mantığı olması ölçeklemeyi güvenli hale getirir.

Bazı kısıtlar da vardır: yalnız Business Critical ya da Premium katmanında sunulan bir özelliği kullanan veritabanı daha alt katmana alınamaz; Hyperscale katmanında oluşturulan bir veritabanı da diğer katmanlara geçirilemez. Kaynak eklemenin yetmediği durumlarda ek seçenekler vardır: ağır okuma sorgularını salt okunur bir kopyaya yönlendirmek ya da veriyi birden çok veritabanına bölmek (sharding).

Şekil 3

Önce kaynak artırılır, yetmezse yük bölünür

Ölçekleme seçimi

Veritabanı yükü kaldırmıyor, ne yapılmalı?
  1. Yük arttı, sorgu ve dizin iyileştirmesi yetmiyorKaynakları artırın (yukarı ölçekleme)Kod değiştirmeden performansı artırmanın en kolay yoludur.
  2. Yük değişken ve aralıklıSunucusuz katmanda otomatik ölçekleme
  3. Ağır raporlama sorguları ana veritabanını yavaşlatıyorSalt okunur kopyaya yönlendirme
  4. En yüksek katman bile yetmiyorVeriyi birden çok veritabanına bölme (sharding)
Kaynak: Microsoft Learn: kaynak ölçeklemeMindset Institute

Sık yapılan hatalar

Azure SQL veritabanı kurulumunda hatalar çoğunlukla ağ ve güvenlik kararlarında çıkar:

  • Güvenlik duvarını unutmak: Sunucu kuralı olmadan dış bağlantı reddedilir. Kendi IP adresiniz için dar bir kural ekleyin.
  • Her yere izin vermek: Azure hizmetlerine ve geniş IP aralıklarına gereksiz izin vermek yüzeyi büyütür. Yalnız gerekli adres aralığını açın.
  • Parolayı betiğe yazmak: Betik depoya girer, parola ifşa olur. Parolayı güvenli biçimde dışarıdan verin.
  • Yeniden deneme mantığı eklememek: Ölçekleme ya da bakım sırasında kısa kopmalar uygulamada hata olarak görünür.
  • Oluşturma sonrası değişmeyen ayarları incelememek: Sonradan düzeltmek için yeniden kurmak gerekebilir.
  • Deneme veritabanını bırakmak: Kullanılmayan kaynaklar maliyet yaratır. Kaynak grubunu silerek temizleyin.

Bu beceriyi Mindset programlarında nerede çalışırsınız?

Mindset kataloğundaki Microsoft Azure Eğitimi, Azure kaynaklarını oluşturma ve yönetme, ağ yapılandırması, kimlik ve erişim yönetimi, depolama ve veri hizmetleri, güvenlik ve uyumluluk başlıklarını kapsar. Veritabanını bu başlıkların içine yerleştirmek, yani sunucu, güvenlik duvarı, kimlik ve izleme kararlarını birlikte ele almak isteyen geliştirici ve altyapı ekipleri için uygundur.

İlgili Mindset programı

Microsoft Azure Eğitimi

Sık sorulanlar

Sık sorulan sorular

Azure SQL Database ile Managed Instance arasındaki fark nedir?

Azure SQL Database tek veritabanı ya da elastik havuz odaklı, yönetilen bir hizmettir. Managed Instance ise bir SQL Server örneğine daha yakın, birden çok veritabanını bir örnek altında barındıran yönetilen seçenektir. Yalnızca bir uygulama veritabanı gerekiyorsa tek veritabanı yeterlidir; örnek düzeyi özellikler gerekiyorsa Managed Instance değerlendirilir.

Veritabanı oluşturmak için hangi yetkiler gerekir?

Portal, PowerShell, Azure CLI ya da REST API ile oluşturmak için Azure RBAC rolü gerekir; belgede Contributor, SQL DB Contributor ya da SQL Server Contributor rolleri anılır. T-SQL ile oluşturmak için ise CREATE DATABASE izni gerekir; bu izin sunucu yöneticisi, Entra yöneticisi ya da dbmanager rolü üyeleri için geçerlidir.

Veritabanı bir süre kullanılmazsa ne olur?

Sunucusuz katmanda otomatik duraklatma gecikmesi tanımlıdır; belirli süre etkinlik olmazsa veritabanı duraklatılabilir. Geliştirme iş yükü için hızlı başlangıç belgesi bu gecikmeyi varsayılan olarak ayarlar. Sağlanmış katmanda kaynaklar sürekli ayrılmış olduğu için bu davranış geçerli değildir.

Ölçekleme sırasında uygulama kesintiye uğrar mı?

Genellikle kısa bir bağlantı kopması olur. İşlem çevrimiçi yürür ancak son aşamada açık bağlantılar sonlanır ve yeni bağlantılar hedef motora gider. Standart geçici hatalar için yeniden deneme mantığı uygulamada varsa bu kopma kullanıcıya yansımayabilir. Uzun süren işlemler varken ölçeklemeyi ertelemek daha güvenlidir.

Örnek veriyle veritabanı oluşturabilir miyim?

Evet. Hızlı başlangıç, ek ayarlar bölümünde örnek veri seçeneğiyle içinde tablolar ve veri bulunan bir örnek veritabanı oluşturmayı anlatır. Sorguları denemek, bağlantıyı test etmek ve araçlara alışmak için boş veritabanından daha kullanışlıdır.

Azure SQL Veritabanı Oluşturma, Bağlanma, Ölçekleme