Aracılığıyla paylaş


Azure SQL Veritabanı'nda güvenilirlik

Azure SQL Veritabanı , yükseltme, düzeltme eki uygulama, yedekleme ve izleme gibi veritabanı yönetimi işlevlerinin çoğunu kullanıcı katılımı olmadan işleyen, tam olarak yönetilen bir hizmet olarak platform (PaaS) veritabanı altyapısıdır.

Azure'ı kullandığınızda güvenilirlik paylaşılan bir sorumluluktır. Microsoft, dayanıklılık ve kurtarmayı desteklemek için çeşitli özellikler sunar. Bu özelliklerin kullandığınız tüm hizmetler içinde nasıl çalıştığını anlamak ve iş hedeflerinize ve çalışma süresi hedeflerinize ulaşmak için ihtiyacınız olan özellikleri seçmek sizin sorumluluğunuzdadır.

Bu makalede Azure SQL Veritabanı'nın geçici hatalar, kullanılabilirlik alanı kesintileri ve bölge kesintileri gibi çeşitli olası kesintilere ve sorunlara nasıl dayanıklı hale getirilmeye başlandığı açıklanmaktadır. Ayrıca, diğer sorun türlerinden kurtarmak için yedeklemeleri nasıl kullanabileceğinizi, hizmet bakımının nasıl işleneceğini açıklar ve Azure SQL Veritabanı hizmet düzeyi sözleşmesi (SLA) hakkında bazı önemli bilgileri vurgular.

Üretim dağıtımı önerileri

Çözümünüzün güvenilirlik gereksinimlerini desteklemek için Azure SQL Veritabanı'nın nasıl dağıtılacağı ve güvenilirliğin mimarinizin diğer yönlerini nasıl etkilediği hakkında bilgi edinmek için bkz. Azure Well-Architected Framework'te Azure SQL Veritabanı için en iyi mimari yöntemleri.

Güvenilirlik mimarisine genel bakış

SQL Veritabanı, geçerli tüm düzeltme ekleri de dahil olmak üzere Windows işletim sisteminin en son kararlı SQL Server Veritabanı altyapısında çalışır.

SQL Veritabanı, verilerinizin üç kopyasını varsayılan olarak birincil bölgedeki tek bir veri merkezinde depolayarak yedekliliğe ulaşır. Bu yaklaşım, küçük ölçekli ağ hatası veya güç kesintisi gibi yerelleştirilmiş bir hata oluşursa ve ayrıca aşağıdaki olaylar sırasında verilerinizi korur:

  • Müşteri tarafından başlatılan ve kısa bir kapalı kalma süresiyle sonuçlanan yönetim işlemleri

  • Hizmet bakım işlemleri

  • Veri merkezinin aşağıdaki bileşenlere sahip olduğu sorunlar ve veri merkezi kesintileri:

    • Hizmetinizi destekleyen makinelerin çalıştığı raflar

    • SQL Veritabanı altyapısını çalıştıran sanal makineyi (VM) barındıran fiziksel makineler

  • SQL Veritabanı altyapısıyla ilgili diğer sorunlar

  • Diğer olası planlanmamış yerelleştirilmiş kesintiler

SQL Veritabanı, veritabanınızın çoğaltmasını yönetmek için Azure Service Fabric kullanır.

Yedeklilik, SQL Veritabanı'nın farklı hizmet katmanları için farklı şekillerde uygulanır. Daha fazla bilgi için Yedeklilik Aracılığıyla Kullanılabilirlik - SQL Veritabanı'na bakın.

Geçici hatalara dayanıklılık

Geçici hatalar, bileşenlerde kısa ve aralıklı hatalardır. Bunlar genellikle bulut gibi dağıtılmış bir ortamda gerçekleşir ve işlemlerin normal bir parçasıdır. Geçici hatalar kısa bir süre sonra kendilerini düzeltmektedir. Uygulamalarınızın genellikle etkilenen istekleri yeniden deneyerek geçici hataları işleyebileceği önemlidir.

Bulutta barındırılan tüm uygulamalar, bulutta barındırılan API'ler, veritabanları ve diğer bileşenlerle iletişim kurarken Azure geçici hata işleme yönergelerini izlemelidir. Daha fazla bilgi için bkz Geçici hataları ele alma önerileri.

SQL Veritabanı, yama uygulama, yedeklemeler, Windows ve SQL Veritabanı motoru yükseltmeleri gibi kritik hizmet görevlerini otomatik olarak işler. Ayrıca temel alınan donanım, yazılım veya ağ hataları gibi planlanmamış olayları da otomatik olarak işler. SQL Veritabanı, verilerinizin her zaman kullanılabilir olmasını sağlayan kritik hatalardan hızlı bir şekilde kurtarmak için tasarlanmıştır. Kullanıcıların çoğu yükseltmelerin sürekli olarak gerçekleştirildiğini fark etmez.

Bir veritabanına düzeltme eki uygulandığında veya yük devredildiğinde, uygulamanızda yeniden deneme mantığı kullandığınızda kapalı kalma süresi kesintiye neden olmaz.

Uygulama hata dayanıklılığını test etme bölümünde yer alan yönergeleri izleyerek uygulamanızın geçici hatalara dayanıklılığını test edebilirsiniz.

