Etkin coğrafi çoğaltma

ŞUNUN İÇİN GEÇERLİDİR: Azure SQL Database

Etkin coğrafi çoğaltma, birincil veritabanı için sürekli eşitlenmiş okunabilir bir ikincil veritabanı oluşturmanıza olanak sağlayan 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 veritabanları coğrafi ikincil veritabanları veya coğrafi çoğaltmalar 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 ayarlanarak farklı bir Azure bölgesinde coğrafi ikincil 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

Azure SQL Hiper Ölçek için etkin coğrafi çoğaltma genel önizlemede. Geçerli sınırlamalar şunlardır: Aynı veya farklı bir bölgede yalnızca bir coğrafi ikincil bölge, zorlamalı ve planlı yük devretme şu anda desteklenmiyor, coğrafi ikincilden veritabanı geri yükleme desteklenmiyor, Veritabanı Kopyalama için kaynak veritabanı olarak coğrafi ikincil veritabanı kullanıyor veya başka bir coğrafi ikincil için birincil olarak desteklenmiyor.

Coğrafi ikincil veritabanını birincil (yazılabilir veritabanı) yapmak için aşağıdaki adımları izleyin:

  1. PowerShell'de Remove-AzSqlDatabaseSecondary cmdlet'ini veya Azure CLI için az sql db replica delete-link cmdlet'ini kullanarak coğrafi çoğaltma bağlantısını kesmeniz, ikincil veritabanını bir okuma-yazma tek başına veritabanı haline gelecektir. Birincile işlenen ancak ikincil çoğaltmaya henüz çoğaltılmış olmayan tüm veri değişiklikleri kaybedilir. Eski birincil kullanılabilir olduğunda veya bazı durumlarda eski birincili zaman içinde en son kullanılabilir noktaya geri yükleyerek bu değişiklikler kurtarılabilir.
  2. Eski birincil kullanılabilirse silin, ardından yeni birincil için coğrafi çoğaltmayı ayarlayın (yeni bir ikincilin çekirdeği hazır olur).
  3. Uygulamanıza uygun bağlantı dizelerini güncelleştirin.

Not

Etkin coğrafi çoğaltma, Azure Yönetilen Örneği SQL desteklemez. Yönetilen Örnek örneklerinin coğrafi SQL için Otomatik yük devretme gruplarını kullanın.

Not

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

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

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

etkin coğrafi çoğaltma

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

Coğrafi çoğaltmayı yönetebilir ve coğrafi yük devretmeyi başlatmak için şunları kullanabilirsiniz:

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 Always On kullanılabilirlik grubu teknolojisini kullanır. Herhangi bir noktada ikincil veritabanı birincil veritabanının biraz arkasında olabilir ancak ikincil veritabanındaki verilerin işlem açısından tutarlı olması garantidir. Başka bir deyişle, işlanmamış 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 akar ve değişiklikleri çoğaltır. Abonelerde DML (INSERT, UPDATE, DELETE) komutlarını yürüterek değişiklikleri çoğaltan işlem çoğaltması ile ilgisizdir.

Coğrafi çoğaltma tarafından sağlanan bölgesel yedeklilik, uygulamaların doğal afetlerden, yıkıcı insan hatalarından veya kötü amaçlı eylemlerden kaynaklanan tüm Azure bölgesinde veya bölgenin bazı kısımlarında kalıcı bir kayıptan hızla kurtarılmasına olanak sağlar. Coğrafi çoğaltma RPO'su İş Sürekliliği'ne Genel Bakış içinde bulunabilir.

Aşağıdaki şekilde, Orta Kuzey ABD bölgesinde birincil ile yapılandırılmış etkin coğrafi çoğaltmanın ve Orta Güney ABD coğrafi çoğaltmanın bir örneği yer almaktadır.

coğrafi çoğaltma ilişkisi

Olağanüstü durum kurtarmaya ek olarak, etkin coğrafi çoğaltma aşağıdaki senaryolarda kullanılabilir:

  • Veritabanı geçişi: Bir veritabanını minimum 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 bir ikincil oluşturabilirsiniz.

