Kontrol listesi: Azure VM’lerinde SQL Server için en iyi yöntemler

Şunlar için geçerlidir: Azure VM'de SQL Server

Bu makalede, Azure Sanal Makineler 'da (VM) SQL Server performansını iyileştirmeye yönelik bir dizi en iyi yöntem ve yönerge olarak bir hızlı denetim listesi sağlanır.

Kapsamlı ayrıntılar için bu serideki diğer makalelere bakın: VM boyutu, Depolama, Güvenlik, HADR yapılandırması, Temeli topla.

Azure VM'lerinde SQL Server için SQL Değerlendirmesini etkinleştirdiğinizde SQL Server, Azure portal SQL VM yönetim sayfasındaki sonuçlarla bilinen en iyi yöntemlere göre değerlendirilir.

SQL Server VM performansını iyileştirmeye ve yönetimi otomatikleştirmeye yönelik en son özellikler hakkında videolar için aşağıdaki Kullanıma Sunulan Veri videolarını gözden geçirin:

Genel Bakış

Azure Sanal Makineler'da SQL Server çalıştırırken, şirket içi sunucu ortamlarındaki SQL Server için geçerli olan veritabanı performansı ayarlama seçeneklerini kullanmaya devam edin. Ancak genel buluttaki ilişkisel veritabanının performansı, sanal makinenin boyutu ve veri disklerinin yapılandırması gibi birçok faktöre bağlıdır.

Genellikle maliyetleri iyileştirme ve performansı iyileştirme arasında bir denge vardır. Bu en iyi performans uygulamaları serisi, Azure Sanal Makineler'da SQL Server için en iyi performansı almaya odaklanmıştır. İş yükünüz daha az zorluysa önerilen her iyileştirmeye ihtiyacınız olmayabilir. Bu önerileri değerlendirirken performans gereksinimlerinizi, maliyetlerinizi ve iş yükü desenlerinizi göz önünde bulundurun.

VM Boyutu

Azure VM'de SQL Server çalıştırmaya yönelik vm boyutu en iyi yöntemlerinin hızlı bir denetim listesi aşağıda verilmiştir:

  • Yeni Ebdsv5 serisi , 8 bellek-sanal çekirdek oranıyla birlikte Azure'daki en yüksek G/Ç aktarım hızı-sanal çekirdek oranını sağlar. Bu seri, Azure VM'lerindeki SQL Server iş yükleri için en iyi fiyat performansını sunar. Çoğu SQL Server iş yükü için önce bu seriyi göz önünde bulundurun.
  • E4ds_v5 veya üzeri gibi 4 veya daha fazla vCPU ile VM boyutlarını kullanın.
  • SQL Server iş yüklerinde en iyi performansı elde etmek amacıyla bellek için iyileştirilmiş sanal makine boyutlarını kullanın.
  • Edsv5 serisi, M-veMv2 serisi OLTP iş yükleri için gereken en uygun bellek-sanal çekirdek oranını sunar.
  • M serisi VM'ler, Azure'daki en yüksek bellek-sanal çekirdek oranını sunar. Görev açısından kritik ve veri ambarı iş yükleri için bu VM'leri göz önünde bulundurun.
  • en iyi performans için SQL Server ayarları ve depolama seçenekleri yapılandırıldığından, SQL Server Sanal Makineler dağıtmak için Azure Market görüntülerden yararlanın.
  • Hedef iş yükünün performans özelliklerini toplayın ve bunları kullanarak işletmeniz için uygun VM boyutunu belirleyin.
  • Mevcut SQL Server iş yükünüz için doğru VM boyutunu bulmak için Data Migration Yardımcısı SKU öneri aracını kullanın.

Daha fazla bilgi edinmek için bkz. Kapsamlı VM boyutu en iyi yöntemleri.

Depolama