Kullanılabilirlik alanı hatalarına dayanıklılık

Kullanılabilirlik alanları , bir Azure bölgesi içindeki veri merkezlerinin fiziksel olarak ayrı gruplarıdır. Bir bölge başarısız olduğunda hizmetler kalan bölgelerden birine devredilebilir.

Alanlar arası yedekli tek veritabanı veya elastik havuz oluşturabilirsiniz. Alanlar arası yedeklilik, veritabanınızın uygulama mantığında herhangi bir değişiklik yapmadan yıkıcı veri merkezi kesintileri de dahil olmak üzere büyük bir hata kümesine dayanıklı olmasını sağlar.

Genel Amaçlı hizmet katmanı için, bölge yedekliliği hem durum bilgisi olmayan işlem bileşenlerinin hem de SQL Veritabanı'nın durum bilgisi olan veri depolama bileşenlerinin kullanılabilirlik alanı kesintisine dayanıklı olmasını sağlar.

Premium, İş Açısından Kritik ve Hiper Ölçek hizmet katmanları için alanlar arası yedeklilik, SQL veritabanınızın çoğaltmalarını birincil bölgenizdeki birden çok Azure kullanılabilirlik alanına yerleştirir. Tek bir hata noktasını (SPOF) ortadan kaldırmak için, denetim halkasının birden çok erişilebilirlik bölgesine yayılması da sağlanır.

Diğer hizmet katmanları için kullanılabilirlik alanı desteği hakkındaki bilgileri görüntülemek için bu sayfanın başında uygun hizmet katmanını seçtiğinizden emin olun.

Gereksinimler

Temel ve Standart hizmet katmanları alanlar arası yedekliliği desteklemez.

Alanlar arası yedeklilik, sanal çekirdek tabanlı satın alma modelinin İş Açısından Kritik, Genel Amaçlı ve Hiper Ölçek hizmet katmanlarında ve DTU tabanlı satın alma modelinin yalnızca Premium hizmet katmanında kullanılabilir.

Genel Amaçlı hizmet katmanı için:

Premium ve İş Açısından Kritik hizmet katmanları için:

Hiper Ölçek hizmet katmanı için:

Diğer hizmet katmanları için kullanılabilirlik alanı desteği hakkındaki bilgileri görüntülemek için bu sayfanın başında uygun hizmet katmanını seçtiğinizden emin olun.

Değerlendirmeler

  • Gecikme: Bölge yedekli veritabanlarının ayrı veri merkezlerinde çoğaltılmış kopyaları bulunur. Eklenen ağ gecikme süresi işlem işleme süresini artırabilir ve belirli çevrimiçi işlem işleme (OLTP) iş yüklerinin performansını etkileyebilir. Çoğu uygulama bu ek gecikme süresine duyarlı değildir.

  • master veritabanı: Mantıksal sunucuda alanlar arası yedekli yapılandırmaya sahip bir veritabanı oluşturulduğunda, master sunucuyla ilişkili veritabanı da otomatik olarak alanlar arası yedekli hale gelir. Veritabanınızın master alanlar arası yedekli olup olmadığını denetleme hakkında daha fazla bilgi için bkz. Veritabanı alanlar arası yedekli kullanılabilirlik.

Diğer hizmet katmanları için kullanılabilirlik alanı desteği hakkındaki bilgileri görüntülemek için bu sayfanın başında uygun hizmet katmanını seçtiğinizden emin olun.

Maliyet

Genel Amaçlı hizmet katmanında, SQL Veritabanı için bölge yedekliliğini etkinleştirmek için ek ücret alınır. Daha fazla bilgi için bkz . Fiyatlandırma - SQL Veritabanı.

Premium ve İşletme Kritik hizmet katmanları veritabanınızın birden çok çoğaltmalarını sunar. Alanlar arası yedekliliği etkinleştirdiğinizde çoğaltmalar kullanılabilirlik alanları arasında dağıtılır. Bu dağıtım, Premium veya İş Açısından Kritik hizmet katmanında olduğunda SQL veritabanınızda bölge yedekliliğini etkinleştirmeyle ilişkili ek maliyet olmadığı anlamına gelir.

Hyperscale hizmet katmanı veritabanınızın birden çok çoğaltmasını etkinleştirirseniz, bölge yedekliliğini de etkinleştirebilirsiniz. Alanlar arası yedekliliği etkinleştirdiğinizde çoğaltmalar kullanılabilirlik alanları arasında dağıtılır. Bu dağıtım, birden çok çoğaltmanız olduğu varsayılarak Hiper Ölçek hizmet katmanında olduğunda SQL veritabanınızda bölge yedekliliğini etkinleştirmenin ek bir maliyeti olmadığı anlamına gelir.

Diğer hizmet katmanları için kullanılabilirlik alanı desteği hakkındaki bilgileri görüntülemek için bu sayfanın başında uygun hizmet katmanını seçtiğinizden emin olun.

Kullanılabilirlik alanı desteğini yapılandırma

Genel Amaçlı, Premium ve İş Açısından Kritik hizmet katmanları için:

Hiper Ölçek hizmet katmanı için:

Diğer hizmet katmanları için kullanılabilirlik alanı desteği hakkındaki bilgileri görüntülemek için bu sayfanın başında uygun hizmet katmanını seçtiğinizden emin olun.

