Azure SQL yönetilen örneğini bir örnek havuzuna dağıtma

Uygulama hedefi: Azure SQL yönetilen örneği

bu makalede, örnek havuzu oluşturma ve Azure SQL yönetilen örneği dağıtma hakkında ayrıntılı bilgi verilmektedir.

Örnek havuzu işlemleri

Aşağıdaki tabloda, örnek havuzlarla ilgili kullanılabilir işlemler ve Azure portal, PowerShell ve Azure CLı kullanılabilirlikleri gösterilmektedir.

Komut Azure portal PowerShell Azure CLI
Örnek havuzu oluşturma Hayır Yes Yes
Örnek havuzunu güncelleştirme (sınırlı sayıda özellik) Hayır Yes Yes
Örnek havuzu kullanımını ve özelliklerini denetleme Hayır Yes Yes
Örnek havuzu silme Hayır Yes Yes
Örnek havuzu içinde yönetilen bir örnek oluşturma Hayır Yes Hayır
Yönetilen örnek için kaynak kullanımını güncelleştirme Yes Yes Hayır
Yönetilen örnek için kullanımı ve özellikleri denetleyin Yes Yes Hayır
Yönetilen bir örneği havuzdan silme Yes Yes Hayır
Havuzda bir örnek içinde veritabanı oluşturma Yes Yes Hayır
SQL yönetilen örneğinden bir veritabanını silme Yes Yes Hayır

powershell 'i kullanmak için powershell Core 'un en son sürümünü yükleyip Azure PowerShell modülünü yüklemekiçin yönergeleri izleyin.

Kullanılabilir PowerShell komutları:

Cmdlet Açıklama
New-Azsqlınstancepool SQL yönetilen bir örnek havuzu oluşturur.
Get-Azsqlınstancepool Örnek havuz hakkında bilgi döndürür.
Set-Azsqlınstancepool SQL yönetilen örnekteki bir örnek havuzunun özelliklerini ayarlar.
Remove-Azsqlınstancepool SQL yönetilen örnekteki bir örnek havuzunu kaldırır.
Get-Azsqlınstancepoolusage SQL yönetilen örnek havuzu kullanımı hakkındaki bilgileri döndürür.

Hem havuzların hem de tek örneklerin içindeki örneklerle ilgili işlemler için, standart yönetilen örnek komutlarınıkullanın, ancak bir havuzdaki bir örnek için bu komutlar kullanılırken örnek havuzu adı özelliği doldurulmalıdır.

Dağıtım süreci

Yönetilen bir örneği bir örnek havuzuna dağıtmak için, ilk olarak, sürenin boş bir alt ağda oluşturulan tek bir örneğidağıtmasıyla aynı olduğu zaman uzun süreli bir işlem olan örnek havuzunu dağıtmanız gerekir. Bundan sonra, tipik olarak beş dakikalık bir işlem yapan görece hızlı bir işlem olan bir yönetilen örneği havuza dağıtabilirsiniz. Örnek havuzu parametresi, bu işlemin bir parçası olarak açıkça belirtilmelidir.

Genel önizlemede, her iki eylem yalnızca PowerShell ve Azure Resource Manager şablonları kullanılarak desteklenir. Azure portal deneyimi şu anda kullanılamıyor.

Yönetilen bir örnek bir havuza dağıtıldıktan sonra, fiyatlandırma katmanı sayfasında özelliklerini değiştirmek için Azure Portal kullanabilirsiniz.

Alt ağ ile sanal ağ oluşturma

Aynı sanal ağın içine birden çok örnek havuzu yerleştirmek için aşağıdaki makalelere bakın:

Örnek havuzu oluşturma

Önceki adımları tamamladıktan sonra bir örnek havuzu oluşturmaya hazırlanın.

Aşağıdaki kısıtlamalar örnek havuzlar için geçerlidir:

  • Yalnızca Genel Amaçlı ve 5. nesil genel önizlemede kullanılabilir.
  • Havuz adı yalnızca küçük harf, sayı ve kısa çizgi içerebilir ve kısa çizgi ile başlayamaz.
  • Azure Hibrit Avantajı kullanmak istiyorsanız, örnek havuzu düzeyinde uygulanır. Havuz oluşturma sırasında lisans türünü ayarlayabilir veya oluşturulduktan sonra dilediğiniz zaman güncelleştirebilirsiniz.

Önemli

Örnek havuzu dağıtımı uzun süre çalışan ve yaklaşık 4,5 saat süren bir işlemdir.

Ağ parametrelerini almak için:

$virtualNetwork = Get-AzVirtualNetwork -Name "miPoolVirtualNetwork" -ResourceGroupName "myResourceGroup"
$subnet = Get-AzVirtualNetworkSubnetConfig -Name "miPoolSubnet" -VirtualNetwork $virtualNetwork

Örnek havuzu oluşturmak için:

$instancePool = New-AzSqlInstancePool `
  -ResourceGroupName "myResourceGroup" `
  -Name "mi-pool-name" `
  -SubnetId $subnet.Id `
  -LicenseType "LicenseIncluded" `
  -VCore 8 `
  -Edition "GeneralPurpose" `
  -ComputeGeneration "Gen5" `
  -Location "westeurope"

Önemli

Örnek havuzunu dağıtmak uzun süre çalışan bir işlem olduğundan, bu makaledeki aşağıdaki adımlardan herhangi birini çalıştırmadan önce tamamlandıktan sonra beklemelisiniz.

Yönetilen örnek oluşturma

Örnek havuzunun başarıyla dağıtımının ardından, bunun içinde bir yönetilen örnek oluşturmanın zamanı geldi.

Yönetilen örnek oluşturmak için aşağıdaki komutu yürütün:

