Etkin coğrafi çoğaltma

Şunlar için geçerlidir: Azure SQL Veritabanı

Etkin coğrafi çoğaltma, birincil veritabanı için sürekli eşitlenen okunabilir ikincil veritabanı oluşturmanıza olanak tanıyan bir özelliktir. Okunabilir ikincil veritabanı birincil veritabanıyla aynı Azure bölgesinde veya daha yaygın olarak farklı bir bölgede olabilir. Bu tür okunabilir ikincil veritabanı, coğrafi olarak ikincil veya coğrafi çoğaltma olarak da bilinir.

Etkin coğrafi çoğaltma, bölgesel bir olağanüstü durum veya büyük ölçekli bir kesinti durumunda tek tek veritabanlarında hızlı olağanüstü durum kurtarma gerçekleştirmenizi sağlayan bir iş sürekliliği çözümü olarak tasarlanmıştır. Coğrafi çoğaltma ayarlandıktan sonra farklı bir Azure bölgesindeki coğrafi ikincil bir bölgeye coğrafi yük devretme başlatabilirsiniz. Coğrafi yük devretme uygulama tarafından program aracılığıyla veya kullanıcı tarafından el ile başlatılır.

Not

SQL Yönetilen Örneği örneklerinin coğrafi yük devretmesi için Otomatik yük devretme gruplarını kullanın. Daha fazla bilgi için coğrafi çoğaltmayı yük devretme gruplarıyla karşılaştırın. Etkin coğrafi çoğaltma Azure SQL Yönetilen Örneği tarafından desteklenmez.

Not

Etkin coğrafi çoğaltma kullanarak SQL veritabanlarını Azure Almanya'dan geçirmek için bkz. Etkin coğrafi çoğaltma kullanarak SQL Veritabanı geçirme.

Uygulamanız için coğrafi çoğaltmaya ek olarak kararlı bir bağlantı uç noktası ve otomatik coğrafi yük devretme desteği gerekiyorsa Otomatik yük devretme gruplarını kullanın.

Aşağıdaki diyagramda, Etkin coğrafi çoğaltma kullanan coğrafi olarak yedekli bulut uygulamasının tipik bir yapılandırması gösterilmektedir.

etkin coğrafi çoğaltma

Birincil veritabanınız herhangi bir nedenle başarısız olursa, ikincil veritabanlarınızdan herhangi birine coğrafi yük devretme başlatabilirsiniz. İkincil birincil role yükseltildiğinde, diğer tüm ikinciller otomatik olarak yeni birincil role bağlanır.

Coğrafi çoğaltmayı yönetebilir ve aşağıdakileri kullanarak coğrafi yük devretme başlatabilirsiniz:

Etkin coğrafi çoğaltma, birincil çoğaltmada oluşturulan işlem günlüğünü tüm coğrafi çoğaltmalara zaman uyumsuz olarak çoğaltmak için AlwaysOn kullanılabilirlik grubu teknolojisinden yararlanıyor. Herhangi bir noktada ikincil veritabanı birincil veritabanının biraz gerisinde olsa da, ikincil veritabanındaki verilerin işlem açısından tutarlı olması garanti edilir. Başka bir deyişle, kaydedilmemiş işlemler tarafından yapılan değişiklikler görünmez.

Not

Etkin coğrafi çoğaltma, birincil çoğaltmadan ikincil çoğaltmalara veritabanı işlem günlüğünü akışla aktararak değişiklikleri çoğaltır. Abonelerde DML (INSERT, UPDATE, DELETE) komutları yürüterek değişiklikleri çoğaltan işlem çoğaltması ile ilgili değildir.

Coğrafi çoğaltma tarafından sağlanan bölgesel yedeklilik, uygulamaların doğal afetler, yıkıcı insan hataları veya kötü amaçlı eylemler nedeniyle azure bölgesinin tamamının veya bir bölgenin belirli bölümlerinin kalıcı kaybından hızlı bir şekilde kurtulmasını sağlar. Coğrafi çoğaltma RPO'yu İş Sürekliliğine Genel Bakış bölümünde bulabilirsiniz.

Aşağıdaki şekilde, Orta Kuzey ABD bölgesinde birincil ve Orta Güney ABD bölgesinde coğrafi ikincil ile yapılandırılmış etkin coğrafi çoğaltma örneği gösterilmektedir.

coğrafi çoğaltma ilişkisi