Tam iş sürekliliği elde etmek için veritabanı bölgesel yedekliliği eklemek çözümün yalnızca bir bölümüdür. Yıkıcı bir hatadan sonra bir uygulamanın (hizmetin) 14.000.000'den sonra kurtarılma işlemi, hizmeti ve bağımlı hizmetleri oluşturan tüm bileşenlerin kurtarılmaları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 alanı ve DNS dahildir. Tüm bileşenlerin aynı hatalara karşı güçlü olması ve uygulamanın kurtarma süresi hedefi (RTO) içinde kullanılabilir olması kritik öneme sahiptir. Bu nedenle, tüm bağımlı hizmetleri tanımlamanız ve bunların sağolarak garantileri ve yetenekleri anlamanız gerekir. Ardından, bağlı olduğu hizmetlerin yük devretmesi sırasında hizmetinizin işleve sahip olduğundan emin olmak için yeterli adımları atması gerekir. 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 mevcut bir veritabanı için coğrafi ikincil bölge oluşturabilirsiniz. Coğrafi ikincil, birincil veritabanına sahip sunucu dışında herhangi bir mantıksal sunucuda oluşturulabilir. Oluşturulduktan sonra, coğrafi ikincil çoğaltma birincil veritabanının verileriyle doldurulur. Bu işlem, çekirdek olarak bilinir. Coğrafi ikincil veritabanı oluşturularak çekirdek oluşturulduktan sonra birincil veritabanına yapılan güncelleştirmeler otomatik olarak ve coğrafi ikincil çoğaltmaya zaman uyumsuz olarak çoğaltılır. Zaman uyumsuz çoğaltma, işlemlerin çoğaltılması için birincil veritabanında işlenmiş olduğu 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 bir çoğaltmaya erişebilir. Daha fazla bilgi için bkz. Salt okunur sorgu iş yüklerini 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ğini dışarı ölçeklendirme senaryolarını karşılamak için bu ikincileri kullanabilirsiniz. Ancak, aynı bölgedeki ikincil çoğaltma, yıkıcı hatalara veya büyük ölçekli kesintilere ek bir yük devretme sağlar 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ı garanti edilemez. Kullanılabilirlik İş Açısından Kritik Premium sağlamak için Genel Amaçlı veya yedekli hizmet katmanları bölge yedekli yapılandırması kullanın.

  • Planlı coğrafi yük devretme

    Planlı coğrafi yük devretme, tam veri eşitlemesi tamamladıktan sonra birincil ve coğrafi ikincil veritabanlarının rollerini değiştirerek. Planlı yük devretme veri kaybına neden olmaz. Planlanan coğrafi yük devretme süresi, birincil birincilde coğrafi olarak ikincil bölgeye eşitlenmesi gereken 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 edilemez olduğunda üretimde DR tatbikatları gerçekleştirin;
    • Veritabanını farklı bir bölgeye yeniden konumlatır;
    • Kesinti azaltıldıktan sonra veritabanını birincil bölgeye geri dönebilirsiniz (yeniden çalışma olarak bilinir).
  • Planlanmamış coğrafi yük devretme

    Planlanmamış veya zorlamalı coğrafi yük devretme, birincille eşitleme yapmadan coğrafi ikincil bölgeyi birincil role hemen geçiştir. Birincilde işlenen ancak ikincil çoğaltmaya henüz çoğaltılmış olmayan tüm işlemler kaybolur. Bu işlem, birincile erişilemez durumdayken kesintiler sırasında kurtarma yöntemi olarak tasarlanmıştır, ancak veritabanı kullanılabilirliği hızla geri yüklenir. Özgün birincil yeniden çevrimiçi olduğunda, otomatik olarak yeniden bağlanır, geçerli birincil veriler kullanılarak yeniden kullanılır ve yeni bir coğrafi ikincil hale döner.

    Önemli

    Planlanan veya planlanmamış coğrafi yük devretmenin ardından, yeni birincil artık farklı bir mantıksal sunucuda bulunduğu için yeni birincil bağlantı uç noktası değişir.

  • Birden çok okunabilir coğrafi İkincil

    Birincil için en fazla dört coğrafi ikincil bölge oluşturulabilir. Yalnızca bir ikincil varsa ve başarısız olursa, uygulama yeni bir ikincil oluşturulana kadar daha yüksek bir riskle karşı karşına çıkar. Birden çok ikincil varsa, ikincilerden biri başarısız olsa bile uygulama korunur. Salt okunur iş yüklerinin ölçeğini ölçeklendirmek için ek ikinci dosyalar da kullanılabilir.

    İpucu

    Küresel olarak dağıtılmış bir uygulama oluşturmak için etkin coğrafi çoğaltma kullanıyorsanız ve dörtten fazla bölgede yer alan verilere salt okunur erişim sağlamanız gerekirse, ek coğrafi çoğaltmalar oluşturmak için ikincil bir ikincil (zincirleme olarak bilinen işlem) oluşturabilirsiniz. Zincirlenmiş coğrafi çoğaltmalarda çoğaltma gecikmesi, doğrudan birincil çoğaltmaya bağlı coğrafi çoğaltmalardan daha yüksek olabilir. Zincirli coğrafi çoğaltma topolojilerini ayarlama yalnızca program aracılığıyla desteklemektedir ve Azure portal.

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

    Her coğrafi ikincil tek bir veritabanı veya elastik havuza sahip bir veritabanı olabilir. Her coğrafi ikincil veritabanı için elastik havuz seçimi ayrıdır ve topolojide diğer çoğaltmaların (birincil veya ikincil) yapılandırmasına bağlı değildir. Her elastik havuz tek bir mantıksal sunucu içinde yer almaktadır. Bir mantıksal sunucu üzerinde veritabanı adlarının benzersiz olması gerekir, çünkü aynı birincilin birden çok coğrafi ikincilsi hiçbir zaman bir elastik havuzu paylaştırmaz.

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

    İlk çekirdekleri tamammiş coğrafi ikincil bölge, uygulama veya kullanıcı tarafından herhangi bir anda açıkça birincil role (devredilen) ılabilir. Birincilin erişilemez olduğu bir kesinti sırasında yalnızca planlanmamış bir coğrafi yük devretme kullanılabilir. Bu, coğrafi ikincil bölgeyi hemen yeni birincil olarak yükseltmektedir. Kesinti azaltılırsa sistem kurtarılan birincili otomatik olarak coğrafi olarak ikincil yapar ve yeni birincil ile güncel olarak getirir. Coğrafi çoğaltmanın zaman uyumsuz yapısı nedeniyle, birincil işlem bu işlemler coğrafi ikincil bölgeye çoğaltılamadan önce başarısız olursa, son işlemler planlanmamış coğrafi yük devretmeler sırasında kaybolabilir. Birden çok coğrafi ikincilli birincilin devredilirken, sistem çoğaltma ilişkilerini otomatik olarak yeniden yapılandırarak kalan coğrafi ikincilleri kullanıcı müdahalesine gerek kalmadan yeni yükseltilen birincil bölgeye bağlar. Coğrafi yük devretmeye neden olan kesintinin azaltılmasının ardından birincilin özgün bölgeye geri dönmesi istenebilir. Bunu yapmak için planlı bir coğrafi yük devretmeyi çağırma.