$instanceOne = $instancePool | New-AzSqlInstance -Name "mi-one-name" -VCore 2 -StorageSizeInGB 256

Bir örneğin havuz içinde dağıtımı birkaç dakika sürer. İlk örnek oluşturulduktan sonra ek örnekler oluşturulabilir:

$instanceTwo = $instancePool | New-AzSqlInstance -Name "mi-two-name" -VCore 4 -StorageSizeInGB 512

Veritabanı oluşturma

Bir havuzun içindeki yönetilen örnekte veritabanları oluşturmak ve yönetmek için tek örnek komutlarını kullanın.

Yönetilen örneğin içinde veritabanı oluşturmak için:

$poolinstancedb = New-AzSqlInstanceDatabase -Name "mipooldb1" -InstanceName "poolmi-001" -ResourceGroupName "myResourceGroup"

Havuz kullanımını al

Bir havuz içindeki örneklerin listesini almak için:

$instancePool | Get-AzSqlInstance

Havuz kaynağı kullanımını almak için:

$instancePool | Get-AzSqlInstancePoolUsage

Havuza ve içindeki örneklere ilişkin ayrıntılı kullanım genel bakış bilgileri almak için:

$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren

Bir örnekteki veritabanlarını listeleyebilirsiniz:

$databases = Get-AzSqlInstanceDatabase -InstanceName "pool-mi-001" -ResourceGroupName "resource-group-name"

Not

Örnek havuzu başına veritabanı sayısı ve havuz içinde dağıtılan yönetilen örnek sayısı sınırlarını kontrol etmek için Örnek havuzu kaynak sınırları bölümünü ziyaret edin.

Ölçek

Yönetilen örneği veritabanlarıyla doldurmak, depolama veya performansla ilgili örnek sınırlarına isabet ediyor olabilir. Bu durumda, havuz kullanımı aşılmamışsa örneğinizi ölçeklendirebilirsiniz. Yönetilen örneği havuz içinde ölçeklendirmek, birkaç dakika sürer. Ölçeklendirme için önkoşul, örnek havuzu düzeyinde kullanılabilir sanal çekirdekler ve depolamadır.

Sanal çekirdek sayısını ve depolama boyutunu güncelleştirmek için:

$instanceOne | Set-AzSqlInstance -VCore 8 -StorageSizeInGB 512 -InstancePoolName "mi-pool-name"

Yalnızca depolama boyutunu güncelleştirmek için:

$instance | Set-AzSqlInstance -StorageSizeInGB 1024 -InstancePoolName "mi-pool-name"

Bağlan

Bir havuz içinde yönetilen bir örneğine bağlanmak için aşağıdaki iki adım gereklidir:

  1. örneği için genel uç noktayı etkinleştirin.
  2. Ağ güvenlik grubuna (NSG) bir gelen kuralı ekleyin.

Her iki adım da tamamlandıktan sonra örnek oluşturma sırasında sağlanan genel uç nokta adresini, bağlantı noktasını ve kimlik bilgilerini kullanarak örneğine bağlanabilirsiniz.

Genel uç noktayı etkinleştirme

Örnek için genel uç noktanın etkinleştirilmesi, Azure portal veya aşağıdaki PowerShell komutu kullanılarak yapılabilir:

$instanceOne | Set-AzSqlInstance -InstancePoolName "pool-mi-001" -PublicDataEndpointEnabled $true

Bu parametre, örnek oluşturma sırasında da ayar olabilir.

Ağ güvenlik grubuna bir gelen kuralı ekleme

Bu adım, Azure portal veya PowerShell komutları kullanılarak yapılabilir ve alt ağ yönetilen örnek için hazır olduktan sonra dilediğiniz zaman yapılabilir.

Ayrıntılar için bkz. Ağ güvenlik grubunda genel uç nokta trafiğine izin verme.

Mevcut tek bir örneği havuza taşıma

Örnekleri havuza taşıma ve havuzdan çıkma, genel önizleme sınırlamalarından biri. Geçici çözüm, veritabanlarının havuz dışındaki bir örnekten zaten havuzda bulunan bir örneğine geri yüklemesini kullanır.

Her iki örnek de aynı abonelikte ve bölgede yer almalı. Bölgeler arası ve abonelikler arası geri yükleme şu anda desteklenmiyor.

Bu işlem kapalı kalma süresine sahiptir.

Mevcut veritabanlarını taşımak için:

  1. İş yüklerini, başka bir yönetilen örnekte duraklatma.

  2. Sistem veritabanları oluşturmak için betikler oluşturun ve bunları örnek havuzunun içindeki örnekte yürütün.

  3. Tek örnekten havuza her veritabanının zaman içinde bir noktaya geri yüklemesini yapma.

    $resourceGroupName = "my resource group name"
    $managedInstanceName = "my managed instance name"
    $databaseName = "my source database name"
    $pointInTime = "2019-08-21T08:51:39.3882806Z"
    $targetDatabase = "name of the new database that will be created"
    $targetResourceGroupName = "resource group of instance pool"
    $targetInstanceName = "pool instance name"
    
    Restore-AzSqlInstanceDatabase -FromPointInTimeBackup `
      -ResourceGroupName $resourceGroupName `
      -InstanceName $managedInstanceName `
      -Name $databaseName `
      -PointInTime $pointInTime `
      -TargetInstanceDatabaseName $targetDatabase `
      -TargetResourceGroupName $targetResourceGroupName `
      -TargetInstanceName $targetInstanceName
    
  4. Uygulamanıza yeni örneği işaret etme ve iş yüklerini sürdürme.

Birden çok veritabanı varsa, işlemi her veritabanı için tekrarlayın.

Sonraki adımlar