Tüm bölgeler sağlıklı olduğunda davranış

Bu bölümde veritabanları alanlar arası yedeklilik için yapılandırıldığında ve tüm kullanılabilirlik alanları çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

Genel Amaçlı hizmet katmanı için:

  • Bölgeler arasında trafik yönlendirme: İstekler, SQL veritabanı işlem katmanınızı çalıştıran bir düğüme yönlendirilir. Alanlar arası yedeklilik etkinleştirildiğinde, bu düğüm herhangi bir kullanılabilirlik alanında bulunabilir.

  • Bölgeler arasında veri çoğaltma: Veri ve günlük dosyaları ZRS kullanılarak kullanılabilirlik alanları arasında zaman uyumlu olarak çoğaltılır. Veriler tüm kullanılabilirlik alanlarında başarıyla çoğaltılana kadar yazma işlemleri tamamlanmış olarak kabul edilmez. Bu senkron replikasyon, bölge hataları sırasında güçlü tutarlılık ve sıfır veri kaybı sağlar. Ancak, yerel olarak yedekli depolamaya (LRS) kıyasla biraz daha yüksek yazma gecikmesine neden olabilir.

Premium ve İş Açısından Kritik hizmet katmanları için:

  • Bölgeler arasında trafik yönlendirme: Çoğaltmalar kullanılabilirlik alanları arasında dağıtılır ve bu çoğaltmalardan biri birincil çoğaltma olarak belirlenir. İstekler veritabanınızın birincil çoğaltmasına yönlendirilir.

  • Bölgeler arasında veri çoğaltma: Birincil çoğaltma, her işlemi işlemeden önce verilerin yeterli sayıda ikincil çoğaltmada kalıcı olmasını sağlamak için değişiklikleri sürekli olarak ikincil çoğaltmalara gönderir. Bu işlem, birincil çoğaltmanın veya okunabilir bir ikincil çoğaltmanın herhangi bir nedenle kullanılamaz duruma gelmesi durumunda, yük devretme için her zaman tam senkronize edilmiş bir çoğaltmanın kullanılabilir olmasını garanti eder. Alanlar arası yedeklilik etkinleştirildiğinde, bu çoğaltmalar farklı kullanılabilirlik alanlarında bulunur. Ancak, geçiş bölgelerindeki ağ gecikme süresi nedeniyle işlem biraz daha yüksek yazma gecikmesine neden olabilir.

Hiper Ölçek hizmet katmanı için:

  • Bölgeler arasında trafik yönlendirme: Veritabanı çoğaltmaları kullanılabilirlik alanları arasında dağıtılır ve bu çoğaltmalardan biri birincil çoğaltma olarak belirlenir. İstekler veritabanınızın birincil çoğaltmasına yönlendirilir.

  • Bölgeler arasında veri çoğaltma: Birincil veritabanı çoğaltması, değişiklikleri bölge yedekli bir günlük hizmeti aracılığıyla aktararak tüm değişiklikleri kullanılabilirlik alanları arasında eşzamanlı olarak çoğaltır. Sayfa sunucuları her kullanılabilirlik alanında bulunur ve veritabanının durumunu depolar. Bu işlem, birincil çoğaltmanın veya okunabilir bir ikincil çoğaltmanın herhangi bir nedenle kullanılamaz duruma gelmesi durumunda, yük devretme için her zaman tam olarak eşitlenmiş bir çoğaltmanın kullanılabilir olmasını garanti eder. Ancak, işlem LRS'ye kıyasla biraz daha yüksek yazma gecikmesine neden olabilir.

Diğer hizmet katmanları için kullanılabilirlik alanı desteği hakkındaki bilgileri görüntülemek için bu sayfanın başında uygun hizmet katmanını seçtiğinizden emin olun.

Bölge hatası sırasındaki davranış