Coğrafi yük devretme için hazırlanma

Coğrafi yük devretme sonrasında uygulamanın yeni birincil birincile hemen erişemeyebilir olması için, ikincil sunucunuz için kimlik doğrulaması ve ağ erişiminin düzgün yapılandırıldığından emin olun. Ayrıntılar için bkz. SQL Veritabanı sonra güvenlik. Ayrıca ikincil veritabanındaki yedekleme saklama ilkesinin birincil veritabanıyla eşle eşle olduğunu da onaylarsınız. Bu ayar veritabanının bir parçası değildir ve birincil ayardan çoğaltılmaz. Varsayılan olarak, coğrafi ikincil, yedi günlük varsayılan PITR saklama süresiyle yapılandırılır. Ayrıntılar için bkz. SQL Veritabanı yedeklemeleri.

Önemli

Veritabanınız bir yük devretme grubunun üyesi ise 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ı için yük devretmeye ihtiyacınız varsa ö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 bölgeyi yapılandırma

Hem birincil hem de coğrafi ikincil katmanın aynı hizmet katmanına sahip olması gerekir. Ayrıca coğrafi ikincil çoğaltmanın birincil yedekleme alanı yedekliliği ve işlem boyutu (DTU veya sanal çekirdek) ile yapılandırılması da önemle önerilir. Birincilde ağır yazma iş yükü yaşanıyorsa, daha düşük işlem boyutuna sahip bir coğrafi ikincil bölgeye sahip olmak mümkün değildir. Bu, coğrafi olarak ikincil çoğaltmada gecikmeye neden olur ve sonunda coğrafi ikincil çoğaltmanın kullanılamamasına neden olabilir. Bu riskleri azaltmak için, etkin coğrafi çoğaltma gerekirse birincilin işlem günlüğü oranını azaltır (kısıtlar) ve ikincillerinin yakalamasına olanak sağlar.