Olağanüstü durum kurtarmanın yanı sıra, etkin coğrafi çoğaltma aşağıdaki senaryolarda kullanılabilir:

  • Veritabanı geçişi: Veritabanını en düşük kapalı kalma süresiyle bir sunucudan diğerine geçirmek için etkin coğrafi çoğaltmayı kullanabilirsiniz.
  • Uygulama yükseltmeleri: Uygulama yükseltmeleri sırasında yeniden çalışma kopyası olarak ek ikincil bir kopya oluşturabilirsiniz.

Tam iş sürekliliği sağlamak için veritabanı bölgesel yedekliliği eklemek çözümün yalnızca bir parçasıdır. Bir uygulamayı (hizmet) yıkıcı bir hatadan sonra uçtan uca kurtarmak, hizmeti ve bağımlı hizmetleri oluşturan tüm bileşenlerin kurtarılmasını gerektirir. Bu bileşenlere örnek olarak istemci yazılımı (örneğin, özel JavaScript içeren bir tarayıcı), web ön uçları, depolama ve DNS verilebilir. Tüm bileşenlerin aynı hatalara dayanıklı olması ve uygulamanızın kurtarma süresi hedefi (RTO) içinde kullanılabilir hale gelmesi kritik önem taşır. Bu nedenle, tüm bağımlı hizmetleri tanımlamanız ve sağladıkları garantileri ve yetenekleri anlamanız gerekir. Ardından, hizmetinizin bağlı olduğu hizmetlerin yük devretmesi sırasında çalıştığından emin olmak için yeterli adımları atmalısınız. Olağanüstü durum kurtarma çözümleri tasarlama hakkında daha fazla bilgi için bkz. Etkin coğrafi çoğaltma kullanarak Olağanüstü Durum Kurtarma için Bulut Çözümleri Tasarlama.