Bu bölümde veritabanları alanlar arası yedeklilik için yapılandırıldığında ve kullanılabilirlik alanı kesintisi olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Algılama ve yanıt: SQL Veritabanı, kullanılabilirlik alanındaki bir hatayı algılamaktan ve yanıtlamaktan sorumludur. Bölge yük devretmesini başlatmak için herhangi bir işlem yapmanız gerekmez.
  • Bildirim: Microsoft, bir bölge kapatıldığında sizi otomatik olarak bilgilendirmez. Bununla birlikte, bölge hataları dahil olmak üzere hizmetin genel durumunu anlamak için Azure Hizmet Durumu'nı kullanabilir ve sorunları size bildirmek için Hizmet Durumu uyarıları ayarlayabilirsiniz.
  • Etkin istekler: Kullanılabilirlik alanı çevrimdışı olduğunda, hatalı kullanılabilirlik alanında işlenen tüm istekler sonlandırılır ve yeniden denenmelidir. Uygulamalarınızı bu tür sorunlara karşı dayanıklı hale getirme hakkında daha fazla bilgi için geçici hatalara dayanıklılık kılavuzuna bakın.
  • Trafik yeniden yönlendirme: Genel Amaçlı hizmet katmanı için SQL Veritabanı, veritabanı altyapısını farklı bir kullanılabilirlik alanında bulunan ve yeterli boş kapasiteye sahip olan durum bilgisi olmayan başka bir işlem düğümüne taşır. Yük devretme tamamlandıktan sonra yeni bağlantılar otomatik olarak yeni birincil işlem düğümüne yönlendirilir.

    Daha fazla bilgi için bkz. Genel Amaçlı hizmet katmanı.

  • Trafik yeniden yönlendirme: Premium ve İşletme Kritik hizmet katmanları için, SQL Veritabanı birincil çoğaltma olarak kullanılmak üzere başka bir kullanılabilirlik alanındaki bir çoğaltmayı seçer. İkincil çoğaltma yeni birincil çoğaltma olduktan sonra, kümenin karar yeter sayısını korumak için yeterli sayıda çoğaltmaya sahip olduğundan emin olmak amacıyla yeni bir ikincil çoğaltma oluşturulur. "Failover tamamlandıktan sonra, yeni bağlantılar otomatik olarak yeni birincil çoğaltmaya (veya bağlantı dizgesine bağlı olarak okunabilir ikincil çoğaltmaya) yönlendirilir."

    Daha fazla bilgi için bkz. Premium ve İş Açısından Kritik hizmet katmanları.

  • Trafik yeniden yönlendirme: Hiper Ölçek hizmet katmanı için, birincil çoğaltma bölge kesintisi nedeniyle kaybolduysa, SQL Veritabanı başka bir bölgedeki yüksek kullanılabilirlik çoğaltmalarından birini yeni birincil çoğaltma olarak yükselter.

    Daha fazla bilgi için bkz . Hiper Ölçek hizmet katmanı.

  • Beklenen kapalı kalma süresi: Kullanılabilirlik alanı yük devretmesi sırasında kısa süreli kesinti olabilir. Kapalı kalma süresi genellikle 30 saniyeden kısadır ve uygulamanızın Geçici hatalara dayanıklılık yönergelerini izlemesi durumunda bunu tolere etmesi gerekir.

  • Beklenen veri kaybı: Kullanılabilirlik alanı yük devretmesi sırasında veri kaybı beklenmez.

Diğer hizmet katmanları için kullanılabilirlik alanı desteği hakkındaki bilgileri görüntülemek için bu sayfanın başında uygun hizmet katmanını seçtiğinizden emin olun.

Bölge kurtarma

Kullanılabilirlik alanı kurtarıldığında, Azure Service Fabric kurtarılan kullanılabilirlik alanında otomatik olarak veritabanı çoğaltmaları oluşturur, diğer kullanılabilirlik alanlarında oluşturulan geçici çoğaltmaları kaldırır ve veritabanınıza normal trafik yönlendirmesini sürdürür. Kesintiyi önlemek için birincil kopya, bölge kurtarmadan sonra orijinal bölgeye otomatik olarak geri dönmez.

Bölge hataları için test

SQL Veritabanı platformu, alanlar arası yedekli veritabanları için trafik yönlendirme, yük devretme ve bölge kurtarma yordamlarını yönetir. Bu özellik tam olarak yönetildiği için kullanılabilirlik alanı hata işlemlerini başlatmanız veya doğrulamanız gerekmez. Ancak, Uygulama hata dayanıklılığını test etme bölümünde açıklanan işlemi izleyerek uygulamanızın hataları ve yük devretmeleri işlemesini doğrulayabilirsiniz.

Bölge genelindeki hatalara dayanıklılık

Bu bölümde, SQL Veritabanı'nın çok bölgeli coğrafi çoğaltması için kullanılabilecek iki ilgili ama ayrı özelliğe genel bir bakış sağlanır:

  • Etkin coğrafi çoğaltma , tek bir veritabanını eşitlenmiş ikincil veritabanına çoğaltır.

  • Yük devretme grupları, etkin coğrafi çoğaltma temel alınarak oluşturulmuştur ve bir veritabanı grubunun yük devretilmesini sağlamaktadır.

Etkin coğrafi çoğaltma

Etkin coğrafi çoğaltma , tek bir birincil veritabanı için herhangi bir bölgede sürekli olarak eşitlenen okunabilir bir ikincil veritabanı (bazen coğrafi ikincil veya coğrafi çoğaltma olarak da bilinir) oluşturur. Etkin coğrafi çoğaltma aynı bölgede ikincil veritabanları oluşturabilir, ancak bu yapılandırma bir bölge kesintisine karşı koruma sağlamaz. Coğrafi olarak yedeklilik elde etmek için etkin coğrafi çoğaltma kullandığınızda, ikincil veritabanını birincil veritabanından farklı bir bölgede bulursunuz.

Gereksinimler

Etkin coğrafi çoğaltma kullandığınızda aşağıdaki gereksinimleri göz önünde bulundurun:

  • Bölge desteği:Etkin coğrafi çoğaltma tüm Azure bölgelerinde etkinleştirilebilir ve Azure bölge çiftlerini kullanmanızı gerektirmez.

    Tavsiye

    SQL Veritabanı, Azure'ın eşleştirilmiş bölgelere güncelleştirmeleri aynı anda dağıtmamaya çalıştığı güvenli bir dağıtım uygulamasını izler. Eğer etkin coğrafi çoğaltmayı eşleştirilmemiş bölgeleri kullanacak şekilde yapılandırırsanız, her bölgedeki sunucular için farklı bakım pencereleri ayarlayın. Bu yaklaşım, her iki bölgenin de aynı anda gerçekleşen bakımdan kaynaklanan bağlantı sorunları yaşama olasılığını azaltmaya yardımcı olur.

  • Yapılandırma: Hem birincil hem de coğrafi ikincil aynı hizmet katmanına sahip olmalı ve aynı işlem katmanına, işlem boyutuna ve yedekleme depolama yedekliliğine sahip olmalıdır.

  • Güvenlik duvarı: Hem birincil hem de coğrafi ikincil, aynı IP adresi güvenlik duvarı kurallarına sahip olmalıdır.

  • Azure abonelikleri: Etkin coğrafi çoğaltma, farklı Azure aboneliklerindeki veritabanları için desteklenir.