Dengesiz coğrafi ikincil yapılandırmanın bir diğer sonucu da yük devretme sonrasında yeni birincil birincilin yetersiz işlem kapasitesi nedeniyle uygulama performansının düşük olmasıdır. Bu durumda, veritabanının ölçeğini önemli ölçüde zaman alan yeterli kaynaklara sahip olacak şekilde ölçeklendirmek gerekir ve ölçek oluşturma işleminin sonunda uygulama iş yüklerini kesintiye uğratmak için yüksek kullanılabilirlik yük devretmesi gerekir.

Coğrafi ikincil bölgeyi daha düşük bir işlem boyutuyla oluşturmak için zaman içinde birincilde günlük G/A0 oranını izlemelisiniz. Bu, çoğaltma yükünü sürdürmek için gereken coğrafi ikincil boyutun en düşük işlem boyutunu tahmin etmek için size olanak sağlar. Örneğin, birincil veritabanınız P6 (1000 DTU) ise ve günlük GÇ'si %50'de sürdürülebiliyorsa, coğrafi ikincil veritabanı en az P4 (500 DTU) olmalıdır. Geçmiş günlük G/A0 verilerini almak için sys.resource_stats kullanın. Kısa vadeli ani artışları daha iyi yansıtan daha yüksek ayrıntılı son günlük G/SN verilerini almak için sys.dm_db_resource_stats kullanın.

İpucu

Coğrafi olarak ikincil bir ikincilde işlem boyutunun daha düşük olması nedeniyle birincilde işlem günlüğü G/HADR_THROTTLE_LOG_RATE_MISMATCHED_SLO azaltması, sys.dm_exec_requests ve sys.dm_os_wait_stats görünümlerde görünür.

Birincildeki işlem günlüğü G/A0 coğrafi olarak ikincil bir işlem boyutunun daha düşük olmasıyla ilgili olmayan nedenlerden dolayı kısıtlandı. Coğrafi ikincil bölge birincilden aynı veya daha yüksek işlem boyutuna sahip olsa bile bu tür bir azaltma oluşabilir. Farklı türlerde günlük G/VERI azaltma 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. Coğrafi ikincil bölgeyi farklı bir yedekleme depolama yedekliliği ile 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ılırsa, coğrafi yük devretmeden sonra, coğrafi ikincil birincile yükseltıldığında, yeni yedeklemeler yeni birincilde (önceki ikincil) seçilen depolama türüne (RA-GRS, ZRS, LRS) göre depolanır ve faturalandırıldığında.

Abonelikler arası coğrafi çoğaltma

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

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

    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. Birincil sunucu üzerinde ana veritabanında etkin coğrafi çoğaltma kurulumuna SQL kimlik doğrulaması oturum açma bilgileri oluşturun. Oturum açma adını ve parolayı gereken şekilde ayarlayın.

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

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

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

    create user geodrsetup for login geodrsetup;
    
  6. Aynı veritabanında, rolüne kullanıcı db_owner ekleyin.

    alter role db_owner add member geodrsetup;
    
  7. İkincil sunucuda ana veritabanında, aynı adı, parolayı ve SID'i kullanarak birincil sunucuyla 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 değerle 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 rolüne dbmanager ekleyin.

    create user geodrsetup for login geodrsetup;
    alter role dbmanager add member geodrsetup;
    
  9. Bağlan oturum açma bilgilerini kullanarak birincil sunucuda ana veritabanına bağlantı oluşturun ve ikincil sunucuda geodrsetup coğrafi ikincil oluşturma işlemi başlatın. Veritabanı adını ve ikincil sunucu adını gereken şekilde ayarlayın. Komut yürütülürken, birincil veritabanındaki sys.dm_geo_replication_link_status görünümünü ve birincil sunucuda ana veritabanındaki sys.dm_operation_status görünümünü sorgular ve coğrafi olarak ikincil oluşturmayı izleyebilirsiniz. Coğrafi ikincil veritabanı 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 bölge 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 T-SQL komutları kullanılarak de destekler.

Birincil ve/veya ikincil sunucuların yapılandırılmış bir özel uç noktası olduğunda ve genel ağ erişimi reddedilirse, T-SQL kullanarak coğrafi ikincil bölge ekleme desteklenmiyor. Özel uç nokta yapılandırıldı ancak genel ağ erişimine izin veriliyorsa, birincil sunucuya bir genel IP adresinden bağlanıldığında coğrafi ikincil ekleme de desteklemektedir. Coğrafi ikincil bölge eklendiktan sonra genel erişim reddedilir.

