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 ikincil veya coğrafi çoğaltma olarak da bilinir.
Etkin coğrafi çoğaltma, bir iş sürekliliği çözümü olarak tasarlanmıştır. Etkin coğrafi çoğaltma, bölgesel bir olağanüstü durum veya büyük ölçekli bir kesinti olduğunda tek tek veritabanlarında hızlı olağanüstü durum kurtarma gerçekleştirmenizi sağlar. 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ını geçirme.
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 yapılandırması gösterilmektedir.
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 ikincil öğeler otomatik olarak yeni birincil role bağlanır.
Aşağıdaki yöntemlerden herhangi birini kullanarak coğrafi çoğaltmayı yönetebilir ve coğrafi yük devretme başlatabilirsiniz:
- Azure portalı
- PowerShell: Tek veritabanı
- PowerShell: Elastik havuz
- Transact-SQL: Tek veritabanı veya elastik havuz
- REST API: Tek veritabanı
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 gerisinde kalsa 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, veritabanı işlem günlüğünü birincil çoğaltmadan ikincil çoğaltmalara aktararak 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 bölgesel yedeklilik sağlar. 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 bazı kısımlarının kalıcı kaybından hızla kurtulmasını sağlar. Coğrafi çoğaltma RPO'sunda İş Sürekliliğine Genel Bakış bulunabilir.
Aşağıdaki şekilde, Orta Kuzey ABD bölgesinde birincil ve Orta Güney ABD bölgesinde bir coğrafi ikincil ile yapılandırılmış etkin coğrafi çoğaltma örneği gösterilmektedir.
Olağanüstü durum kurtarmanın yanı sıra, aşağıdaki senaryolarda etkin coğrafi çoğaltma 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. Yıkıcı bir hatadan sonra bir uygulamayı (hizmeti) 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 bunların sağladığı garantileri ve özellikleri anlamanız gerekir. Ardından, bağlı olduğu hizmetlerin yük devretmesi sırasında hizmetinizin ç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 mevcut 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. Bir 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 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ğ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.
Planlanan 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. Planlanan coğrafi yük devretme süresi, birincil üzerindeki işlem günlüğünün coğrafi ikincil ile eşitlenmesi gereken boyutuna bağlıdır. Planlanan 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ştirme;
- Veritabanını farklı bir bölgeye yeniden yerleştirin;
- Kesinti azaltıldıktan 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 birincil eşitleme olmadan hemen değiştirir. Birincil üzerinde işlenen ancak henüz ikincilye çoğaltılmayan tüm işlemler kaybolur. Bu işlem, birincil erişilebilir olmadığında kesintiler sırasında bir kurtarma yöntemi olarak tasarlanmıştır, ancak veritabanı kullanılabilirliğinin hızla geri yüklenmesi gerekir. Ö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 devretme sonrasında, yeni birincil için bağlantı uç noktası değişir çünkü yeni birincil artık farklı bir mantıksal sunucuda bulunur.
Birden çok okunabilir coğrafi ikincil
Bir birincil için en fazla dört coğrafi ikincil oluşturulabilir. Yalnızca bir ikincil ikincil varsa ve başarısız olursa, uygulama yeni bir ikincil oluşturulana kadar daha yüksek riske maruz kalmaktadır. Birden çok ikincil öğe varsa, ikincillerden biri başarısız olsa bile uygulama korunur. Salt okunur iş yüklerinin ölçeğini genişletmek için ek ikinciller de kullanılabilir.
Bahşiş
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ından 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 diğer çoğaltmaları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 bileşeni hiçbir zaman elastik havuzu paylaşamazdı.
Kullanıcı tarafından denetlenen coğrafi yük devretme ve yeniden çalışma
İlk tohumlama işlemini tamamlamış olan coğrafi ikincil bir öğe, uygulama veya kullanıcı tarafından herhangi bir zamanda açıkça birincil role (yük devredildi) geçirilebilir. Birincil öğeye erişilemeyen bir kesinti sırasında yalnızca planlanmamış bir coğrafi yük devretme kullanılabilir. Bu, coğrafi ikincili hemen yeni birincil olacak şekilde yükseltmektedir. Kesinti azaltıldığında, sistem kurtarılan birincili otomatik olarak coğrafi ikincil yapar ve yeni birincil ile 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 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 planlanan bir coğrafi yük devretmeyi çağırin.
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 SQL Veritabanı güvenliği. Ayrıca, ikincil veritabanındaki yedekleme bekletme 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ılamaz. 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 . SQL Veritabanı otomatik yedeklemeleri.
Ö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 ikincilin aynı hizmet katmanına sahip olması gereklidir. Ayrıca coğrafi ikincilin birincil depolama yedekliliği, işlem katmanı (sağlanan veya sunucusuz) ve işlem boyutu (DTU'lar veya sanal çekirdekler) ile yapılandırılması kesinlikle önerilir. Birincil olan ağır yazma yüküyle karşılaşırsa işlem boyutu daha düşük olan ikincil buna 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; 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 ikincili farklı bir yapılandırmayla 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 tahminen bilmenizi 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 süreli 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.
Bahşiş
Coğrafi ikincilde daha düşük işlem boyutu nedeniyle birincilde işlem günlüğü GÇ azaltma, 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Ç'sinin coğrafi olarak ikincil bir alanda daha düşük işlem boyutuyla ilgisi olmayan nedenlerle 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 birincil (önceki ikincil) üzerinde 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 abonelikten farklı bir abonelikte coğrafi olarak ikincil bir abonelik oluşturmak için (aynı Azure Active Directory kiracısı altında olsun veya olmasın), bu bölümdeki adımları izleyin.
Bu örnekte 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.
master
Birincil 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';
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;
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';
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;
Aynı veritabanında kullanıcıyı
db_owner
role ekleyin.alter role db_owner add member geodrsetup;
master
İkincil sunucudaki veritabanında, birincil sunucuyla 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;
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;
master
Yenigeodrsetup
oturum açma bilgilerini kullanarak birincil sunucudaki 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 birincil sunucudaki veritabanındaki sys.dm_operation_status görünümünümaster
sorgulayarak coğrafi ikincil oluşturma işleminiizleyebilirsiniz. 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];
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 olarak ikincil bir eklendiğinde genel ağ erişimi reddedilebilir.
Birincil veya ikincil mantıksal sunucuda yalnızca Azure SQL için Azure Active Directory kimlik doğrulaması 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 bilgisi uyuşmazlıklarından dolayı herhangi bir kesinti olmaz. Oturum açma bilgilerini ve kullanıcıları (bağımsız kullanıcılar yerine) kullanıyorsanız, 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 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 azaltırken işlemi tersine çevirin: Önce birincil örneğin ölçeğini azaltıp ardından ikincil örneğin ölçeğini azaltın.
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. Bunun nedeni coğrafi yük devretme sonrasında veri katmanınızın normal iş yükünüzü işlemek için yeterli kapasiteye sahip olduğundan emin olmaktır.
Önemli
Bir 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 ölçeği Genel Amaçlı'dan İş Açısından Kritik'e kadar büyütmek istiyorsanız, önce coğrafi olarak ikincil olan ölçeği İş Açısından Kritik olarak ölçeklendirmeniz gerekir. Birincil veya coğrafi ikincil değeri 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. Kritik işlemleri veri kaybına karşı korumak için, uygulama geliştiricisi 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 iletilip 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ıyla 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 devretme sonrasında veri kaybını önler, ancak okuma erişimi için tam eşitlemeyi garanti etmez. Yordam sp_wait_for_database_copy_sync
çağrısının neden olduğu gecikme önemli olabilir ve çağrı sırasında birincilde henüz iletilmeyen işlem günlüğünün boyutuna bağlıdır.
Coğrafi çoğaltma gecikmesini izleme
RPO ile ilgili gecikmeyi izlemek için birincil veritabanında sys.dm_geo_replication_link_status replication_lag_sec sütununu kullanın. Birincil üzerinde işlenen işlemler arasındaki gecikmeyi saniye cinsinden gösterir ve ikincil işlem günlüğünde sağlamlaştırılmıştır. Örneğin, gecikme bir saniyeyse, birincil şu anda bir kesintiden etkilenirse ve coğrafi yük devretme başlatılırsa, son saniyede işlenen işlemler kaybolur.
Coğrafi ikincilde sağlamlaştırılmış birincil veritabanındaki değişikliklerle ilgili gecikmeyi ölçmek için coğrafi ikincildeki last_commit süreyi birincil veritabanındaki aynı değerle karşılaştırın.
Bahşiş
Birincil replication_lag_sec NULL ise, birincilin şu anda coğrafi ikincil bir değerin ne kadar gerisinde olduğunu bilmediği anlamına gelir. 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. Coğrafi ikincil sunucunun bağlantı hatası nedeniyle birincil ile iletişim kuramadığını gösterebilir.
Coğrafi olarak ikincil ve birincilde last_commit süre 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 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 bir 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 komutlar kümesi açıklanmaktadır. Etkin coğrafi çoğaltma, Azure SQL Veritabanı REST API'si ve Azure PowerShell cmdlet'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.
Command | Veri Akışı Açıklaması |
---|---|
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şkenlerini 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ı ile 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 tüm mevcut çoğaltma bağlantıları hakkında bilgi döndürür. |
sys.dm_geo_replication_link_status | Son çoğaltma zamanını, son çoğaltma gecikmesini ve belirli bir veritabanı için ç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, tüm işlenen işlemler coğrafi ikincil 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şim 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ü 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 | Description |
---|---|
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. |
Bahşiş
Ö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 veritabanını yapılandırma ve yük devretme.
REST API: Tek ve havuza alınan veritabanlarının coğrafi yük devretmesini yönetme
API | Description |
---|---|
Veritabanı Oluşturma veya Güncelleştirme (createMode=Restore) | Birincil veya ikincil veritabanı 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 Ayarla (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ı 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
- Örnek betikler için bkz:
- Etkin coğrafi çoğaltmayı kullanarak tek bir veritabanını yapılandırma ve yük devretme.
- Etkin coğrafi çoğaltma kullanarak havuza alınan veritabanını yapılandırma ve yük devretme.
- SQL Veritabanı otomatik yük devretme gruplarını da destekler. Daha fazla bilgi için bkz. Otomatik yük devretme gruplarını kullanma.
- İş sürekliliğine genel bakış ve senaryolar için bkz . İş sürekliliğine genel bakış.
- Azure SQL Veritabanı Hiper Ölçek Coğrafi çoğaltması hakkında bilgi edinmek için bkz. Hiper Ölçek Coğrafi Çoğaltma
- Azure SQL Veritabanı otomatik yedeklemeleri hakkında bilgi edinmek için bkz . SQL Veritabanı otomatik yedeklemeleri.
- Kurtarma için otomatik yedeklemeleri kullanma hakkında bilgi edinmek için bkz . Hizmet tarafından başlatılan yedeklemelerden veritabanını geri yükleme.
- Yeni birincil sunucu ve veritabanı için kimlik doğrulama gereksinimleri hakkında bilgi edinmek için bkz . Olağanüstü durum kurtarma sonrasında SQL Veritabanı güvenliği.