Değerlendirmeler

  • Etkin coğrafi çoğaltma, tek bir veritabanının yük devretmesini sağlayacak şekilde tasarlanmıştır. Birden çok veritabanının yükünü devretmeniz gerekiyorsa bunun yerine yük devretme gruplarını kullanmayı göz önünde bulundurun.

  • Coğrafi çoğaltma zaman uyumsuz olduğundan, yük devretme gerçekleştiğinde veri kaybı mümkündür. Yük devretmeler sırasında zaman uyumsuz çoğaltmadan kaynaklanan veri kaybını ortadan kaldırmanız gerekiyorsa, uygulamanızı çağıran iş parçacığını, sonlanmış işlemin ikincil veritabanının işlem günlüğüne iletilip sağlamlaştırılıncaya kadar bloklayacak şekilde ayarlayın. Bu yaklaşım özel geliştirme gerektirir ve uygulamanızın performansını azaltır. Daha fazla bilgi için bkz. Kritik veri kaybını önleme.

  • Sınırlamalar ve dikkat edilmesi gerekenler hakkında daha fazla bilgi için bkz . Etkin coğrafi çoğaltma.

Maliyet

İkincil veritabanları ayrı veritabanları olarak faturalandırılır.

Eğer herhangi bir okuma veya yazma iş yükü için ikincil bir veritabanı kullanmıyorsanız, maliyetlerinizi azaltmak için onu hazır bekleyen bir kopya olarak atamayı düşünün.

Çok bölgeli desteği yapılandırma

Tüm bölgeler iyi durumda olduğunda davranış

Bu bölümde, bir veritabanı etkin coğrafi çoğaltma kullanacak şekilde yapılandırıldığında ve tüm bölgeler çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Bölgeler arasında trafik yönlendirme: Uygulamanızın birincil veritabanına okuma-yazma istekleri gönderecek şekilde yapılandırılması gerekir. İsteğe bağlı olarak ikincil veritabanına salt okunur istekler gönderebilirsiniz. Bu, birincil veritabanınızdaki salt okunur iş yüklerinin etkisini azaltmaya yardımcı olur.

  • Bölgeler arasında veri çoğaltma: Birincil ve ikincil veritabanları arasında çoğaltma zaman uyumsuz olarak gerçekleşir; bu, birincil veritabanına bir değişikliğin uygulandığı an ile ikincil veritabanına çoğaltılması arasında bir gecikme olabileceği anlamına gelir.

    Yük devretme gerçekleştirdiğinizde, veri kaybı olasılığının nasıl ele alınacağına karar verirsiniz.

Bölge hatası sırasındaki davranış

Bu bölümde, veritabanı etkin coğrafi çoğaltma kullanacak şekilde yapılandırıldığında ve birincil bölgenizde bir kesinti olduğunda neler bekleyebileceğiniz açıklanmaktadır:

  • Algılama ve yanıt: Hem veritabanının veya bölgenin kesintisini algılamaktan hem de yük devretmeyi tetikleme sorumluluğu size aittir.
  • Bildirim: Microsoft, bir bölge kapatıldığında size otomatik olarak bildirim vermez. Bununla birlikte, tüm bölge hataları dahil olmak üzere hizmetin genel durumunu anlamak için Azure Hizmet Durumu'nı kullanabilir ve sorunları size bildirmek için Hizmet Durumu uyarıları ayarlayabilirsiniz.
  • Etkin istekler: Yük devretme sırasında tüm etkin istekler sonlandırılır ve yeniden denenmelidir.

  • Beklenen veri kaybı: Birincil veritabanınız kullanılabilir durumdaysa, isteğe bağlı olarak veri kaybı olmadan yük devretme gerçekleştirebilirsiniz. Yük devretme işlemi, rolleri değiştirmeden önce verileri birincil ve ikincil veritabanları arasında eşitler.

    Birincil veritabanınız kullanılamıyorsa, veri kaybına neden olan zorlamalı yük devretme gerçekleştirmeniz gerekebilir. Çoğaltma gecikmesini izleyerek veri kaybı miktarını tahmin edebilirsiniz. Daha fazla bilgi için bkz. Ölçümler ve uyarılar ile SQL Veritabanı'nı izleme.

  • Beklenen kapalı kalma süresi: Yük devretme sırasında genellikle kapalı kalma süresi 60 saniyeye kadar çıkabilir. Uygulamanızın kısa süreli kapalı kalma sürelerinden kurtarılabilmesi için geçici hataları işlediğinden emin olun. Ayrıca, uygulamanızı yeni birincil veritabanına bağlanmak için ne kadar hızlı yeniden yapılandırdığınız, karşılaştığınız kapalı kalma süresini etkiler.

  • Trafik yeniden yönlendirme: Uygulamanızı yeni birincil veritabanına istek gönderecek şekilde yeniden yapılandırmak sizin sorumluluğunuzdadır. Saydam yük devretmeye sahip olmanız gerekiyorsa yük devretme gruplarını kullanmayı göz önünde bulundurun.