Birincil veya ikincil mantıksal sunucuda yalnızca Azure SQL için kimlik doğrulaması etkinse (etkin) olduğunda, farklı bir Azure kiracısı içinde mantıksal sunucuda coğrafi olarak ikincil sunucu oluşturma işlemi Azure Active Directory desteklenmiyor.

Kimlik bilgilerini ve güvenlik duvarı kurallarını eşitle

Veritabanına bağlanmak için genel ağ erişimi kullanırken, coğrafi olarak çoğaltılmış veritabanları için veritabanı düzeyinde IP güvenlik duvarı kurallarının kullanılması önerilir. Bu kurallar veritabanıyla çoğaltılır ve bu sayede tüm coğrafi ikinciller birincil ile aynı IP güvenlik duvarı kurallarına sahip olur. 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 gereğini ortadan kaldırıyor. Benzer şekilde, veri erişimi için tek veritabanı kullanıcılarının kullanılması, hem birincil hem de ikincil veritabanlarının her zaman aynı kimlik doğrulaması kimlik bilgilerine sahip olması sağlar. Bu şekilde, coğrafi yük devretmeden sonra kimlik doğrulaması kimlik bilgisi yanlışlıkları nedeniyle kesinti yaşanmaz. Oturum açma bilgileri ve kullanıcılar kullanıyorsanız (tek tek kullanıcılar yerine), ikincil veritabanınız için aynı oturum açma bilgilerini olduğundan emin olmak için ek adımlar atabilirsiniz. Yapılandırma ayrıntıları için bkz. Oturum açma bilgilerini ve kullanıcılarını yapılandırma.

Birincil veritabanını ölçeklendirme

Coğrafi ikincil çoğaltmaların bağlantısını kesmeden birincil veritabanının ölçeğini farklı bir işlem boyutuna (aynı hizmet katmanı içinde) ölçeklendirebilirsiniz veya ölçeklendirebilirsiniz. Ölçeğinizi yukarı doğru ölçeklendirerek önce coğrafi ikincil bölgeyi ve ardından birincilin ölçeğini genişletmenizi öneririz. Ölçeği aşağı doğru ölçeklendirerek sıralamayı tersine çevirin: önce birincilin ölçeğini ve ardından ikincilin ölçeğini aşağı doğru ölçeklendirin.

Not

Yük devretme grubu yapılandırmasının bir parçası olarak coğrafi ikincil bölge oluşturduysanız, ölçeğini aşağı doğru ölçeklendirmenizi önerilmez. Bu, coğrafi yük devretme sonrasında veri katmanınız için normal iş yüklerinizi işlemeye yetecek kapasiteye sahip olduğundan emin olmaktır.

Önemli

İkincil veritabanı ilk olarak daha yüksek katmana ölçeklendirilene kadar yük devretme grubunda yer alan birincil veritabanı daha yüksek bir hizmet katmanına (sürüm) ölçeklendirileyemz. Örneğin, birincil çoğaltmanın ölçeğini Genel Amaçlı İş Açısından Kritik, önce coğrafi ikincil çoğaltmayı İş Açısından Kritik. Birincil veya coğrafi ikincil bölgeyi bu kuralı ihlal eden bir şekilde ölçeklendirmeyi denersanı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 verilerin kaybını önleme

Geniş alan ağlarının gecikme süresi yüksek olduğu için coğrafi çoğaltma, zaman uyumsuz bir çoğaltma mekanizması kullanır. Zaman uyumsuz çoğaltma, birincil çoğaltma başarısız olursa veri kaybı olasılığını kaçınılmaz hale eder. Kritik işlemleri veri kaybına karşı korumak için, uygulama geliştirici işlemi işledikten sp_wait_for_database_copy_sync saklı yordamı çağırabilir. çağrısı, son işlenen işlem ikincil veritabanının işlem günlüğünde iletilene ve sağlamlaştırılana sp_wait_for_database_copy_sync kadar çağıran iş parçacığını engeller. Ancak, iletilen işlemlerin ikincilde yeniden yürütmeyi (yeniden yürütmeyi) beklemez. sp_wait_for_database_copy_sync kapsamı belirli bir coğrafi çoğaltma bağlantısına göredir. Birincil veritabanına bağlantı haklarına sahip herhangi bir kullanıcı bu yordamı çağırabilirsiniz.