Etkin coğrafi çoğaltma terminolojisi ve özellikleri

  • Otomatik zaman uyumsuz çoğaltma

    Yalnızca var olan bir veritabanı için coğrafi ikincil oluşturabilirsiniz. Coğrafi ikincil, birincil veritabanı olan sunucu dışında herhangi bir mantıksal sunucuda oluşturulabilir. Coğrafi olarak ikincil çoğaltma oluşturulduktan sonra birincil veritabanının verileriyle doldurulur. Bu işlem, tohumlama olarak bilinir. Coğrafi ikincil oluşturulduktan ve dağıtıldıktan sonra, birincil veritabanındaki güncelleştirmeler otomatik olarak ve zaman uyumsuz olarak coğrafi ikincil çoğaltmaya çoğaltılır. Zaman uyumsuz çoğaltma, işlemlerin çoğaltilmeden önce birincil veritabanında işlendiği anlamına gelir.

  • Okunabilir coğrafi ikincil çoğaltmalar

    Bir uygulama, birincil veritabanına erişmek için kullanılan aynı veya farklı güvenlik sorumlularını kullanarak salt okunur sorgular yürütmek için coğrafi olarak ikincil çoğaltmaya erişebilir. Daha fazla bilgi için bkz. Salt okunur sorgu iş yüklerinin yükünü boşaltmak için salt okunur çoğaltmaları kullanma.

    Önemli

    Coğrafi çoğaltmayı kullanarak birincil çoğaltmayla aynı bölgede ikincil çoğaltmalar oluşturabilirsiniz. Aynı bölgedeki okuma ölçeği genişletme senaryolarını karşılamak için bu ikincilleri kullanabilirsiniz. Ancak, aynı bölgedeki ikincil çoğaltma, yıkıcı hatalara veya büyük ölçekli kesintilere karşı ek dayanıklılık sağlamaz ve bu nedenle olağanüstü durum kurtarma amacıyla uygun bir yük devretme hedefi değildir. Ayrıca kullanılabilirlik alanı yalıtımını garanti etmez. Kullanılabilirlik alanı yalıtımı elde etmek için İş Açısından Kritik veya Premium hizmet katmanları alanlar arası yedekli yapılandırmayı veya Genel Amaçlı hizmet katmanı alanlar arası yedekli yapılandırmayı kullanın.

  • Planlı coğrafi yük devretme

    Planlı coğrafi yük devretme, tam veri eşitlemesini tamamladıktan sonra birincil ve coğrafi ikincil veritabanlarının rollerini değiştirir. Planlı yük devretme veri kaybına neden olmaz. Planlı coğrafi yük devretme süresi, coğrafi ikincil ile eşitlenmesi gereken birincil işlem günlüğünün boyutuna bağlıdır. Planlı coğrafi yük devretme aşağıdaki senaryolar için tasarlanmıştır:

    • Veri kaybı kabul edilebilir olmadığında üretimde DR tatbikatları gerçekleştirin;
    • Veritabanını farklı bir bölgeye yeniden yerleştirin;
    • Kesinti giderildikten sonra veritabanını birincil bölgeye döndür (yeniden çalışma olarak bilinir).
  • Planlanmamış coğrafi yük devretme

    Planlanmamış veya zorlamalı coğrafi yük devretme, coğrafi ikincil rolü birincil rolle hiçbir eşitleme olmadan hemen değiştirir. Birincilde işlenen ancak henüz ikincile çoğaltılmayan tüm işlemler kaybolur. Bu işlem, birincilin erişilebilir olmadığı ancak veritabanı kullanılabilirliğinin hızla geri yüklenmesi gereken kesintiler sırasında bir kurtarma yöntemi olarak tasarlanmıştır. Özgün birincil yeniden çevrimiçi olduğunda otomatik olarak yeniden bağlanır, geçerli birincil veriler kullanılarak yeniden görüntülenir ve yeni bir coğrafi ikincil olur.

    Önemli

    Planlı veya plansız coğrafi yük devretmeden sonra, yeni birincil sunucu artık farklı bir mantıksal sunucuda bulunduğundan, yeni birincil için bağlantı uç noktası değişir.

  • Birden çok okunabilir coğrafi ikincil

    Birincil için en fazla dört coğrafi ikincil oluşturulabilir. Yalnızca bir ikincil varsa ve başarısız olursa, yeni bir ikincil oluşturulana kadar uygulama daha yüksek riske maruz kalmaktadır. Birden çok ikincil varsa, ikincillerden biri başarısız olsa bile uygulama korumalı kalır. Salt okunur iş yüklerinin ölçeğini genişletmek için ek ikinciller de kullanılabilir.

    İpucu

    Genel olarak dağıtılmış bir uygulama oluşturmak için etkin coğrafi çoğaltma kullanıyorsanız ve dörtten fazla bölgedeki verilere salt okunur erişim sağlamanız gerekiyorsa, ek coğrafi çoğaltmalar oluşturmak için ikincil bir ikincil (zincirleme olarak bilinen bir işlem) oluşturabilirsiniz. Zincirlenmiş coğrafi çoğaltmalardaki çoğaltma gecikmesi, doğrudan birincile bağlı coğrafi çoğaltmalardan daha yüksek olabilir. Zincirleme coğrafi çoğaltma topolojilerinin ayarlanması yalnızca program aracılığıyla desteklenir ve Azure portal desteklenmez.

  • Elastik havuzdaki veritabanlarının coğrafi çoğaltması

    Her coğrafi ikincil tek bir veritabanı veya elastik havuzdaki bir veritabanı olabilir. Her coğrafi ikincil veritabanı için elastik havuz seçimi ayrıdır ve topolojideki başka bir çoğaltmanın (birincil veya ikincil) yapılandırmasına bağlı değildir. Her elastik havuz tek bir mantıksal sunucuda yer alır. Mantıksal sunucudaki veritabanı adlarının benzersiz olması gerektiğinden, aynı birincilin birden çok coğrafi ikincil birimi hiçbir zaman elastik havuzu paylaşamazsınız.

  • Kullanıcı tarafından denetlenen coğrafi yük devretme ve yeniden çalışma

    İlk dengeli dağıtımı tamamlamış bir coğrafi ikincil, uygulama veya kullanıcı tarafından herhangi bir zamanda açıkça birincil role (yük devredildi) geçirilebilir. Birincile erişilemeyen bir kesinti sırasında yalnızca planlanmamış bir coğrafi yük devretme kullanılabilir. Bu, coğrafi ikincil bir uygulamayı hemen yeni birincil olacak şekilde yükseltmektedir. Kesinti giderildiğinde sistem, kurtarılan birincili otomatik olarak coğrafi olarak ikincil hale getirir ve yeni birincille birlikte güncel hale getirir. Coğrafi çoğaltmanın zaman uyumsuz yapısı nedeniyle, birincil işlemler coğrafi ikincil bir işleme çoğaltılmadan önce başarısız olursa, planlanmamış coğrafi yük devretme işlemleri sırasında son işlemler kaybolabilir. Birden çok coğrafi ikincil içeren bir birincil yük devredildiğinde, sistem çoğaltma ilişkilerini otomatik olarak yeniden yapılandırarak kalan coğrafi ikincilleri kullanıcı müdahalesi gerektirmeden yeni yükseltilen birincile bağlar. Coğrafi yük devretmeye neden olan kesinti azaltıldıktan sonra birincil kaynağın özgün bölgesine döndürülmesi istenebilir. Bunu yapmak için planlı bir coğrafi yük devretmeyi çağırarak.