Bölge geri kazanımı

Birincil bölge kurtarıldıktan sonra, başka bir yük devretme gerçekleştirerek birincil bölgeye elle yük geri alma yapabilirsiniz.

Bölge hataları testi

Manuel yük devretme işlemini tetikleyerek, istediğiniz zaman bir bölge kesintisi simülasyonu yapabilirsiniz. Veri kaybı olmadan yük devretmeyi veya zorlamalı yük devretmeyi tetikleyebilirsiniz.

Yük devretme grupları

Yük devretme grupları etkin coğrafi çoğaltma üzerine oluşturulur. Yük devretme gruplarıyla aşağıdaki işlemleri gerçekleştirebilirsiniz:

  • Bir veritabanı kümesini tek bir mantıksal sunucudan Azure bölgelerinin herhangi bir bileşimine çoğaltın.

  • Veritabanlarında grup olarak yük devretme gerçekleştirin.

  • Bağlantıları otomatik olarak birincil sunucuya yönlendiren uç noktaları kullanın.

Gereksinimler

  • Bölge desteği: Yük devretme grupları tüm Azure bölgelerinde oluşturulabilir ve Azure bölge çiftlerini kullanmanız gerekmez.

    Tavsiye

    Bir yük devretme grubunu eşleşmemiş bölgeler ile yapılandırırsanız, her bölgedeki sunucular için farklı bakım pencereleri ayarlamayı göz önünde bulundurun. Bu yaklaşım, her iki bölgenin de aynı anda gerçekleşen bakımdan kaynaklanan bağlantı sorunları yaşama olasılığını azaltmaya yardımcı olur.

  • Yapılandırma: Yük devretme grubundaki ikincil veritabanları, birincil veritabanıyla aynı hizmet katmanına, işlem katmanına, işlem boyutuna, IP adresi güvenlik duvarı kurallarına ve yedekleme depolama yedekliliğine sahip olmalıdır.

Değerlendirmeler

  • Alanlar arası yedeklilik: Hiper Ölçek hizmet katmanı için, birincil veritabanınızda alanlar arası yedeklilik etkinleştirildiyse ikincil veritabanlarında bölge yedekliliği otomatik olarak etkinleştirilir.
  • Alanlar arası yedeklilik: İkincil veritabanlarında bölge yedekliliği varsayılan olarak etkin değildir, ancak daha sonra etkinleştirebilirsiniz.
  • Olası veri kaybı: Coğrafi çoğaltma zaman uyumsuz olduğundan, yük devretme gerçekleştiğinde veri kaybı yaşanabilir. Yük devretmeler sırasında zaman uyumsuz çoğaltmadan kaynaklanan veri kaybını ortadan kaldırmanız gerekiyorsa, son kaydedilen işlem ikincil veritabanının işlem günlüğünde iletilene ve sağlamlaştırılana kadar uygulamanızı çağırma iş parçacığını bloke edecek şekilde yapılandırabilirsiniz. Bu yaklaşım özel geliştirme gerektirir ve uygulamanızın performansını azaltır. Daha fazla bilgi için bkz. Kritik veri kaybını önleme.

  • Sınırlamalar ve dikkate alınacak hususlar hakkında daha fazla bilgi için bkz. Yük devretme grupları.

Maliyet

İkincil veritabanları ayrı veritabanları olarak faturalandırılır.

Eğer herhangi bir okuma veya yazma iş yükü için ikincil bir veritabanı kullanmıyorsanız, maliyetlerinizi azaltmak için onu hazır bekleyen bir kopya olarak atamayı düşünün.

Çok bölgeli desteği yapılandırma

  • Yük devretme gruplarını etkinleştirme: Mantıksal sunucuda bir yük devretme grubu yapılandırabilirsiniz. Mantıksal sunucudaki tüm veritabanlarını yük devretme grubuna ekleyebilir veya eklenecek veritabanlarının bir alt kümesini seçebilirsiniz.

    Bir yük devretme grubu oluşturduğunuzda, bir kesintiyi algılamaktan ve yük devretme gerçekleştirmekten kimin sorumlu olduğunu belirten yük devretme ilkesini seçersiniz. Müşteri tarafından yönetilen, önerilen yük devretmeyi veya Microsoft tarafından yönetilen yük devretmeyi yapılandırabilirsiniz.

    Önemli

    Microsoft tarafından başlatılan bir yük devretme büyük olasılıkla önemli bir gecikmeden sonra gerçekleşir ve en iyi çaba temelinde yapılır. Veritabanlarının yük devretmesi, diğer Azure hizmetlerinin yük devretmesinden farklı bir zamanda gerçekleşebilir. Daha fazla bilgi için bkz . SQL Veritabanı için yük devretme grubu yapılandırma.

    Yük devretme grubunu yapılandırdıktan sonra başlangıç adımı biraz zaman alabilir.

  • Yük devretme gruplarını devre dışı bırakın: Tek bir veritabanını yük devretme grubundan kaldırabilir, yük devretme grubunun tamamını kaldırabilir veya veritabanını farklı bir yük devretme grubuna taşıyabilirsiniz.