Not

sp_wait_for_database_copy_sync belirli işlemler için coğrafi yük devretme sonrasında veri kaybını önler, ancak okuma erişimi için tam eşitlemeyi garanti vermez. Yordam çağrısının neden olduğu gecikme önemli olabilir ve çağrı sırasında birincilde henüz iletilmedi işlem günlüğünün sp_wait_for_database_copy_sync boyutuna bağlıdır.

Coğrafi çoğaltma gecikmesini izleme

RPO ile ilgili gecikmeyi izlemek için birincil veritabanında replication_lag_sec sütununu sys.dm_geo_replication_link_status sütununu kullanın. Birincilde işlenen işlemler arasındaki gecikmeyi saniyeler içinde gösterir ve ikincilteki işlem günlüğüne sağlamlaştırılmıştır. Örneğin, gecikme bir saniye ise, birincilin şu anda bir kesintiden etkilenmesi ve coğrafi yük devretmenin başlatılmış olması, son saniye içinde işlenen işlemlerin kaybedilir.

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

İpucu

Birincil replication_lag_sec null ise, birincilin şu anda coğrafi ikincil çoğaltmanın ne kadar gerisinde olduğunu bilmiyor olduğu anlamına gelir. Bu durum genellikle işlem yeniden başlatıldıktan sonra gerçekleşir ve geçici bir koşul olması gerekir. Uzun bir süre replication_lag_sec NULL döndürürse uyarı göndermeyi göz önünde bulundurabilirsiniz. Bağlantı hatası nedeniyle coğrafi ikincilin birincil ile iletişim kurayamay olduğunu gösteriyor olabilir.

Ayrıca coğrafi olarak ikincil ve birincil last_commit olan süre arasındaki farkın büyük olmasına neden olan koşullar da vardır. Örneğin, uzun bir süre değişiklik olmadan birincil 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 daha büyük kalırsa uyarı göndermeyi düşünün.

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

Daha önce de belirtildiği gibi, etkin coğrafi çoğaltma T-SQL, Azure PowerShell ve REST API. Aşağıdaki tablolarda kullanılabilir komut kümesi açık bulunmaktadır. Etkin coğrafi çoğaltma, Azure SQL Veritabanı REST API cmdlet'Azure Resource Managerleri de dahil olmak üzere yönetim için Azure SQL Veritabanı REST API api'Azure PowerShell içerir. Bu API'ler Azure rol tabanlı erişim denetimi (Azure RBAC) desteği sunar. 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ındı veritabanlarının coğrafi yük devretmeyi 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 Örnek 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şkenini kullanın
ALTER DATABASE Yük devretmeyi başlatmak FORCE_FAILOVER_ALLOW_DATA_LOSS ikincil veritabanını birincil veritabanına değiştirmek için YÜK DEVRETME veya yük devretmeyi kullanma
ALTER DATABASE Bir veritabanı ile belirtilen ikincil veritabanı arasındaki veri çoğaltmayı sonlandırmak için SQL Veritabanı REMOVE SECONDARY ON SERVER'ı kullanın.
sys.geo_replication_links Bir sunucu üzerinde her veritabanı için tüm mevcut çoğaltma bağlantıları hakkında bilgi döndürür.
sys.dm_geo_replication_link_status Son çoğaltma süresini, son çoğaltma gecikmesini ve verili bir veritabanının çoğaltma bağlantısıyla ilgili diğer bilgileri alır.
sys.dm_operation_status Çoğaltma bağlantılarında 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, tüm işlenen işlemlerin coğrafi olarak ikincil bir işlem günlüğüne sağlamlaştırılana kadar beklemelerine neden olur.

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

Not

Bu makalede, Azure ile etkileşim kurmak için ö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ü hala Azure SQL Veritabanı, ancak gelecekteki tüm geliştirmeler Az.Sql modülüne göredir. Bu cmdlet'ler için bkz. AzureRM.Sql. Az modülünde ve AzureRm modüllerde yer alan 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 Bir veritabanının coğrafi çoğaltma bağlantılarını alır.

İpucu

Örnek betikler için bkz. Etkin coğrafi çoğaltma kullanarak tek bir veritabanını yapılandırma ve yük devretme ve Etkin coğrafi çoğaltma kullanarak havuza alınan bir veritabanını yapılandırma ve yük devretme.

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

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

Sonraki adımlar