Azure SQL Veritabanı için yük devretme grubu yapılandırma
Şunlar için geçerlidir: Azure SQL Veritabanı
Bu makalede Azure portalını, Azure PowerShell'i ve Azure CLI'yı kullanarak Azure SQL Veritabanı'daki tek ve havuza alınan veritabanları için bir yük devretme grubu yapılandırmayı öğreneceksiniz.
Uçtan uca betikler için Azure PowerShell veya Azure CLI ile bir yük devretme grubuna tek bir veritabanı eklemeyi gözden geçirin.
Önkoşullar
Tek bir veritabanı için yük devretme grubunuzu oluşturmak için aşağıdaki önkoşulları göz önünde bulundurun:
- Birincil veritabanınız zaten oluşturulmuş olmalıdır. Başlamak için tek bir veritabanı oluşturun.
- İkincil sunucunuz birincil sunucudan farklı bir bölgede zaten varsa, sunucu oturum açma ve güvenlik duvarı ayarları birincil sunucunuzun ayarlarıyla eşleşmelidir.
Yük devretme grubu oluşturma
Azure portalını, PowerShell'i ve Azure CLI'yı kullanarak yük devretme grubunuzu oluşturabilir ve tek bir veritabanı ekleyebilirsiniz.
Önemli
Bir yük devretme grubuna eklendikten sonra ikincil veritabanını silmeniz gerekiyorsa, veritabanını silmeden önce bu veritabanını yük devretme grubundan kaldırın. İkincil veritabanının yük devretme grubundan kaldırılmadan önce silinmesi öngörülemeyen davranışlara neden olabilir.
Azure portalını kullanarak yük devretme grubunuzu oluşturmak ve tek veritabanınızı bu gruba eklemek için şu adımları izleyin:
Veritabanınızı barındıran mantıksal sunucuyu biliyorsanız doğrudan Azure portalında bu sunucuya gidin. Sunucuyu bulmanız gerekiyorsa şu adımları izleyin:
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
Azure SQL
. (İsteğe bağlı) Sık kullanılanlara eklemek için Azure SQL'in yanındaki yıldızı seçin ve hizmet menüsünde öğe olarak ekleyin. - Azure SQL sayfasında, yük devretme grubuna eklemek istediğiniz veritabanını bulun ve SQL veritabanı bölmesini açmak için seçin.
- SQL veritabanının Genel Bakış bölmesinde Sunucu adı'nın altında sunucunun adını seçerek SQL sunucusu bölmesini açın.
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
SQL server kaynak menüsünde Veri yönetimi'nin altında Yük devretme grupları'nı seçin. Yeni bir yük devretme grubu oluşturabileceğiniz Yük Devretme grubu sayfasını açmak için + Grup ekle'yi seçin.
Yük Devretme Grubu sayfasında:
- Bir Yük Devretme grubu adı sağlayın.
- Mevcut ikincil sunucuyu seçin veya Sunucu altında Yeni oluştur'u seçerek yeni bir sunucu oluşturun. Yük devretme grubundaki ikincil sunucunun birincil sunucudan farklı bir bölgede olması gerekir.
- Yük devretme için veritabanları grup sayfasını açmak için Veritabanını yapılandır'ı seçin.
Yük devretme için veritabanları grup sayfasında:
- Yük devretme grubuna eklemek istediğiniz veritabanlarını seçin (ekran görüntüsünde#1).
- (İsteğe bağlı) Bu veritabanlarını yalnızca olağanüstü durum kurtarma için kullanılacak hazır bekleyen çoğaltmalar olarak belirlemek istiyorsanız Evet'i seçin (ekran görüntüsünde#2). Bekleme için çoğaltmayı kullanacağınızı onaylamak için kutuyu işaretleyin.
- Veritabanı seçiminizi kaydetmek ve Yük Devretme grubu sayfasına geri dönmek için Seç'i kullanın (ekran görüntüsünde görünmez).
Yük devretme grubunuzu oluşturmak için Yük Devretme grubu sayfasında Oluştur'u kullanın.
Planlı yük devretmeyi test edin
Azure portalını veya PowerShell'i kullanarak veri kaybı olmadan yük devretme grubunuzun yük devretmesini test edin.
Azure portalını kullanarak yük devretme grubunuzun yük devretmesini test etmek için şu adımları izleyin:
Veritabanınızı barındıran mantıksal sunucuyu biliyorsanız doğrudan Azure portalında bu sunucuya gidin. Sunucuyu bulmanız gerekiyorsa şu adımları izleyin:
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
Azure SQL
. (İsteğe bağlı) Sık kullanılanlara eklemek için Azure SQL'in yanındaki yıldızı seçin ve hizmet menüsünde öğe olarak ekleyin. - Azure SQL sayfasında yük devretme testi yapmak istediğiniz veritabanını bulun ve SQL veritabanı bölmesini açmak için seçin.
- SQL veritabanının Genel Bakış bölmesinde Sunucu adı'nın altında sunucunun adını seçerek SQL sunucusu bölmesini açın.
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
SQL server kaynak menüsünde, Veri yönetimi'nin altında Yük devretme grupları'nı seçin ve ardından mevcut bir yük devretme grubunu seçerek Yük devretme grubu sayfasını açın.
Yük devretme grubu sayfasında:
- Hangi sunucunun birincil ve hangi sunucunun ikincil olduğunu gözden geçirin.
- Veritabanınızı içeren yük devretme grubunuzun yükünü devretmek için komut çubuğundan Yük Devretme'yi seçin.
- TDS oturumlarının bağlantısının kesileceğini bildiren uyarıda Evet'i seçin.
Hangi sunucunun birincil ve hangi sunucunun ikincil olduğunu gözden geçirin. Yük devretme başarılı olduktan sonra, iki sunucu rolleri değiştirir, böylece eski birincil ikincil olur.
(İsteğe bağlı) Sunucuları özgün rollerine geri döndürmek için yeniden Yük Devretme'yi seçin.
Uçtan uca betikler için Azure PowerShell veya Azure CLI ile bir yük devretme grubuna elastik havuz eklemeyi gözden geçirin.
Önkoşullar
Havuza alınan veritabanı için yük devretme grubunuzu oluşturmak için aşağıdaki önkoşulları göz önünde bulundurun:
- Birincil elastik havuzunuz zaten mevcut olmalıdır. Başlamak için elastik havuz oluşturun.
- İkincil sunucunuz zaten varsa, sunucu oturum açma ve güvenlik duvarı ayarları birincil sunucunuzun ayarlarıyla eşleşmelidir.
Yük devretme grubu oluşturma
Azure portalını, PowerShell'i veya Azure CLI'yı kullanarak elastik havuzunuz için yük devretme grubunu oluşturun.
Önemli
Bir yük devretme grubuna eklendikten sonra ikincil veritabanını silmeniz gerekiyorsa, veritabanını silmeden önce bu veritabanını yük devretme grubundan kaldırın. İkincil veritabanının yük devretme grubundan kaldırılmadan önce silinmesi öngörülemeyen davranışlara neden olabilir.
Azure portalını kullanarak yük devretme grubunuzu oluşturmak ve elastik havuzunuzu buna eklemek için şu adımları izleyin:
Azure portalında SQL Elastik havuzu oluşturma sayfasına gidin. Şu şekilde bir elastik havuz oluşturun:
- Birincil sunucudaki elastik havuzla aynı ada sahiptir.
- Yük devretme grubu için kullanmayı planladığınız ikincil sunucuyu kullanır. İkincil sunucu birincil sunucudan farklı bir bölgede olmalı ve sunucu oturum açma ve güvenlik duvarı ayarları birincil sunucunuzunkiyle eşleşmelidir. İkincil sunucu henüz yoksa yeni bir sunucu oluşturun.
Birincil elastik havuzunuzu barındıran mantıksal sunucuyu biliyorsanız doğrudan Azure portalında bu sunucuya gidin. Sunucuyu bulmanız gerekiyorsa şu adımları izleyin:
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
Azure SQL
. (İsteğe bağlı) Sık kullanılanlara eklemek için Azure SQL'in yanındaki yıldızı seçin ve hizmet menüsünde öğe olarak ekleyin. - Azure SQL sayfasında, yük devretme grubuna eklemek istediğiniz elastik havuzu bulun ve SQL elastik havuzu bölmesini açmak için bu havuzu seçin.
- SQL elastik havuzunun Genel Bakış bölmesinde Sunucu adı'nın altında sunucunun adını seçerek SQL sunucusu bölmesini açın.
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
SQL server kaynak menüsünde Veri yönetimi'nin altında Yük devretme grupları'nı seçin. Yeni bir yük devretme grubu oluşturabileceğiniz Yük Devretme grubu sayfasını açmak için + Grup ekle'yi seçin.
Yük Devretme Grubu sayfasında:
- Bir Yük Devretme grubu adı sağlayın.
- Var olan bir ikincil sunucu seçin. Yük devretme grubundaki ikincil sunucu birincil sunucudan farklı bir bölgede olmalı ve birincil sunucuyla aynı ada sahip bir elastik havuz içermelidir.
- Yük devretme için veritabanları grup sayfasını açmak için Veritabanını yapılandır'ı seçin.
Yük devretme için veritabanları grubu sayfasında, yük devretme grubuna eklemek istediğiniz havuza alınan veritabanlarını seçin. Veritabanı seçiminizi kaydetmek ve Yük Devretme grubu sayfasına geri dönmek için Seç'i kullanın.
Yük devretme grubunuzu oluşturmak için Yük Devretme grubu sayfasında Oluştur'u seçin. Elastik havuzu yük devretme grubuna eklemek coğrafi çoğaltma işlemini otomatik olarak başlatır.
Planlı yük devretmeyi test edin
Azure portalını, PowerShell'i veya Azure CLI'yı kullanarak veri kaybı olmadan elastik havuzunuzun yük devretmesini test edin.
Yük devretme grubunuzun yükünü ikincil sunucuya devredip Azure portalını kullanarak yeniden çalışır duruma getirin.
Birincil elastik havuzunuzu barındıran mantıksal sunucuyu biliyorsanız doğrudan Azure portalında bu sunucuya gidin. Sunucuyu bulmanız gerekiyorsa şu adımları izleyin:
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
Azure SQL
. (İsteğe bağlı) Sık kullanılanlara eklemek için Azure SQL'in yanındaki yıldızı seçin ve hizmet menüsünde öğe olarak ekleyin. - Azure SQL sayfasında, yük devretme grubuna eklemek istediğiniz elastik havuzu bulun ve SQL elastik havuzu bölmesini açmak için bu havuzu seçin.
- SQL elastik havuzunun Genel Bakış bölmesinde Sunucu adı'nın altında sunucunun adını seçerek SQL sunucusu bölmesini açın.
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
SQL server kaynak menüsünde, Veri yönetimi'nin altında Yük devretme grupları'nı seçin ve ardından mevcut bir yük devretme grubunu seçerek Yük devretme grubu sayfasını açın.
Yük devretme grubu sayfasında:
- Hangi sunucunun birincil ve hangi sunucunun ikincil olduğunu gözden geçirin.
- Veritabanınızı içeren yük devretme grubunuzun yükünü devretmek için komut çubuğundan Yük Devretme'yi seçin.
- TDS oturumlarının bağlantısının kesileceğini bildiren uyarıda Evet'i seçin.
Hangi sunucunun birincil ve hangi sunucunun ikincil olduğunu gözden geçirin. Yük devretme başarılı olduktan sonra, iki sunucu rolleri değiştirir, böylece eski birincil ikincil olur.
(İsteğe bağlı) Sunucuları özgün rollerine geri döndürmek için yeniden Yük Devretme'yi seçin.
Mevcut yük devretme grubunu değiştirme
Mevcut bir yük devretme grubuna veritabanı ekleyebilir veya kaldırabilir ya da Azure portalını, PowerShell'i ve Azure CLI'yı kullanarak yük devretme grubu yapılandırma ayarlarını düzenleyebilirsiniz.
Azure portalını kullanarak mevcut bir yük devretme grubunda değişiklik yapmak için şu adımları izleyin:
Veritabanınızı veya elastik havuzu barındıran mantıksal sunucuyu biliyorsanız doğrudan Azure portalında bu sunucuya gidin. Sunucuyu bulmanız gerekiyorsa şu adımları izleyin:
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
Azure SQL
. (İsteğe bağlı) Sık kullanılanlara eklemek için Azure SQL'in yanındaki yıldızı seçin ve hizmet menüsünde öğe olarak ekleyin. - Azure SQL sayfasında, değiştirmek istediğiniz veritabanını veya elastik havuzu bulun ve SQL veritabanını veya SQL elastik havuzu bölmesini açmak için seçin.
- SQL veritabanı veya SQL elastik havuzunun Genel Bakış bölmesinde Sunucu adı'nın altında sunucunun adını seçerek SQL sunucusu bölmesini açın.
- Hizmet menüsünde Azure SQL'i seçin. Azure SQL listede yoksa Tüm hizmetler'i seçin ve arama kutusuna yazın
SQL server kaynak menüsünde, Veri yönetimi'nin altında Yük devretme grupları'nı seçin ve ardından mevcut bir yük devretme grubunu seçerek Yük devretme grubu sayfasını açın.
Yük devretme grubu sayfasında komut çubuğunu kullanın:
- Veritabanı eklemek için Veritabanları ekle'yi seçerek Yük devretme grubuna veritabanı ekle bölmesini açın ve #Databases genişleterek birincil sunucudaki veritabanlarının listesini görüntüleyin. Yük devretme grubuna eklemek istediğiniz veritabanlarının yanındaki kutuyu işaretleyin ve değişikliklerinizi kaydetmek ve veritabanlarınızı eklemek için Seç'i kullanın.
- Veritabanını kaldırmak için Veritabanlarını kaldır'ı seçerek Veritabanlarını yük devretme grubundan kaldır bölmesini açın ve yük devretme grubundaki veritabanlarını listelemek için #Databases genişletin. Yük devretme grubundan kaldırmak istediğiniz veritabanlarının yanındaki kutuyu işaretleyin ve ardından Değişikliklerinizi kaydetmek ve veritabanlarınızı kaldırmak için Seç'i kullanın.
- Yük devretme ilkesini düzenlemek veya yetkisiz kullanım süresini yapılandırmak için Yapılandırmayı düzenle'yi seçerek Yapılandırmaları düzenle Yük devretme gruplarını düzenle bölmesini açın ve ayarlarınızı değiştirin. Değişikliklerinizi kaydetmek için Seç'i kullanın.
Özel Bağlantı kullanma
Özel bağlantı kullanmak, mantıksal sunucuyu sanal ağ veya alt ağ içindeki belirli bir özel IP adresiyle ilişkilendirmenize olanak tanır.
Yük devretme grubunuzla özel bağlantı kullanmak için aşağıdakileri yapın:
- Birincil ve ikincil sunucularınızın eşleştirilmiş bir bölgede olduğundan emin olun.
- Birincil ve ikincil sunucuların özel uç noktalarını barındırmak için her bölgede sanal ağı ve alt ağı oluşturun; böylece bunlar, ip adres alanlarına bağlanmaz. Örneğin, 10.0.0.0/16 birincil sanal ağ adres aralığı ve 10.0.0.1/16 ikincil sanal ağ adres aralığı çakışır. Sanal ağ adresi aralıkları hakkında daha fazla bilgi için Azure sanal ağlarını tasarlama bloguna bakın.
- Birincil sunucu için özel bir uç nokta ve Azure Özel DNS bölgesi oluşturun.
- İkincil sunucu için de bir özel uç nokta oluşturun ama bu kez birincil sunucu için oluşturulmuş olan aynı Özel DNS bölgesini yeniden kullanmayı seçin.
- Özel bağlantı oluşturulduktan sonra, bu makalede daha önce açıklanan adımları izleyerek yük devretme grubunu oluşturabilirsiniz.
Dinleyici uç noktasını bulma
Yük devretme grubunuz yapılandırıldıktan sonra uygulamanızın bağlantı dizesi Okuma/yazma dinleyicisi uç noktasına işaret ederek uygulamanızın yük devretme sonrasında birincil olan veritabanına bağlanmaya devam etmesi için güncelleştirin. Dinleyici uç noktasını kullanarak, trafik her zaman geçerli birincil sunucuya yönlendirildiğinden yük devretme grubunuzun yük devretmesi her seferinde bağlantı dizesi el ile güncelleştirmeniz gerekmez. Salt okunur iş yükünü Salt okunur dinleyici uç noktasına da işaret edebilirsiniz.
Azure portalında dinleyici uç noktasını bulmak için Azure portalında mantıksal sunucunuza gidin ve Veri yönetimi'nin altında Yük devretme grupları'nı seçin. İlgilendiğiniz yük devretme grubunu seçin.
Dinleyici uç noktalarını bulmak için aşağı kaydırın:
- Biçimindeki
fog-name.database.windows.net
Okuma/yazma dinleyicisi uç noktası, trafiği birincil veritabanına yönlendirir. - Biçiminde salt okunur dinleyici uç noktası,
fog-name.secondary.database.windows.net
trafiği ikincil veritabanına yönlendirir.
Yük devretme grubundaki veritabanlarını ölçeklendirme
Coğrafi ikincil öğelerin bağlantısını kesmeden birincil veritabanını farklı bir işlem boyutuna (aynı hizmet katmanı içinde) ölçeklendirin veya küçültün. Ö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. Veritabanını farklı bir hizmet katmanına ölçeklendirdiğinizde, bu öneri uygulanır.
Bu dizi özellikle daha düşük bir SKU'daki coğrafi ikincilin aşırı yüklendiği ve yükseltme veya düşürme işlemi sırasında yeniden izlenmesi gereken sorundan kaçınmak için önerilir. Ayrıca birincil okuma-yazma iş yüklerini birincile karşı etkileme pahasına birincil salt okunur hale getirerek de sorundan kaçınabilirsiniz.
Not
Yük devretme grubu yapılandırmasının bir parçası olarak coğrafi ikincil oluşturduysanız, coğrafi ikincilin ölçeğini 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. Eski coğrafi birincil kaynak kesinti nedeniyle kullanılamadığında planlanmamış bir yük devretmeden sonra coğrafi ikincil ölçeklendirme yapamayabilirsiniz. Bu bilinen bir sınırlamadır.
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 değerin ölçeğini Genel Amaçlı'dan İş Açısından Kritik'a genişletmek istiyorsanız, önce coğrafi ikincil değeri İş 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.
İkincil bölgeyi değiştirme
Değişiklik sırasını göstermek için A sunucusunun birincil sunucu, B sunucusunun mevcut ikincil sunucu ve C sunucusunun üçüncü bölgedeki yeni ikincil sunucu olduğunu varsayacağız. Geçişi yapmak için şu adımları izleyin:
- Etkin coğrafi çoğaltmayı kullanarak A sunucusundan C sunucusuna her veritabanının ek ikincillerini oluşturun. A sunucusundaki her veritabanının biri B sunucusunda, diğeri de C sunucusunda olmak üzere iki ikincil veritabanı olacaktır. Bu, birincil veritabanlarının geçiş sırasında korunmasını garanti eder.
- Yük devretme grubunu silin. Bu noktada yük devretme grubu uç noktalarının kullanıldığı oturum açma girişimleri başarısız olur.
- A ve C sunucuları arasında aynı ada sahip yük devretme grubunu yeniden oluşturun.
- A sunucusundaki tüm birincil veritabanlarını yeni yük devretme grubuna ekleyin. Bu noktada oturum açma girişimleri başarısız oluyor.
- B sunucusunu silin. B üzerindeki tüm veritabanları otomatik olarak silinir.
Birincil bölgeyi değiştirme
Değişiklik sırasını göstermek için A sunucusunun birincil sunucu olduğunu, B sunucusunun mevcut ikincil sunucu olduğunu ve C sunucusunun üçüncü bölgedeki yeni birincil sunucu olduğunu varsayacağız. Geçişi yapmak için şu adımları izleyin:
- Birincil sunucuyu B'ye değiştirmek için planlı bir coğrafi yük devretme gerçekleştirin. Sunucu A, yeni ikincil sunucu olur. Yük devretme birkaç dakika kapalı kalma süresine neden olabilir. Gerçek süre yük devretme grubunun boyutuna bağlıdır.
- Etkin coğrafi çoğaltmayı kullanarak B sunucusundan C sunucusuna her veritabanının ek ikincillerini oluşturun. B sunucusundaki her veritabanının biri A sunucusunda, diğeri de C sunucusunda olmak üzere iki ikincil veritabanı olacaktır. Bu, birincil veritabanlarının geçiş sırasında korunmasını garanti eder.
- Yük devretme grubunu silin. Bu noktada yük devretme grubu uç noktalarının kullanıldığı oturum açma girişimleri başarısız olur.
- B ve C sunucuları arasında aynı ada sahip yük devretme grubunu yeniden oluşturun.
- B üzerindeki tüm birincil veritabanlarını yeni yük devretme grubuna ekleyin. Bu noktada oturum açma girişimleri başarısız oluyor.
- B ve C arasında geçiş yapmak için yük devretme grubunun planlı coğrafi yük devretmesini gerçekleştirin. Şimdi sunucu C birincil, B ikincil olur. A sunucusundaki tüm ikincil veritabanları C'deki birincillere otomatik olarak bağlanır. 1. adımda olduğu gibi yük devretme birkaç dakika kapalı kalma süresine neden olabilir.
- A sunucusunu silin. A üzerindeki tüm veritabanları otomatik olarak silinir.
Önemli
Yük devretme grubu silindiğinde, dinleyici uç noktalarının DNS kayıtları da silinir. Bu noktada, başka birinin aynı ada sahip bir yük devretme grubu veya sunucu DNS diğer adı oluşturma olasılığı sıfır olmayan bir olasılıktır. Yük devretme grubu adları ve DNS diğer adları genel olarak benzersiz olması gerektiğinden, bu aynı adı yeniden kullanmanızı engeller. Bu riski en aza indirmek için genel yük devretme grubu adlarını kullanmayın.
Yük devretme grupları ve ağ güvenliği
Bazı uygulamalar için güvenlik kuralları, veri katmanına ağ erişiminin belirli bir bileşenle veya VM, web hizmeti gibi bileşenlerle kısıtlanmış olmasını gerektirir. Bu gereksinim, iş sürekliliği tasarımı ve yük devretme gruplarının kullanımı için bazı zorluklar sunar. Bu tür kısıtlanmış erişimi uygularken aşağıdaki seçenekleri göz önünde bulundurun.
Yük devretme gruplarını ve sanal ağ hizmet uç noktalarını kullanma
Veritabanınıza erişimi kısıtlamak için Sanal Ağ hizmet uç noktalarını ve kurallarını kullanıyorsanız, her sanal ağ hizmet uç noktasının yalnızca bir Azure bölgesine uygulandığını unutmayın. Uç nokta, diğer bölgelerin alt ağdan gelen iletişimi kabul etmelerini sağlamaz. Bu nedenle, birincil veritabanına yalnızca aynı bölgede dağıtılan istemci uygulamaları bağlanabilir. Coğrafi yük devretme, SQL Veritabanı istemci oturumlarının farklı (ikincil) bir bölgedeki bir sunucuya yeniden yönlendirilmeleriyle sonuçlandığı için, bu oturumlar bu bölgenin dışındaki bir istemciden geliyorsa başarısız olabilir. Bu nedenle, katılan sunucular Sanal Ağ kurallarına dahil edilirse Microsoft tarafından yönetilen yük devretme ilkesi etkinleştirilemiyor. El ile yük devretme ilkesini desteklemek için şu adımları izleyin:
- İkincil bölgede uygulamanızın ön uç bileşenlerinin (web hizmeti, sanal makineler vb.) yedekli kopyalarını sağlayın.
- Birincil ve ikincil sunucu için sanal ağ kurallarını tek tek yapılandırın.
- Traffic manager yapılandırmasını kullanarak ön uç yük devretmeyi etkinleştirin.
- Kesinti algılandığında el ile coğrafi yük devretme başlatın. Bu seçenek ön uç ile veri katmanı arasında tutarlı gecikme süresi gerektiren uygulamalar için iyileştirilmiştir ve ön uç, veri katmanı veya her ikisi de kesintiden etkilendiğinde kurtarmayı destekler.
Not
Salt okunur iş yükünün yükünü dengelemek için salt okunur dinleyiciyi kullanıyorsanız, ikincil veritabanına bağlanabilmesi için bu iş yükünün ikincil bölgedeki bir VM'de veya başka bir kaynakta yürütüldiğinden emin olun.
Yük devretme gruplarını ve güvenlik duvarı kurallarını kullanma
İş sürekliliği planınız yük devretme gruplarını kullanarak yük devretme gerektiriyorsa, genel IP güvenlik duvarı kurallarını kullanarak SQL Veritabanı erişimi kısıtlayabilirsiniz. Bu yapılandırma, coğrafi yük devretmenin ön uç bileşenlerinden gelen bağlantıları engellememesini sağlar ve uygulamanın ön uç ile veri katmanı arasındaki daha uzun gecikme süresini tolere edebildiğini varsayar.
Yük devretme grubu yük devretmeyi desteklemek için şu adımları izleyin:
- Genel IP oluşturun.
- Bir genel yük dengeleyici oluşturun ve genel IP'yi ona atayın.
- Ön uç bileşenleriniz için bir sanal ağ ve sanal makineler oluşturun.
- Ağ güvenlik grubu oluşturun ve gelen bağlantıları yapılandırın.
- Hizmet etiketi kullanarak
Sql.<Region>
giden bağlantıların bir bölgedeki Azure SQL Veritabanı açık olduğundan emin olun. - 1. adımda oluşturduğunuz genel IP adresinden gelen trafiğe izin vermek için bir SQL Veritabanı güvenlik duvarı kuralı oluşturun.
Giden erişimi yapılandırma ve güvenlik duvarı kurallarında kullanılacak IP hakkında daha fazla bilgi için bkz . Yük dengeleyici giden bağlantıları.
Önemli
Bölgesel kesintiler sırasında iş sürekliliğini garanti etmek için hem ön uç bileşenleri hem de veritabanları için coğrafi yedeklilik sağlamanız gerekir.
İzinler
Yük devretme grubu izinleri Azure rol tabanlı erişim denetimi (Azure RBAC) aracılığıyla yönetilir.
Yük devretme grupları oluşturmak ve yönetmek için Azure RBAC yazma erişimi gereklidir. SQL Server Katkıda Bulunanı rolü, yük devretme gruplarını yönetmek için gerekli tüm izinlere sahiptir.
Aşağıdaki tabloda Azure SQL Veritabanı için belirli izin kapsamları listelemektedir:
Eylem | İzin | Scope |
---|---|---|
Yük devretme grubu oluşturma | Azure RBAC yazma erişimi | Birincil sunucu İkincil sunucu Yük devretme grubundaki tüm veritabanları |
Yük devretme grubunu güncelleştirme | Azure RBAC yazma erişimi | Yük devretme grubu Geçerli birincil sunucudaki tüm veritabanları |
Yük devretme grubu | Azure RBAC yazma erişimi | Yeni sunucuda yük devretme grubu |
Sınırlamalar
Aşağıdaki sınırlamalara dikkat edin:
- Aynı Azure bölgesindeki iki sunucu arasında yük devretme grupları oluşturulamaz.
- Yük devretme grupları, gruptaki tüm veritabanlarının farklı bir bölgedeki tek bir ikincil mantıksal sunucuya coğrafi çoğaltmasını destekler.
- Yük devretme grupları yeniden adlandırılamaz. Farklı bir isim için grubu silmeniz ve farklı bir adla yeniden oluşturmanız gerekir.
- Veritabanı yeniden adlandırma, bir yük devretme grubundaki veritabanları için desteklenmez. Bir veritabanını yeniden adlandırabilmek veya veritabanını yük devretme grubundan kaldırabilmek için yük devretme grubunu geçici olarak silmeniz gerekir.
- Tek veritabanı veya havuza alınan veritabanı için yük devretme grubunu kaldırmak çoğaltmayı durdurmaz ve çoğaltılmış veritabanını silmez. Coğrafi çoğaltmayı el ile durdurmanız ve kaldırıldıktan sonra bir yük devretme grubuna tek veya havuza alınmış bir veritabanı eklemek istiyorsanız veritabanını ikincil sunucudan silmeniz gerekir. İki durumdan birini yapamama, veritabanını yük devretme grubuna
The operation cannot be performed due to multiple errors
eklemeye çalışırkenkine benzer bir hataya neden olabilir. - Yük devretme grubu adı adlandırma kısıtlamalarına tabidir.
- Yeni bir yük devretme grubu oluştururken veya mevcut bir yük devretme grubuna veritabanı eklerken, veritabanlarını yalnızca Azure portalını kullanırken bekleme çoğaltmaları olarak belirleyebilirsiniz- Azure PowerShell ve Azure CLI şu anda kullanılamaz.
Yük devretme gruplarını program aracılığıyla yönetme
Yük devretme grupları Azure PowerShell, Azure CLI ve REST API kullanılarak program aracılığıyla da yönetilebilir. Aşağıdaki tablolarda kullanılabilir komutlar kümesi açıklanmaktadır. Yük devretme grupları, Azure SQL Veritabanı REST API 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 kaynak gruplarının kullanılmasını gerektirir ve 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).
Cmdlet | Açıklama |
---|---|
New-AzSqlDatabaseFailoverGroup | Bu komut bir yük devretme grubu oluşturur ve bunu hem birincil hem de ikincil sunuculara kaydeder |
Add-AzSqlDatabaseToFailoverGroup | Yük devretme grubuna bir veya daha fazla veritabanı ekler |
Remove-AzSqlDatabaseFromFailoverGroup | Bir yük devretme grubundan bir veya daha fazla veritabanını kaldırır |
Remove-AzSqlDatabaseFailoverGroup | Sunucudan yük devretme grubunu kaldırır |
Get-AzSqlDatabaseFailoverGroup | Yük devretme grubunun yapılandırmasını alır |
Set-AzSqlDatabaseFailoverGroup | Yük devretme grubunun yapılandırmasını değiştirir |
Switch-AzSqlDatabaseFailoverGroup | Bir yük devretme grubunun ikincil sunucuya yük devretmesini tetikler |