Tüm bölgeler iyi durumda olduğunda davranış

Bu bölümde, bir veritabanı bir yük devretme grubu içinde yapılandırıldığında ve tüm bölgeler çalışır durumda olduğunda neler bekleyebileceğiniz açıklanmaktadır.

  • Bölgeler arasında trafik yönlendirme: Okuma-yazma ve salt okunur iş yükleri için yük devretme grupları, uygulamalarınızı bağlayabileceğiniz iki dinleyici uç noktası sağlar. Yük devretmeler sırasında kapalı kalma süresini en aza indirmek için yük devretme grubu dinleyici uç noktalarını kullanın. Normal işlemler sırasında aşağıdaki yönlendirme davranışı gerçekleşir:

    • Okuma-yazma dinleyicisi uç noktası tüm istekleri birincil veritabanlarına yönlendirir.

    • Salt okunur dinleyici uç noktası tüm istekleri okunabilir bir ikincil veritabanına yönlendirir.

  • Bölgeler arasında veri çoğaltma: Birincil ve ikincil veritabanları arasında coğrafi çoğaltma zaman uyumsuz olarak gerçekleşir. Bu gecikme süresi, birincil veritabanına uygulanan bir değişiklik ile ikincil veritabanına çoğaltılması arasında bir gecikme olabileceği anlamına gelir.

    Yük devretme gerçekleştirdiğinizde, veri kaybı olasılığının nasıl ele alınacağına karar verirsiniz.

Bölge hatası sırasındaki davranış

Bu bölümde, veritabanı bir yük devretme grubu içinde yapılandırıldığında ve birincil bölgenizde bir kesinti olduğunda neler bekleyebileceğiniz açıklanmaktadır:

  • Algılama ve yanıt , kullandığınız yük devretme ilkesine bağlıdır.

    • Müşteri tarafından başlatılan yük devretme: Veritabanının veya bölgenin kesintisini algılamaktan ve yük devretmeyi tetikleme sorumluluğu size aittir.

    • Microsoft tarafından başlatılan yük devretme: Microsoft, etkilenen bölgedeki tüm yük devretme grupları için yük devretmeyi tetikler. Microsoft bu tür bir yük devretmeyi yalnızca istisnai durumlarda gerçekleştirmeyi bekler. Çözümlerin çoğu için Microsoft tarafından yönetilen geçişe güvenmeyin. Daha fazla bilgi için Yük devretme ilkesi - Microsoft tarafından yönetilen konusuna bkz.

  • Bildirim: Microsoft, bir bölge kapatıldığında size otomatik olarak bildirim vermez. Bununla birlikte, tüm bölge hataları dahil olmak üzere hizmetin genel durumunu anlamak için Azure Hizmet Durumu'nı kullanabilir ve sorunları size bildirmek için Hizmet Durumu uyarıları ayarlayabilirsiniz.
  • Etkin istekler: Yük devretme sırasında tüm etkin istekler sonlandırılır ve yeniden denenmelidir.

  • Beklenen veri kaybı: Veri kaybı, kullandığınız yük devretme ilkesine bağlıdır.

    • Müşteri tarafından başlatılan yük devretme: Birincil veritabanınız kullanılabilir durumdaysa, isteğe bağlı olarak veri kaybı olmadan yük devretme gerçekleştirebilirsiniz. Yük devretme işlemi, rolleri değiştirmeden önce verileri birincil ve ikincil veritabanları arasında eşitler.

      Birincil veritabanınız kullanılamıyorsa, veri kaybına neden olan zorlamalı yük devretme gerçekleştirmeniz gerekebilir. Çoğaltma gecikmesini izleyerek veri kaybı miktarını tahmin edebilirsiniz. Daha fazla bilgi için bkz. Ölçümler ve uyarılar ile SQL Veritabanı'nı izleme.

    • Microsoft tarafından başlatılan yük devretme: Microsoft tarafından yönetilen bir yük devretme yalnızca istisnai durumlarda tetikleniyor. Microsoft tarafından yönetilen yük devretmeler zorunlu yük devretmelerdir ve bu da bazı veri kayıplarının beklendiği anlamına gelir. Karşılaşabileceğiniz veri kaybı miktarını denetleyemezsiniz.

  • Beklenen kapalı kalma süresi: Kapalı kalma süresi, kullandığınız yük devretme ilkesine bağlıdır.

    • Müşteri tarafından başlatılan yük devretme: Yük devretme sırasında normalde en fazla 60 saniye süren bir kesinti meydana gelebilir. Uygulamanızın kısa süreli kapalı kalma sürelerinden kurtarılabilmesi için geçici hataları işlediğinden emin olun.

    • Microsoft tarafından başlatılan yük devretme: Microsoft'un yük devretmeyi başlatmadan önce ne kadar beklemesi gerektiğini belirleyen bir bekleme süresi belirtebilirsiniz. En düşük yetkisiz kullanım süresi bir saattir. Ancak, Microsoft yanıt süresi büyük olasılıkla en az birkaç saat olacaktır.

  • Trafik yeniden yönlendirme: Yük devretme sırasında SQL Veritabanı, trafiği yeni birincil ve ikincil veritabanlarına yönlendirmek için okuma-yazma ve salt okunur dinleyici uç noktalarını gerektiği gibi güncelleştirir.

    Yeni ikincil veritabanı (önceki birincil veritabanı) kullanılamıyorsa, yeni ikincil kullanılabilir hale gelene kadar salt okunur dinleyici uç noktası bağlanamayacaktır.