Coğrafi yük devretmeye hazırlanma

Coğrafi yük devretme sonrasında uygulamanızın yeni birincil sunucuya hemen erişebildiğinden emin olmak için, ikincil sunucunuz için kimlik doğrulaması ve ağ erişiminin düzgün yapılandırıldığını doğrulayın. Ayrıntılar için bkz. Olağanüstü durum kurtarma sonrasında güvenlik SQL Veritabanı. Ayrıca, ikincil veritabanındaki yedekleme saklama ilkesinin birincil veritabanındakiyle eşleşdiğini doğrulayın. Bu ayar veritabanının bir parçası değildir ve birincil ayardan çoğaltılmaz. Coğrafi ikincil varsayılan olarak yedi günlük varsayılan PITR saklama süresiyle yapılandırılır. Ayrıntılar için bkz. otomatik yedeklemeleri SQL Veritabanı.

Önemli

Veritabanınız bir yük devretme grubunun üyesiyse, coğrafi çoğaltma yük devretme komutunu kullanarak yük devretme işlemini başlatamazsınız. Grup için yük devretme komutunu kullanın. Tek bir veritabanına yük devretmeniz gerekiyorsa, önce veritabanını yük devretme grubundan kaldırmanız gerekir. Ayrıntılar için bkz. Otomatik yük devretme grupları .

Coğrafi ikincil yapılandırma

