Azure SQL Veritabanı'da hiper ölçek elastik havuzlara genel bakış
Şunlar için geçerlidir: Azure SQL Veritabanı
Bu makalede, Azure SQL Veritabanı'daki Hiper Ölçek elastik havuzlarına genel bir bakış sağlanır.
Azure SQL Veritabanı elastik havuz, hizmet olarak yazılım (SaaS) geliştiricilerinin belirli bir bütçe içindeki bir grup veritabanı için fiyat-performans oranını iyileştirerek her veritabanı için performans esnekliği sunmalarını sağlar. Azure SQL Veritabanı Hiper Ölçek elastik havuzları, Hiper Ölçek veritabanları için paylaşılan bir kaynak modeli sağlar.
Azure CLI veya PowerShell kullanarak veritabanlarını oluşturma, ölçeklendirme veya Hiper Ölçek elastik havuzuna taşıma örnekleri için, Komut satırı araçlarını kullanarak Hiper Ölçek elastik havuzlarıyla çalışma'yı gözden geçirin
Hiper Ölçek için elastik havuzların genel kullanılabilirliği hakkında daha fazla bilgi için bkz . Blog: Hiper Ölçek Elastik Havuzları genel kullanıma sunuldu.
Genel bakış
Havuzdaki veritabanları arasında kaynak paylaşmak ve farklı kullanım desenlerine sahip birden çok veritabanının maliyetini iyileştirmek için Hiper Ölçek veritabanınızı elastik bir havuza dağıtın.
Hiper Ölçek veritabanlarınızla elastik havuz kullanma senaryoları:
- Elastik havuza ayrılan işlem kaynaklarını ayrılmış depolama miktarından bağımsız olarak tahmin edilebilir bir süre içinde artırmanız veya azaltmanız gerektiğinde.
- Bir veya daha fazla okuma ölçeği çoğaltması ekleyerek elastik havuza ayrılan işlem kaynaklarının ölçeğini genişletmek istediğinizde.
- Daha düşük işlem kaynaklarıyla bile yazma yoğunluklu iş yükleri için yüksek işlem günlüğü aktarım hızı kullanmak istiyorsanız.
Hiper Ölçek olmayan veritabanlarının hiper ölçek elastik havuzuna eklenmesi, veritabanlarını Hiper Ölçek hizmet katmanına dönüştürür.
Mimari
Geleneksel olarak, tek başına hiper ölçek veritabanının mimarisi üç ana bağımsız bileşenden oluşur: İşlem, Depolama ("Sayfa Sunucuları") ve günlük ("Günlük Hizmeti"). Hiper Ölçek veritabanlarınız için bir elastik havuz oluşturduğunuzda, havuz içindeki veritabanları işlem ve günlük kaynaklarını paylaşır. Ayrıca, yüksek kullanılabilirlik yapılandırmayı seçerseniz, her yüksek kullanılabilirlik havuzu eşdeğer ve bağımsız bir işlem ve günlük kaynakları kümesiyle oluşturulur.
Hiper Ölçek veritabanları için elastik havuzun mimarisi aşağıda açıklanmaktadır:
- Hiper Ölçek elastik havuzu, birincil Hiper Ölçek veritabanlarını barındıran bir birincil havuzdan ve yapılandırıldıysa en fazla dört ek yüksek kullanılabilirlik havuzundan oluşur.
- Birincil elastik havuzda barındırılan birincil Hiper Ölçek veritabanları SQL Server veritabanı altyapısı (sqlservr.exe) işlem işlemini, sanal çekirdekleri, belleği ve SSD önbelleğini paylaşır.
- Birincil havuz için yüksek kullanılabilirlik yapılandırması, birincil havuzdaki veritabanları için salt okunur veritabanı çoğaltmaları içeren ek yüksek kullanılabilirlik havuzları oluşturur. Her birincil havuzun en fazla dört yüksek kullanılabilirlik çoğaltma havuzu olabilir. Her yüksek kullanılabilirlik havuzu havuzdaki tüm ikincil salt okunur veritabanları için işlem, SSD önbelleği ve bellek kaynaklarını paylaşır.
- Birincil elastik havuzdaki hiper ölçek veritabanlarının tümü aynı günlük hizmetini paylaşır. Yüksek kullanılabilirlik havuzlarındaki veritabanlarının yazma iş yükü olmadığından günlük hizmetini kullanmaz.
- Her Hiper Ölçek veritabanının kendi sayfa sunucuları kümesi vardır ve bu sayfa sunucuları birincil havuzdaki birincil veritabanı ile yüksek kullanılabilirlik havuzundaki tüm ikincil çoğaltma veritabanları arasında paylaşılır.
- Coğrafi olarak çoğaltılan ikincil Hiper Ölçek veritabanları başka bir elastik havuza yerleştirilebilir.
- Veritabanınızda belirterek
ApplicationIntent=ReadOnly
bağlantı dizesi sizi yüksek kullanılabilirlik havuzlarından birinde salt okunur bir çoğaltma veritabanına yönlendirir.
Aşağıdaki diyagramda Hiper Ölçek veritabanları için elastik havuzun mimarisi gösterilmektedir:
Hiper Ölçek elastik havuz veritabanlarını yönetme
Havuza alınan Hiper Ölçek veritabanlarınızı diğer hizmet katmanlarında havuza alınan veritabanlarıyla yönetmek için aynı komutları kullanabilirsiniz. Hiper Ölçek elastik havuzunuzu oluştururken sürüm için belirttiğinizden Hyperscale
emin olun.
Tek fark, mevcut hiper ölçek elastik havuzu için yüksek kullanılabilirlik (H/A) çoğaltmalarının sayısını değiştirme olanağıdır. Yapmak için:
HighAvailabilityReplicaCount
Azure PowerShell Set-AzSqlElasticPool komutunun parametresini kullanın.--ha-replicas
Azure CLI az sql elastic-pool update komutunun parametresini kullanın.
Elastik havuzdaki Hiper Ölçek veritabanlarınızı yönetmek için aşağıdaki istemci araçlarını kullanabilirsiniz:
- Azure PowerShell: Az.Sql.3.11.0 veya üzeri. PowerShell AzureRM.Sql desteklenmez.
- Azure CLI: Az sürüm 2.40.0 veya üzeri.
- Ile başlayan Transact-SQL (T-SQL): SQL Server Management Studio (SSMS) v18.12.1 veya Azure Data Studio v1.39.1.
Hiper Ölçek olmayan veritabanlarını Hiper Ölçek elastik havuzlarına dönüştürme
Veritabanını Hiper Ölçek'e dönüştürürken, veritabanını mevcut bir Hiper Ölçek elastik havuzuna ekleyebilirsiniz. Bu dönüştürmeler için Hiper Ölçek elastik havuzunun kaynak veritabanıyla aynı mantıksal sunucuda bulunması gerekir.
Veritabanlarını Hiper Ölçek elastik havuzlarına dönüştürürken, Hiper Ölçek elastik havuzu başına en fazla veritabanı sayısına dikkat edin.
T-SQL kullanarak Hiper Ölçek olmayan veritabanlarını Hiper Ölçek elastik havuzlarına dönüştürme
T-SQL komutlarını kullanarak birden çok Genel Amaçlı veritabanını dönüştürebilir ve bunları adlı hsep1
mevcut bir Hiper Ölçek elastik havuzuna ekleyebilirsiniz:
ALTER DATABASE gpepdb1 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
ALTER DATABASE gpepdb2 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
ALTER DATABASE gpepdb3 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
ALTER DATABASE gpepdb4 MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL(NAME = [hsep1]))
Bu örnekte, hedefin SERVICE_OBJECTIVE
bir Hiper Ölçek elastik havuzu olduğunu belirterek örtük olarak Genel Amaçlı'dan Hiper Ölçek'e dönüştürme isteğinde bulunacaksınız. Yukarıdaki komutların her biri ilgili Genel Amaçlı veritabanını Hiper Ölçek'e dönüştürmeye başlar. Bu ALTER DATABASE
komutlar hızlı bir şekilde döner ve dönüştürmenin tamamlanmasını beklemez. Gösterilen örnekte, Genel Amaçlı'dan Hiper Ölçek'e paralel olarak çalışan dört dönüştürmeniz olacaktır.
Bu arka plan dönüştürme işlemlerinin durumunu izlemek için sys.dm_operation_status dinamik yönetim görünümünü sorgulayabilirsiniz.
PowerShell kullanarak Hiper Ölçek olmayan veritabanlarını Hiper Ölçek elastik havuzlarına dönüştürme
PowerShell komutlarını kullanarak birden çok Genel Amaçlı veritabanını dönüştürebilir ve bunları adlı hsep1
mevcut bir Hiper Ölçek elastik havuzuna ekleyebilirsiniz. Örneğin, aşağıdaki örnek betik şu adımları gerçekleştirir:
- Adlı
gpep1
Genel Amaçlı elastik havuzdaki tüm veritabanlarını listelemek için Get-AzSqlElasticPoolDatabase cmdlet'ini kullanın. - cmdlet'i
Where-Object
listeyi yalnızca ile başlayan veritabanı adlarınagpepdb
filtreler. - Her veritabanı için Set-AzSqlDatabase cmdlet'i bir dönüştürme başlatır. Bu durumda, adlı
hsep1
hedef Hiper Ölçek elastik havuzunu belirterek örtük olarak Hiper Ölçek hizmet katmanına dönüştürme isteğinde bulunursunuz.-AsJob
parametresi, isteklerinSet-AzSqlDatabase
her birinin paralel olarak çalışmasına izin verir. Dönüştürmeleri tek tek çalıştırmayı tercih ederseniz parametresini-AsJob
kaldırabilirsiniz.
$dbs = Get-AzSqlElasticPoolDatabase -ResourceGroupName "myResourceGroup" -ServerName "mylogicalserver" -ElasticPoolName "gpep1"
$dbs | Where-Object { $_.DatabaseName -like "gpepdb*" } | % { Set-AzSqlDatabase -ResourceGroupName "myResourceGroup" -ServerName "mylogicalserver" -DatabaseName ($_.DatabaseName) -ElasticPoolName "hsep1" -AsJob }
sys.dm_operation_status dinamik yönetim görünümüne ek olarak, bu arka plan dönüştürme işlemlerinin durumunu izlemek için Get-AzSqlDatabaseActivity PowerShell cmdlet'ini kullanabilirsiniz.
Kaynak sınırları
Elastik havuzlar içindeki Hiper Ölçek veritabanlarıyla çalışmak için desteklenen sınırlar aşağıda listelenmektedir:
- Desteklenen donanım oluşturma: Standart seri (5. Nesil), premium serisi ve premium serisi bellek için iyileştirilmiş.
- Havuz başına sanal çekirdek üst sınırı: Hizmet düzeyi hedeflerine bağlı olarak 80 veya 128 sanal çekirdek.
- Tek bir Hiper Ölçek veritabanı başına desteklenen maksimum veri boyutu: 100 TB.
- Havuzdaki veritabanları arasında desteklenen toplam veri boyutu üst sınırı: 100 TB.
- Veritabanı başına desteklenen işlem günlüğü aktarım hızı üst sınırı: 100 MB/sn.
- 150 MB/sn günlük oluşturma hızı, bir kabul önizleme özelliği olarak kullanılabilir. Daha fazla bilgi edinmek ve 150 MB/sn'yi kabul etmek için bkz . Blog: Kasım 2024 Hiper Ölçek geliştirmeleri.
- Havuzdaki veritabanları arasında desteklenen toplam işlem günlüğü aktarım hızı üst sınırı: 131,25 MB/saniye.
- Her Hiper Ölçek elastik havuzunun en fazla 25 veritabanı olabilir.
Daha ayrıntılı bilgi için bkz. Standart seriler, premium seriler ve premium serisi bellek için hiper ölçek elastik havuzlarının kaynak sınırları.
Sınırlamalar
Aşağıdaki sınırlamaları göz önünde bulundurun:
- Mevcut Hiper Ölçek olmayan elastik havuzu Hiper Ölçek sürümüne değiştirmek desteklenmez. Dönüştürme bölümünde kullanabileceğiniz bazı alternatifler sağlanır.
- Hiper Ölçek elastik havuzunun sürümünü Hiper Ölçek dışı bir sürüme değiştirmek desteklenmez.
- Hiper Ölçek elastik havuzunda yer alan uygun bir veritabanını "tersine geçirmek" için önce Hiper Ölçek elastik havuzundan kaldırılması gerekir. Tek başına Hiper Ölçek veritabanı daha sonra Genel Amaçlı tek başına veritabanına "ters geçirilebilir".
- Hiper Ölçek hizmet katmanı için alanlar arası yedeklilik desteği yalnızca veritabanı veya elastik havuz oluşturma sırasında belirtilebilir ve kaynak sağlandıktan sonra değiştirilemez. Daha fazla bilgi için bkz. Azure SQL Veritabanı kullanılabilirlik alanı desteğine geçirme.
- Hiper Ölçek elastik havuzuna adlandırılmış çoğaltma ekleme desteklenmez. Hiper Ölçek veritabanının adlandırılmış bir çoğaltmasını Hiper Ölçek elastik havuzuna ekleme girişimi bir
UnsupportedReplicationOperation
hatayla sonuçlanır. Bunun yerine, adlandırılmış çoğaltmayı tek bir Hiper Ölçek veritabanı olarak oluşturun.
Alanlar arası yedekli elastik havuzlarla ilgili dikkat edilmesi gerekenler
Alanlar arası yedekli Hiper Ölçek elastik havuzları için dikkat edilmesi gereken bazı noktalar şunlardır:
- Bölge yedekliliği olan Hiper Ölçek elastik havuzlarına yalnızca alanlar arası yedekli depolama yedekliliği (ZRS veya GZRS) olan veritabanları eklenebilir.
- Alanlar arası yedekli bir Hiper Ölçek elastik havuzuna eklenebilmesi için tek başına hiper ölçek veritabanının alanlar arası yedeklilik ve alanlar arası yedekli yedekleme depolaması (ZRS veya GZRS) ile oluşturulması gerekir. Alanlar arası yedekliliği olmayan Hiper Ölçek veritabanları için, alanlar arası yedeklilik seçeneğinin etkin olduğu yeni bir Hiper Ölçek veritabanına veri aktarımı gerçekleştirin. Kopya, veritabanı kopyası, belirli bir noktaya geri yükleme veya coğrafi çoğaltma kullanılarak oluşturulmalıdır. Daha fazla bilgi için bkz . Yeniden dağıtma (Hiper Ölçek).
- Hiper Ölçek veritabanını bir elastik havuzdan diğerine taşımak için, alanlar arası yedeklilik ve alanlar arası yedekli yedekleme depolama ayarları eşleşmelidir.
- Veritabanını hiper ölçek dışı başka bir hizmet katmanından alanlar arası yedekli bir Hiper Ölçek elastik havuzuna dönüştürmek için:
- Azure portalı aracılığıyla önce hem alanlar arası yedekliliği hem de alanlar arası yedekli yedekleme depolama alanını (ZRS) etkinleştirin. Ardından veritabanını alanlar arası yedekli Hiper Ölçek elastik havuzuna ekleyebilirsiniz.
- PowerShell aracılığıyla önce bölge yedekliliğini etkinleştirin. Ardından Set-AzSqlDatabase ile parametresinin
-BackupStorageRedundancy
alanlar arası yedekli yedekleme depolama alanını (ZRS veya GZRS) belirtmek için kullanıldığından emin olun.
Bilinen sorunlar
Sorun | Öneri |
---|---|
Alanlar arası yedekli Hiper Ölçek elastik havuzundan, başka bir bölgede alanlar arası yedekli olmayan hiper ölçek elastik havuzuna sahip bir yük devretme grubuna veritabanı ekleme işlemi dahili olarak başarısız olur, ancak işlem herhangi bir ilerleme olmadan çalışıyor gibi görünebilir. SSMS gibi araçları kullanırken coğrafi ikincil veritabanını görebilirsiniz, ancak coğrafi ikincil veritabanına bağlanamaz ve bu veritabanını kullanamazsınız. Yük devretme grubu, coğrafi olarak ikincil veritabanı için "%0 Tohumlama" durumunu gösterebilir. İkinci Hiper Ölçek elastik havuzu alanlar arası yedekliyse bu sorun oluşmaz. | Bu sorunu geçici olarak çözmek için Azure PowerShell kullanarak yük devretme grubunun dışında coğrafi çoğaltmayı ayarlayın ve komut satırında New-AzSqlDatabaseSecondary -ResourceGroupName "primary-rg" -ServerName "primary-server" -DatabaseName "hsdb1" -PartnerResourceGroupName "secondary-rg" -PartnerServerName "secondary-server" -AllowConnections "All" -SecondaryElasticPoolName "secondary-nonzr-pool" -BackupStorageRedundancy Local -ZoneRedundant:$false alanlar arası yedekli olmayan öğesini açıkça belirtin. Ardından veritabanını yük devretme grubuna ekleyebilirsiniz. |
Nadir durumlarda, bir Hiper Ölçek veritabanını elastik havuza taşımaya / geri yüklemeye / kopyalamaya çalışırken hatasını 45122 - This Hyperscale database cannot be added into an elastic pool at this time. In case of any questions, please contact Microsoft support alabilirsiniz. |
Bu sınırlama uygulamaya özgü ayrıntılardan kaynaklanır. Bu hata sizi engelliyorsa bir destek olayı oluşturun ve yardım isteyin. |
İlgili içerik
- Komut satırı araçlarını kullanarak Hiper Ölçek elastik havuzlarıyla çalışma
- Esnek havuz fiyatlandırması
- Azure SQL Veritabanında elastik havuz kaynaklarını ölçeklendirme
- Azure SQL Veritabanı'de elastik havuzu izlemek ve ölçeklendirmek için PowerShell kullanma
- Çok kiracılı SaaS veritabanı kiracı desenleri
- Azure SQL Veritabanı ile kiracı başına veritabanı desenini kullanan çok kiracılı bir SaaS uygulamasına giriş
- Yoğun elastik havuzlardaki kaynak yönetimi