Bölge geri kazanımı

Birincil bölgeye geri dönme ihtiyacınız olursa bunun sorumluluğu size aittir. Müşteri tarafından yönetilen bir yük devretme gerçekleştirerek birincil bölgeye el ile geri yükleme yapabilirsiniz.

Özgün yük devretmeyi Microsoft başlatmış olsa bile, tercih ederseniz önceki bölgeye geri dönmek sizin sorumluluğundadır.

Bölge hataları testi

Manuel yük devretme işlemini tetikleyerek, istediğiniz zaman bir bölge kesintisi simülasyonu yapabilirsiniz. Veri kaybı olmadan yük devretmeyi veya zorlamalı yük devretmeyi tetikleyebilirsiniz.

Yedekleme ve geri yükleme

Veri kaybı da dahil olmak üzere çeşitli risklere karşı koruma sağlamak için veritabanlarınızın yedeklerini alın. Yanlışlıkla veri kaybı, bozulma veya diğer sorunlardan kurtarmak için yedeklemeler geri yüklenebilir. Yedeklemeler alanlar arası yedeklilik, etkin coğrafi çoğaltma veya yük devretme gruplarından farklıdır ve farklı amaçları vardır. Daha fazla bilgi için bkz . Yedeklilik, çoğaltma ve yedekleme.

SQL Veritabanı, veritabanlarınızın otomatik yedeklemelerini sağlar. Yedeklemeden geri yüklemeniz gerekirse veri kaybı miktarını etkileyebilecek yedekleme sıklığı hakkında daha fazla bilgi için bkz. SQL Veritabanında otomatik yedeklemeler.

Yedekleme alanı

Otomatik yedeklemelerinizi LRS veya ZRS'de depolamayı seçebilirsiniz. Eşleştirilmiş bir bölge kullanıyorsanız coğrafi olarak yedekli depolamayı kullanarak otomatik yedeklemelerinizi eşleştirilmiş bölgeye çoğaltmayı seçebilirsiniz. Bu özellik, yedeklerinizin eşleştirilmiş bölgeye coğrafi olarak geri yüklenmesini sağlar. Daha fazla bilgi için bkz. SQL Veritabanında otomatik yedeklemeler.

Eşleşmeyen bir bölge kullanıyorsanız veya yedekleri eşleştirilmiş bölge dışında bir bölgeye çoğaltmanız gerekiyorsa, veritabanını dışarı aktarmayı ve dışarı aktarılan dosyayı başka bir bölgedeki bir depolama hesabına çoğaltmak için blob nesne çoğaltma kullanan bir depolama hesabında depolamayı göz önünde bulundurun. Daha fazla bilgi için bkz. Veritabanını dışarı aktarma.

Hizmet bakımına dayanıklılık

SQL Veritabanı veritabanlarınızda ve elastik havuzlarınızda bakım gerçekleştirdiğinde, ikincil çoğaltma kullanmak için veritabanınızın yükünü otomatik olarak devredebilir. İstemci uygulamaları, yük devretme gerçekleştiğinde kısa bağlantı kesintileri gözlemler. İstemci uygulamalarınız etkileri en aza indirmek için Geçici Hatalara Karşı Dayanıklılık yönergelerini izlemelidir.

SQL Veritabanı, genellikle hizmet yükseltmeleri ve diğer bakım işlemleri için kullanılan bir bakım penceresi belirtmenizi sağlar. Bir bakım penceresi yapılandırmak, iş saatlerinizde, otomatik yük devretme gibi olası yan etkileri en aza indirmenize yardımcı olabilir. Planlı bakım hakkında önceden bildirim de alabilirsiniz.

Platform, SQL Veritabanı bağlantılarını işlemek için kullanılan ağ geçitlerini otomatik olarak korur. Yükseltmeler veya bakım işlemleri, istemcilerin yeniden deneyebileceği kısa bağlantı kesintilerine de neden olabilir.

Daha fazla bilgi için bkz. SQL Veritabanı'nda bakım penceresi.

Hizmet düzeyi sözleşmesi

Azure hizmetleri için hizmet düzeyi sözleşmesi (SLA), her hizmetin beklenen kullanılabilirliğini ve bu kullanılabilirlik beklentisini elde etmek için çözümünüzün karşılaması gereken koşulları açıklar. Daha fazla bilgi için çevrimiçi hizmetler için SLA'lar sayfasına bakın.

SQL Veritabanı için hizmet düzeyi sözleşmesi (SLA), hizmetin beklenen kullanılabilirliğini ve etkin coğrafi çoğaltma için beklenen kurtarma noktasını ve kurtarma süresini açıklar.

Alanlar arası yedekli bir veritabanı veya elastik havuz dağıtıp desteklenen bir hizmet katmanı kullandığınızda, çalışma süresi SLA'sı daha yüksektir.