Azure VM'de SQL Server çalıştırmaya yönelik depolama yapılandırması en iyi yöntemlerinin hızlı bir denetim listesi aşağıda verilmiştir:

  • Disk türünü seçmeden önce uygulamayı izleyin ve SQL Server veri, günlük ve tempdb dosyaları için depolama bant genişliği ve gecikme süresi gereksinimlerini belirleyin.
  • Depolama performansını iyileştirmek için kullanılabilir en yüksek ölçeklenmemiş IOPS'yi planlayın ve veri okuma işlemleri için performans özelliği olarak veri önbelleğe alma özelliğini kullanırken sanal makine ve disklerin kısıtlanmasından/azaltılmasından kaçının.
  • Verileri, günlük ve tempdb dosyalarını ayrı sürücülere yerleştirin.
    • Veri sürücüsü için premium P30 ve P40 veya daha küçük diskler kullanarak önbellek desteğinin kullanılabilirliğini sağlayın
    • Premium P30 - P80 disklerini değerlendirirken kapasite ve test performansı ile maliyet karşılaştırması için günlük sürücüsü planı.
    • En uygun VM boyutunu seçtikten sonra Yük Devretme Kümesi Örneğinin (FCI) parçası olmayan çoğu SQL Server iş yükü için tempdb'yi yerel kısa ömürlü SSD (varsayılanD:\) sürücüye yerleştirin.
    • FCI için tempdb'yi paylaşılan depolama alanına yerleştirin.
      • FCI iş yükü tempdb disk performansına büyük ölçüde bağımlıysa gelişmiş yapılandırma olarak tempdb'yi FCI depolamanın bir parçası olmayan yerel kısa ömürlü SSD (varsayılan D:\) sürücüye yerleştirin. Bu sürücünün herhangi bir hatası FCI'dan eylem tetiklemeyeceğinden, yerel kısa ömürlü SSD (varsayılan D:\) sürücünün her zaman kullanılabilir olduğundan emin olmak için bu yapılandırmanın özel izleme ve eylem gerçekleştirmesi gerekir.
  • G/Ç bant genişliğini hedef sanal makinenin IOPS ve aktarım hızı sınırlarına kadar artırmak için Depolama Alanları kullanarak birden çok Azure veri diskini ayırın.
  • Veri dosyası diskleri için konak önbelleğini salt okunur olarak ayarlayın.
  • Günlük dosyası diskleri için konak önbelleğini yok olarak ayarlayın.
    • SQL Server verileri veya günlük dosyalarını içeren disklerde okuma/yazma önbelleğini etkinleştirmeyin.
    • Diskinizin önbellek ayarlarını değiştirmeden önce her zaman SQL Server hizmetini durdurun.
  • Geliştirme ve test iş yükleri için standart depolamayı kullanmayı göz önünde bulundurun. Üretim iş yükleri için Standart HDD/SDD kullanılması önerilmez.
  • Kredi tabanlı Disk Seri Dağıtımı (P1-P20), yalnızca daha küçük geliştirme/test iş yükleri ve departman sistemleri için dikkate alınmalıdır.
  • Depolama hesabını SQL Server VM ile aynı bölgede sağlayın.
  • Azure coğrafi olarak yedekli depolamayı (coğrafi çoğaltma) devre dışı bırakın ve depolama hesabında LRS (yerel yedekli depolama) kullanın.
  • Geçici D:\ sürücü dışında bir sürücüye yerleştirilen tüm veri dosyaları için veri diskinizi 64 KB ayırma birimi boyutu kullanacak şekilde biçimlendirin (varsayılan olarak 4 KB'tır). Azure Market aracılığıyla dağıtılan SQL Server VM'ler, depolama havuzu için ayırma birimi boyutu ve ayırma 64 KB olarak ayarlanmış veri diskleriyle birlikte gelir.

Daha fazla bilgi edinmek için bkz. Kapsamlı Depolama en iyi uygulamaları.

SQL Server özellikleri

Aşağıda, SQL Server örneklerinizi üretim ortamındaki bir Azure sanal makinesinde çalıştırırken SQL Server yapılandırma ayarlarına yönelik en iyi yöntemlerin hızlı bir denetim listesi verilmiştir:

Azure özellikleri

Aşağıda, SQL Server Azure VM'de çalıştırırken Azure'a özgü yönergeler için en iyi yöntemlerin hızlı bir denetim listesi verilmiştir:

HADR yapılandırması

Always On kullanılabilirlik grubu ve yük devretme kümesi örneği gibi yüksek kullanılabilirlik ve olağanüstü durum kurtarma (HADR) özellikleri, temel alınan Windows Server Yük Devretme Kümesi teknolojisini kullanır. HadR ayarlarınızı değiştirerek bulut ortamını daha iyi desteklemek için en iyi yöntemleri gözden geçirin.

Windows kümeniz için şu en iyi yöntemleri göz önünde bulundurun:

  • Trafiği HADR çözümünüzde yönlendirmek üzere bir Azure Load Balancer veya dağıtılmış ağ adına (DNN) bağımlılığı önlemek için mümkün olduğunca SQL Server VM'lerinizi birden çok alt ağa dağıtın.
  • Geçici ağ hatalarından veya Azure platformu bakımından kaynaklanan beklenmeyen kesintileri önlemek için kümeyi daha az agresif parametrelerle değiştirin. Daha fazla bilgi için bkz. sinyal ve eşik ayarları. Windows Server 2012 ve üzeri için aşağıdaki önerilen değerleri kullanın:
    • SameSubnetDelay: 1 saniye
    • SameSubnetThreshold: 40 sinyal
    • CrossSubnetDelay: 1 saniye
    • CrossSubnetThreshold: 40 sinyal
  • VM'lerinizi bir kullanılabilirlik kümesine veya farklı kullanılabilirlik alanlarına yerleştirin. Daha fazla bilgi edinmek için bkz. VM kullanılabilirlik ayarları.
  • Küme düğümü başına tek bir NIC ve tek bir alt ağ kullanın.
  • Küme çekirdek oylamasını 3 veya daha fazla tek oy kullanacak şekilde yapılandırın. DR bölgelerine oy atmayın.
  • Kaynak kısıtlamaları nedeniyle beklenmeyen yeniden başlatmaları veya yük devretmeleri önlemek için kaynak sınırlarını dikkatle izleyin.
    • İşletim sisteminizin, sürücülerinizin ve SQL Server en son derlemelerde olduğundan emin olun.
    • Azure VM'lerinde SQL Server performansı iyileştirme. Daha fazla bilgi edinmek için bu makaledeki diğer bölümleri gözden geçirin.
    • Kaynak sınırlarını önlemek için iş yükünü azaltın veya dağıtin.
    • Kısıtlamalardan kaçınmak için yüksek sınırları olan bir VM'ye veya diske geçin.

SQL Server kullanılabilirlik grubu veya yük devretme kümesi örneğin için şu en iyi yöntemleri göz önünde bulundurun:

  • Sık sık beklenmeyen hatalarla karşılaşıyorsanız, bu makalenin geri kalanında açıklanan en iyi performans yöntemlerini izleyin.
  • SQL Server VM performansını iyileştirmek beklenmeyen yük devretme işlemlerinizi çözmezse, kullanılabilirlik grubu veya yük devretme kümesi örneği için izlemeyi gevşetmeyi göz önünde bulundurun. Ancak, bunu yapmak sorunun temel kaynağını ele almayabilir ve hata olasılığını azaltarak belirtileri maskeler. Yine de temel alınan kök nedeni araştırmanız ve ele almanız gerekebilir. Windows Server 2012 veya üzeri için aşağıdaki önerilen değerleri kullanın:
    • Kira zaman aşımı: Kira zaman aşımı değeri üst sınırını hesaplamak için bu denklemi kullanın:
      Lease timeout < (2 * SameSubnetThreshold * SameSubnetDelay).
      40 saniye ile başlayın. Daha önce önerilen gevşek SameSubnetThreshold ve SameSubnetDelay değerleri kullanıyorsanız, kira zaman aşımı değeri için 80 saniyeyi geçmeyin.
    • Belirtilen dönemdeki en fazla hata sayısı: Bu değeri 6 olarak ayarlayabilirsiniz.
    • Healthcheck zaman aşımı: Bu değeri başlangıçta 60000 olarak ayarlayabilir ve gerektiği gibi ayarlayabilirsiniz.
  • HADR çözümünüzle bağlantı kurmak için sanal ağ adını (VNN) ve Azure Load Balancer kullanırken, kümeniz yalnızca bir alt ağa yayılmış olsa bile bağlantı dizesinde belirtinMultiSubnetFailover = true.
    • İstemci desteklemiyorsaMultiSubnetFailover = True, istemci kimlik bilgilerini daha kısa süreler için önbelleğe almanız ve HostRecordTTL = 300 ayarlamanız RegisterAllProvidersIP = 0 gerekebilir. Ancak, bunu yapmak DNS sunucusunda ek sorgulara neden olabilir.
  • HadR çözümünüzde dağıtılmış ağ adını (DNN) kullanarak bağlanmak için aşağıdakileri göz önünde bulundurun:
    • destekleyen bir istemci sürücüsü MultiSubnetFailover = Truekullanmanız ve bu parametrenin bağlantı dizesinde olması gerekir.
    • Kullanılabilirlik grubu için DNN dinleyicisine bağlanırken bağlantı dizesinde benzersiz bir DNN bağlantı noktası kullanın.
  • Yük dengeleyici veya DNN gereksinimini atlamak için temel bir kullanılabilirlik grubu için veritabanı yansıtma bağlantı dizesi kullanın.
  • Yanlış hizalanmış G/Ç'lerden kaçınmak için yüksek kullanılabilirlik çözümünüzü dağıtmadan önce VHD'lerinizin kesim boyutunu doğrulayın. Daha fazla bilgi için bkz. KB3009974 .
  • SQL Server veritabanı altyapısı, Always On kullanılabilirlik grubu dinleyicisi veya yük devretme kümesi örneği sistem durumu araştırması 49.152 ile 65.536 (TCP/IP için varsayılan dinamik bağlantı noktası aralığı) arasında bir bağlantı noktası kullanacak şekilde yapılandırılmışsa, her bağlantı noktası için bir dışlama ekleyin. Bunun yapılması, diğer sistemlerin dinamik olarak aynı bağlantı noktasına atanmasını engeller. Aşağıdaki örnek, 59999 numaralı bağlantı noktası için bir dışlama oluşturur:
    netsh int ipv4 add excludedportrange tcp startport=59999 numberofports=1 store=persistent

Daha fazla bilgi edinmek için bkz. kapsamlı HADR en iyi yöntemleri.

Güvenlik

Bu bölümdeki denetim listesi, Azure VM'lerinde SQL Server için en iyi güvenlik uygulamalarını kapsar.

SQL Server özellikleri ve özellikleri, veri düzeyinde bir güvenlik yöntemi sağlar ve bulut tabanlı ve hibrit çözümler için altyapı düzeyinde derinlemesine savunma elde edebilirsiniz. Buna ek olarak, Azure güvenlik önlemleriyle hassas verilerinizi şifrelemek, sanal makineleri virüslerden ve kötü amaçlı yazılımlardan korumak, ağ trafiğinin güvenliğini sağlamak, tehditleri tanımlayıp algılamak, uyumluluk gereksinimlerini karşılamak ve hibrit buluttaki tüm güvenlik gereksinimleri için tek bir yönetim ve raporlama yöntemi sağlamak mümkündür.

  • Veri ortamınızın güvenlik duruşunu geliştirmek için değerlendirme yapmak ve işlem yapmak için Azure Güvenlik Merkezi kullanın. Azure Gelişmiş Tehdit Koruması (ATP) gibi özellikler, güvenlik değerlendirmesini geliştirmek ve risklere tepki verme olanağı sağlamak için hibrit iş yüklerinizde kullanılabilir. SQL Server VM'nizi SQL IaaS Aracısı uzantısına kaydetmek, Azure portal SQL sanal makine kaynağında Azure Güvenlik Merkezi değerlendirmeleri ortaya ekler.
  • Olası veritabanı güvenlik açıklarını bulmak ve azaltmak, ayrıca SQL Server örneğiniz ve veritabanı katmanınız için bir tehdit oluşturabilecek anormal etkinlikleri algılamak için SQL için Microsoft Defender yararlanın.
  • Güvenlik Açığı Değerlendirmesi, SQL Server ortamınızdaki olası riskleri keşfedebilen ve düzeltmeye yardımcı olabilecek SQL Microsoft Defender bir parçasıdır. Güvenlik durumunuz hakkında görünürlük sağlar ve güvenlik sorunlarını çözmek için eyleme dönüştürülebilir adımlar içerir.
  • Kullanımdaki verilerinizin ve bekleyen verilerin konak operatörü erişimine karşı korunmasını güçlendirmek için Azure gizli VM'lerini kullanın. Azure gizli VM'leri hassas verilerinizi bulutta güvenle depolamanıza ve katı uyumluluk gereksinimlerini karşılamanıza olanak sağlar.
  • SQL Server 2022 kullanıyorsanız, SQL Server örneğine bağlanmak için Azure Active Directory kimlik doğrulamasını kullanmayı göz önünde bulundurun.
  • Azure Danışmanı , kaynak yapılandırmanızı ve kullanım telemetrinizi analiz eder ve ardından Azure kaynaklarınızın maliyet verimliliğini, performansını, yüksek kullanılabilirliğini ve güvenliğini artırmanıza yardımcı olabilecek çözümler önerir. Azure dağıtımlarınızı iyileştirmek için en iyi yöntemleri tanımlamaya ve uygulamaya yardımcı olmak için sanal makine, kaynak grubu veya abonelik düzeyinde Azure Danışmanı'nı kullanın.
  • Uyumluluk ve güvenlik gereksinimleriniz kısa ömürlü (yerel olarak eklenmiş geçici) diskin şifrelenmesi de dahil olmak üzere şifreleme anahtarlarınızı kullanarak verileri uçtan uca şifrelemenizi gerektirdiğinde Azure Disk Şifrelemesi'ni kullanın.
  • Yönetilen Diskler varsayılan olarak Azure Depolama Hizmeti Şifrelemesi kullanılarak şifrelenir ve burada şifreleme anahtarları Azure'da depolanan Microsoft tarafından yönetilen anahtarlardır.
  • Yönetilen disk şifreleme seçeneklerinin karşılaştırması için yönetilen disk şifrelemesi karşılaştırma grafiğini gözden geçirin
  • Sanal makinelerinizde yönetim bağlantı noktaları kapatılmalıdır - Açık uzaktan yönetim bağlantı noktaları, sanal makinenizi İnternet tabanlı saldırılardan kaynaklanan yüksek risk düzeyine maruz bırakır. Bu saldırılar makineye yönetici erişimi elde etmek için kimlik bilgilerini deneme yanılma girişiminde bulunur.
  • Azure sanal makineleri için Tam zamanında (JIT) erişimi açma
  • Uzak Masaüstü Protokolü (RDP) üzerinden Azure Bastion kullanın.
  • Bağlantı noktalarını kilitleyin ve yalnızca kaynak IP adresine göre sunucu erişimi veren/reddeden yönetilen bir Hizmet Olarak Güvenlik Duvarı (FaaS) olan Azure Güvenlik Duvarı kullanarak gerekli uygulama trafiğine izin verin.
  • Azure Sanal Ağlarında Azure kaynaklarına gelen ve bu kaynaklardan gelen ağ trafiğini filtrelemek için Ağ Güvenlik Gruplarını (NSG) kullanma
  • Sunucuları, web sunucuları ve veritabanı sunucuları gibi benzer işlevlerle benzer bağlantı noktası filtreleme gereksinimleriyle birlikte gruplandırmak için Uygulama Güvenlik Grupları'ndan yararlanın.
  • Web ve uygulama sunucuları için Azure Dağıtılmış Hizmet Reddi (DDoS) korumasından yararlanılır. DDoS saldırıları, ağ kaynaklarını bunaltacak ve tüketecek şekilde tasarlanmıştır ve bu da uygulamaları yavaşlatacak veya yanıt vermemeye devam eder. DDos saldırılarının kullanıcı arabirimlerini hedeflemesi yaygın bir durumdur. Azure DDoS koruması, istenmeyen ağ trafiğini hizmet kullanılabilirliğini etkilemeden önce temizler
  • kötü amaçlı yazılımdan koruma, istenen durum, tehdit algılama, önleme ve düzeltme ile işletim sistemi, makine ve ağ düzeylerindeki tehditleri gidermeye yardımcı olmak için VM uzantılarından yararlanın:
  • Ortamınıza uygulanabilecek iş kuralları oluşturmak için Azure İlkesi yararlanın. Azure İlkeleri, bu kaynakların özelliklerini JSON biçiminde tanımlanan kurallarla karşılaştırarak Azure kaynaklarını değerlendirir.
  • Azure Blueprints de bulut mimarlarının ve merkezi bilgi teknolojisi gruplarının bir kuruluşun standartlarına, desenlerine ve gereksinimlerine uygun Azure kaynaklarından oluşan tekrarlanabilir bir küme tanımlamasını sağlar. Azure Blueprints, Azure İlkelerinden farklıdır.

Sonraki adımlar

Daha fazla bilgi edinmek için bu en iyi yöntemler serisindeki diğer makalelere bakın:

Azure VM'lerinde SQL Server için SQL Değerlendirmesini etkinleştirmeyi göz önünde bulundurun.

Azure Sanal Makineler Genel Bakış'ta SQL Server'daki diğer SQL Server Sanal Makine makalelerini gözden geçirin. SQL Server sanal makineleri hakkında sorularınız olursa Sık Sorulan Sorular bölümüne bakın.