Hem birincil hem de coğrafi ikincil, aynı hizmet katmanına sahip olmak için gereklidir. Coğrafi ikincilin birincil depolama yedekliliği ve işlem boyutu (DTU'lar veya sanal çekirdekler) ile yapılandırılması da önemle önerilir. Birincil, yoğun bir yazma iş yüküyle karşılaşıyorsa, daha düşük işlem boyutuna sahip coğrafi ikincil bir iş yüküne ayak uyduramayabilir. Bu, coğrafi ikincilde çoğaltma gecikmesine neden olur ve sonunda coğrafi ikincilin kullanılamamasına neden olabilir. Bu riskleri azaltmak için etkin coğrafi çoğaltma, ikincillerinin yakalamasına izin vermek için gerekirse birincilin işlem günlüğü hızını azaltır (kısıtlar).

Dengesiz coğrafi ikincil yapılandırmanın bir diğer sonucu da yük devretmeden sonra yeni birincilin işlem kapasitesinin yetersiz olması nedeniyle uygulama performansının olumsuz sonuçlanabileceğidir. Bu durumda, veritabanının ölçeğini yeterli kaynaklara sahip olacak şekilde büyütmek gerekir ve bu da önemli zaman alabilir ve ölçek artırma işleminin sonunda yüksek kullanılabilirlik yük devretmesi gerektirir ve bu da uygulama iş yüklerini kesintiye uğratabilir.

Coğrafi ikincil değeri daha düşük bir işlem boyutuyla oluşturmaya karar verirseniz, zaman içinde birincilde günlük GÇ hızını izlemeniz gerekir. Bu, çoğaltma yükünü sürdürmek için gereken coğrafi ikincil değerin en düşük işlem boyutunu tahmin etmenizi sağlar. Örneğin, birincil veritabanınız P6 (1000 DTU) ise ve günlük GÇ değeri %50'de devam ettiriliyorsa coğrafi ikincil en az P4 (500 DTU) olmalıdır. Geçmiş günlük GÇ verilerini almak için sys.resource_stats görünümünü kullanın. Kısa vadeli ani artışları daha iyi yansıtan daha yüksek ayrıntı düzeyine sahip son günlük GÇ verilerini almak için sys.dm_db_resource_stats görünümünü kullanın.

İpucu

Coğrafi ikincilde daha düşük işlem boyutu nedeniyle birincilde işlem günlüğü GÇ azaltması, sys.dm_exec_requests ve sys.dm_os_wait_stats veritabanı görünümlerinde görünen HADR_THROTTLE_LOG_RATE_MISMATCHED_SLO bekleme türü kullanılarak bildirilir.

Birincildeki işlem günlüğü GÇ değeri, coğrafi ikincil bir işlem boyutuyla ilgili olmayan nedenlerden dolayı kısıtlanabilir. Coğrafi ikincil, birincilden aynı veya daha yüksek işlem boyutuna sahip olsa bile bu tür bir azaltma oluşabilir. Farklı günlük GÇ azaltma türleri için bekleme türleri de dahil olmak üzere ayrıntılar için bkz. İşlem günlüğü hızı idaresi.

Varsayılan olarak, coğrafi ikincil yedekleme depolama yedekliliği birincil veritabanıyla aynıdır. Farklı bir yedekleme depolama yedekliliği ile coğrafi ikincil yapılandırmayı seçebilirsiniz. Yedeklemeler her zaman birincil veritabanında alınır. İkincil farklı bir yedekleme depolama yedekliliği ile yapılandırıldıysa, coğrafi yük devretmeden sonra coğrafi ikincil birincile yükseltildiğinde, yeni yedeklemeler yeni birincilde (önceki ikincil) seçilen depolama türüne (RA-GRS, ZRS, LRS) göre depolanır ve faturalandırılır.

Abonelikler arası coğrafi çoğaltma

Birincil aboneliğinden (aynı Azure Active Directory kiracısı altında olsun veya olmasın) farklı bir abonelikte coğrafi ikincil oluşturmak için bu bölümdeki adımları izleyin.

  1. Aşağıdaki T-SQL komutlarını yürüten istemci makinesinin IP adresini hem birincil hem de ikincil sunucuların sunucu güvenlik duvarlarına ekleyin. Aynı istemci makinesinden birincil sunucuya bağlıyken aşağıdaki sorguyu yürüterek ip adresini onaylayabilirsiniz.

    select client_net_address from sys.dm_exec_connections where session_id = @@SPID;
    

    Daha fazla bilgi için bkz. Güvenlik duvarını yapılandırma.

  2. masterBirincil sunucudaki veritabanında etkin coğrafi çoğaltma kurulumuna ayrılmış bir SQL kimlik doğrulaması oturum açma bilgileri oluşturun. Oturum açma adını ve parolayı gerektiği gibi ayarlayın.

    create login geodrsetup with password = 'ComplexPassword01';
    
  3. Aynı veritabanında oturum açma için bir kullanıcı oluşturun ve bu dbmanager kullanıcıyı role ekleyin:

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  4. Yeni oturum açma işleminin SID değerini not alın. Aşağıdaki sorguyu kullanarak SID değerini alın.

    select sid from sys.sql_logins where name = 'geodrsetup';
    
  5. Birincil veritabanına (veritabanına değil) bağlanın master ve aynı oturum açma için bir kullanıcı oluşturun.

    create user geodrsetup for login geodrsetup;
    
  6. Aynı veritabanında kullanıcıyı db_owner role ekleyin.

    alter role db_owner add member geodrsetup;
    
  7. İkincil sunucudaki ana veritabanında, birincil sunucuda aynı adı, parolayı ve SID'yi kullanarak aynı oturum açma bilgilerini oluşturun. Aşağıdaki örnek komutta yer alan onaltılık SID değerini 4. Adımda elde edilen sid değeriyle değiştirin.

    create login geodrsetup with password = 'ComplexPassword01', sid=0x010600000000006400000000000000001C98F52B95D9C84BBBA8578FACE37C3E;
    
  8. Aynı veritabanında oturum açma için bir kullanıcı oluşturun ve bu dbmanager kullanıcıyı role ekleyin.

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  9. Yeni geodrsetup oturum açma bilgilerini kullanarak birincil sunucudaki ana veritabanına bağlanın ve ikincil sunucuda coğrafi ikincil oluşturma işlemini başlatın. Veritabanı adını ve ikincil sunucu adını gerektiği gibi ayarlayın. Komut yürütüldükten sonra, birincil veritabanındaki sys.dm_geo_replication_link_status görünümünü ve birincilsunucudaki ana veritabanındaki sys.dm_operation_status görünümünü sorgulayarak coğrafi ikincil oluşturma işlemini izleyebilirsiniz. Coğrafi ikincil oluşturmak için gereken süre birincil veritabanı boyutuna bağlıdır.

    alter database [dbrep] add secondary on server [servername];
    
  10. Coğrafi ikincil başarıyla oluşturulduktan sonra, bu yordam tarafından oluşturulan kullanıcılar, oturum açma bilgileri ve güvenlik duvarı kuralları kaldırılabilir.

Not

Kurulum ve coğrafi yük devretme dahil olmak üzere abonelikler arası coğrafi çoğaltma işlemleri yalnızca REST API & T-SQL komutları kullanılarak desteklenir.

Özel uç nokta üzerinden birincil sunucuya bağlanırken T-SQL kullanarak coğrafi ikincil ekleme desteklenmez. Özel uç nokta yapılandırıldıysa ancak genel ağ erişimine izin veriliyorsa, birincil sunucuya genel IP adresinden bağlanıldığında coğrafi ikincil ekleme desteklenir. Coğrafi ikincil eklendikten sonra genel ağ erişimi reddedilebilir.

Azure Active Directory yalnızca Azure SQL için kimlik doğrulaması birincil veya ikincil mantıksal sunucuda etkin (etkin) olduğunda, farklı bir Azure kiracısında mantıksal sunucuda coğrafi ikincil oluşturma desteklenmez.

Kimlik bilgilerini ve güvenlik duvarı kurallarını eşitlenmiş durumda tutma

Veritabanına bağlanmak için genel ağ erişimini kullanırken, coğrafi olarak çoğaltılan veritabanları için veritabanı düzeyinde IP güvenlik duvarı kurallarını kullanmanızı öneririz. Bu kurallar veritabanıyla çoğaltılır ve bu da tüm coğrafi ikincillerin birincil ile aynı IP güvenlik duvarı kurallarına sahip olmasını sağlar. Bu yaklaşım, müşterilerin birincil ve ikincil veritabanlarını barındıran sunucularda güvenlik duvarı kurallarını el ile yapılandırma ve koruma gereksinimini ortadan kaldırır. Benzer şekilde, veri erişimi için bağımsız veritabanı kullanıcılarının kullanılması hem birincil hem de ikincil veritabanlarının her zaman aynı kimlik doğrulama kimlik bilgilerine sahip olmasını sağlar. Bu şekilde, coğrafi yük devretmeden sonra kimlik doğrulaması kimlik bilgileri uyuşmazlıklarından kaynaklanan kesintiler olmaz. Oturum açma bilgilerini ve kullanıcıları kullanıyorsanız (bağımsız kullanıcılar yerine), ikincil veritabanınızda aynı oturum açma bilgilerinin mevcut olduğundan emin olmak için ek adımlar uygulamanız gerekir. Yapılandırma ayrıntıları için bkz. Oturum açma bilgilerini ve kullanıcıları yapılandırma.

Birincil veritabanını ölçeklendirme

Coğrafi ikincil öğelerin bağlantısını kesmeden birincil veritabanının ölçeğini artırabilir veya ölçeğini farklı bir işlem boyutuna (aynı hizmet katmanı içinde) azaltabilirsiniz. Ölçeği büyütürken önce coğrafi ikincil ölçeği artırmanızı ve ardından birincil ölçeği artırmanızı öneririz. Ölçeği daraltırken sırayı tersine çevirin: önce birincil ölçeği azalt, sonra da ikincil ölçeği azalt.

Not

Yük devretme grubu yapılandırmasının bir parçası olarak coğrafi ikincil oluşturduysanız ölçeği azaltmanız önerilmez. Bu, coğrafi yük devretme sonrasında normal iş yükünüzü işlemek için veri katmanınızın yeterli kapasiteye sahip olduğundan emin olmaktır.

Önemli

Yük devretme grubundaki birincil veritabanı, ikincil veritabanı önce daha yüksek katmana ölçeklendirilmediği sürece daha yüksek bir hizmet katmanına (sürüm) ölçeklendirilemez. Örneğin, birincil değerin ölçeğini Genel Amaçlı'den İş Açısından Kritik'ye genişletmek istiyorsanız, önce coğrafi ikincil değeri İş Açısından Kritik olarak ölçeklendirmeniz gerekir. Birincil veya coğrafi ikincil değerleri bu kuralı ihlal edecek şekilde ölçeklendirmeye çalışırsanız aşağıdaki hatayı alırsınız:

The source database 'Primaryserver.DBName' cannot have higher edition than the target database 'Secondaryserver.DBName'. Upgrade the edition on the target before upgrading the source.

Kritik veri kaybını önleme

Geniş alan ağlarının yüksek gecikme süresi nedeniyle coğrafi çoğaltma zaman uyumsuz bir çoğaltma mekanizması kullanır. Zaman uyumsuz çoğaltma, birincil başarısız olursa veri kaybı olasılığını kaçınılmaz hale getirir. Bir uygulama geliştiricisi, kritik işlemleri veri kaybına karşı korumak için işlemi işledikten hemen sonra sp_wait_for_database_copy_sync saklı yordamı çağırabilir. Çağırma sp_wait_for_database_copy_sync , son işlenen işlem ikincil veritabanının işlem günlüğünde iletilene ve sağlamlaştırılana kadar çağıran iş parçacığını engeller. Ancak, iletilen işlemlerin ikincil işlemde yeniden oynatılması (yeniden yapılması) için beklemez. sp_wait_for_database_copy_sync kapsamı belirli bir coğrafi çoğaltma bağlantısına göre belirlenmiştir. Birincil veritabanına bağlantı hakları olan tüm kullanıcılar bu yordamı çağırabilir.

Not

sp_wait_for_database_copy_sync belirli işlemler için coğrafi yük devretmeden sonra veri kaybını önler, ancak okuma erişimi için tam eşitlemeyi garanti etmez. Bir sp_wait_for_database_copy_sync yordam çağrısının neden olduğu gecikme önemli olabilir ve çağrı sırasında birincil işlem günlüğünde henüz iletilmeyen işlem günlüğünün boyutuna bağlıdır.

Coğrafi çoğaltma gecikmesini izleme

RPO açısından gecikmeyi izlemek için birincil veritabanındaki sys.dm_geo_replication_link_statusreplication_lag_sec sütununu kullanın. Birincilde işlenen işlemler arasındaki gecikmeyi saniye cinsinden gösterir ve ikincildeki işlem günlüğüyle güçlendirilir. Örneğin, gecikme bir saniye ise, birincil şu anda bir kesintiden etkilenirse ve coğrafi yük devretme başlatılırsa, son saniyede gerçekleştirilen işlemler kaybolur.

Coğrafi ikincilde sağlamlaştırılmış birincil veritabanındaki değişikliklere göre gecikmeyi ölçmek için, coğrafi ikincildeki last_commit zamanı birincilde aynı değerle karşılaştırın.

İpucu

Birincilde replication_lag_sec NULL ise, birincil şu anda coğrafi ikincil bir değerin ne kadar gerisinde olduğunu bilmiyor demektir. Bu genellikle işlem yeniden başlatıldıktan sonra gerçekleşir ve geçici bir koşul olmalıdır. replication_lag_sec uzun süre NULL döndürürse uyarı göndermeyi göz önünde bulundurun. Bağlantı hatası nedeniyle coğrafi ikincilin birincil ile iletişim kuramadığını gösterebilir.

Coğrafi ikincil ve birincilde last_commit süresi arasındaki farkın büyük olmasına neden olabilecek koşullar da vardır. Örneğin, değişiklik yapılmadan uzun bir süre sonra birincil üzerinde bir işleme yapılırsa, fark hızla sıfıra dönmeden önce büyük bir değere atlar. Bu iki değer arasındaki fark uzun süre büyük kalırsa uyarı göndermeyi göz önünde bulundurun.

Etkin coğrafi çoğaltmayı program aracılığıyla yönetme

Daha önce açıklandığı gibi, etkin coğrafi çoğaltma T-SQL, Azure PowerShell ve REST API kullanılarak program aracılığıyla da yönetilebilir. Aşağıdaki tablolarda kullanılabilir komut kümesi açıklanmaktadır. Etkin coğrafi çoğaltma, Azure SQL Veritabanı REST API'si ve Azure PowerShellcmdlet'leri de dahil olmak üzere yönetim için bir dizi Azure Resource Manager API'si içerir. Bu API'ler Azure rol tabanlı erişim denetimini (Azure RBAC) destekler. Erişim rollerini uygulama hakkında daha fazla bilgi için bkz. Azure rol tabanlı erişim denetimi (Azure RBAC).

T-SQL: Tek ve havuza alınan veritabanlarının coğrafi yük devretmesini yönetme

Önemli

Bu T-SQL komutları yalnızca etkin coğrafi çoğaltma için geçerlidir ve yük devretme grupları için geçerli değildir. Bu nedenle, yalnızca yük devretme gruplarını destekleyen SQL Yönetilen Örneği için de geçerli değildir.

Komut Açıklama
ALTER DATABASE Var olan bir veritabanı için ikincil veritabanı oluşturmak ve veri çoğaltmayı başlatırken ADD SECONDARY ON SERVER bağımsız değişkensini kullanma
ALTER DATABASE Yük devretmeyi başlatmak için ikincil veritabanını birincil veritabanı olarak değiştirmek için YÜK DEVRETME veya FORCE_FAILOVER_ALLOW_DATA_LOSS kullanma
ALTER DATABASE SQL Veritabanı ve belirtilen ikincil veritabanı arasındaki veri çoğaltmasını sonlandırmak için SUNUCUDA İKİYİ KALDIR'ı kullanın.
sys.geo_replication_links Bir sunucudaki her veritabanı için var olan tüm çoğaltma bağlantıları hakkındaki bilgileri döndürür.
sys.dm_geo_replication_link_status Son çoğaltma süresini, son çoğaltma gecikmesini ve belirli bir veritabanının çoğaltma bağlantısı hakkındaki diğer bilgileri alır.
sys.dm_operation_status Çoğaltma bağlantılarına yapılan değişiklikler de dahil olmak üzere tüm veritabanı işlemlerinin durumunu gösterir.
sys.sp_wait_for_database_copy_sync Uygulamanın, yürütülen tüm işlemler coğrafi ikincil bir işlemin işlem günlüğünde sağlamlaştırılana kadar beklemesine neden olur.

PowerShell: Tek ve havuza alınan veritabanlarının coğrafi yük devretmesini yönetme

Not

Bu makalede, Azure ile etkileşime yönelik önerilen PowerShell modülü olan Azure Az PowerShell modülü kullanılır. Az PowerShell modülünü kullanmaya başlamak için Azure PowerShell’i yükleyin. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Önemli

PowerShell Azure Resource Manager modülü Azure SQL Veritabanı tarafından hala desteklenmektedir ancak gelecekteki tüm geliştirmeler Az.Sql modülüne yöneliktir. Bu cmdlet'ler için bkz. AzureRM.Sql. Az modülündeki ve AzureRm modüllerindeki komutların bağımsız değişkenleri önemli ölçüde aynıdır.

Cmdlet Açıklama
Get-AzSqlDatabase Bir veya daha fazla veritabanını alır.
New-AzSqlDatabaseSecondary Mevcut bir veritabanı için ikincil bir veritabanı oluşturur ve veri çoğaltmaya başlar.
Set-AzSqlDatabaseSecondary Yük devretmeyi başlatmak için ikincil bir veritabanını birincil olarak değiştirir.
Remove-AzSqlDatabaseSecondary Bir SQL Veritabanı ile belirtilen ikincil veritabanı arasında veri çoğaltmayı sonlandırır.
Get-AzSqlDatabaseReplicationLink Veritabanının coğrafi çoğaltma bağlantılarını alır.

REST API: Tek ve havuza alınan veritabanlarının coğrafi yük devretmesini yönetme

API Açıklama
Veritabanı Oluşturma veya Güncelleştirme (createMode=Restore) Birincil veya ikincil bir veritabanını oluşturur, güncelleştirir veya geri yükler.
Veritabanı Oluşturma veya Güncelleştirme Durumunu Alma Oluşturma işlemi sırasında durumu döndürür.
İkincil Veritabanını Birincil Olarak Ayarlama (Planlı Yük Devretme) Geçerli birincil veritabanından yük devrederek hangi ikincil veritabanının birincil olduğunu ayarlar. Bu seçenek SQL Yönetilen Örneği için desteklenmez.
İkincil Veritabanını Birincil Olarak Ayarlama (Planlanmamış Yük Devretme) Geçerli birincil veritabanından yük devrederek hangi ikincil veritabanının birincil olduğunu ayarlar. Bu işlem veri kaybına neden olabilir. Bu seçenek SQL Yönetilen Örneği için desteklenmez.
Çoğaltma Bağlantısını Al Coğrafi çoğaltma ortaklığındaki belirli bir veritabanı için belirli bir çoğaltma bağlantısını alır. sys.geo_replication_links katalog görünümünde görünen bilgileri alır. Bu seçenek SQL Yönetilen Örneği için desteklenmez.
Çoğaltma Bağlantıları - Veritabanına Göre Listele Coğrafi çoğaltma ortaklığındaki belirli bir veritabanı için tüm çoğaltma bağlantılarını alır. sys.geo_replication_links katalog görünümünde görünen bilgileri alır.
Çoğaltma Bağlantısını Sil Veritabanı çoğaltma bağlantısını siler. Yük devretme sırasında yapılamaz.

Sonraki adımlar