Azure SQL veritabanı örnek havuzları (Önizleme) nasıl yapılır KılavuzuAzure SQL Database instance pools (preview) how-to guide

Bu makalede, örnek havuzlarınınnasıl oluşturulacağı ve yönetileceği hakkında ayrıntılı bilgi verilmektedir.This article provides details on how to create and manage instance pools.

Örnek havuzu işlemleriInstance pool operations

Aşağıdaki tabloda, Azure portal ve PowerShell 'de örnek havuzlarla ilgili kullanılabilir işlemler ve bunların kullanılabilirlikleri gösterilmektedir.The following table shows the available operations related to instance pools and their availability in the Azure portal and PowerShell.

KomutCommand Azure portalAzure portal PowerShellPowerShell
Örnek havuzu oluşturmaCreate instance pool HayırNo EvetYes
Örnek havuzunu güncelleştir (sınırlı sayıda özellik)Update instance pool (limited number of properties) HayırNo EvetYes
Örnek havuzunun kullanımını ve özelliklerini denetlemeCheck instance pool usage and properties HayırNo EvetYes
Örnek havuzunu SilDelete instance pool HayırNo EvetYes
Örnek havuzu içinde yönetilen örnek oluşturCreate managed instance inside instance pool HayırNo EvetYes
Yönetilen örnek kaynak kullanımını GüncelleştirUpdate managed instance resource usage EvetYes EvetYes
Yönetilen örnek kullanımını ve özelliklerini denetlemeCheck managed instance usage and properties EvetYes EvetYes
Yönetilen örneği havuzdan SilDelete managed instance from the pool EvetYes EvetYes
Yönetilen örnekte havuza yerleştirilmiş bir veritabanı oluşturmaCreate a database in managed instance placed in the pool EvetYes EvetYes
Yönetilen örnekten bir veritabanını silmeDelete a database from managed instance EvetYes EvetYes

Kullanılabilir PowerShell komutlarıAvailable PowerShell commands

CmdletCmdlet AçıklamaDescription
New-AzsqlınstancepoolNew-AzSqlInstancePool Azure SQL veritabanı örnek havuzu oluşturur.Creates an Azure SQL Database instance pool.
Get-AzsqlınstancepoolGet-AzSqlInstancePool Azure SQL örnek havuzu hakkında bilgi döndürür.Returns information about Azure SQL instance pool.
Set-AzsqlınstancepoolSet-AzSqlInstancePool Bir Azure SQL veritabanı örneği havuzunun özelliklerini ayarlar.Sets properties for an Azure SQL Database instance pool.
Remove-AzsqlınstancepoolRemove-AzSqlInstancePool Bir Azure SQL veritabanı örneği havuzunu kaldırır.Removes an Azure SQL Database instance pool.
Get-AzsqlınstancepoolusageGet-AzSqlInstancePoolUsage Azure SQL örnek havuzu kullanımıyla ilgili bilgileri döndürür.Returns information about Azure SQL instance pool usage.

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.To use PowerShell, install the latest version of PowerShell Core, and follow instructions to Install the Azure PowerShell module.

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.For operations related to instances both inside pools and single instances, use the standard managed instance commands, but the instance pool name property must be populated when using these commands for an instance in a pool.

Yönetilen örnekleri havuzlara dağıtmaHow to deploy managed instances into pools

Bir havuza örnek dağıtma işlemi aşağıdaki iki adımdan oluşur:The process of deploying an instance into a pool consists of the following two steps:

  1. Tek kapalı örnek havuzu dağıtımı.One-off instance pool deployment. Bu, sürenin boş bir alt ağda oluşturulan tek bir örneğidağıtmasıyla aynı olduğu uzun süren bir işlemdir.This is a long running operation, where the duration is the same as deploying a single instance created in an empty subnet.

  2. Örnek havuzunda yinelenen örnek dağıtımı.Repetitive instance deployment in an instance pool. Örnek havuzu parametresi, bu işlemin bir parçası olarak açıkça belirtilmelidir.The instance pool parameter must be explicitly specified as part of this operation. Bu, genellikle 5 dakikaya kadar süren görece hızlı bir işlemdir.This is a relatively fast operation that typically takes up to 5 minutes.

Genel önizlemede, her iki adım yalnızca PowerShell ve Kaynak Yöneticisi şablonları kullanılarak desteklenir.In public preview, both steps are only supported using PowerShell and Resource Manager templates. Azure portal deneyimi şu anda kullanılamıyor.The Azure portal experience is not currently available.

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.After a managed instance is deployed to a pool, you can use the Azure portal to change its properties on the pricing tier page.

Örnek havuzu oluşturmaCreate an instance pool

Örnek havuzu oluşturmak için:To create an instance pool:

  1. Alt ağ içeren bir sanal ağ oluşturun.Create a virtual network with a subnet.
  2. Örnek havuzu oluşturun.Create an instance pool.

Alt ağ ile sanal ağ oluşturmaCreate a virtual network with a subnet

Aynı sanal ağın içine birden çok örnek havuzu yerleştirmek için aşağıdaki makalelere bakın:To place multiple instance pools inside the same virtual network, see the following articles:

Örnek havuzu oluşturmaCreate an instance pool

Önceki adımları tamamladıktan sonra bir örnek havuzu oluşturmaya hazırlanın.After completing the previous steps, you are ready to create an instance pool.

Aşağıdaki kısıtlamalar örnek havuzlar için geçerlidir:The following restrictions apply to instance pools:

  • Yalnızca Genel Amaçlı ve 5. nesil genel önizlemede kullanılabilir.Only General Purpose and Gen5 are available in public preview.
  • Havuz adı yalnızca küçük harf, rakam ve kısa çizgi içerebilir ve kısa çizgi ile başlayamaz.Pool name can contain only lowercase, numbers and hyphen, and can't start with a hyphen.
  • Alt ağ KIMLIĞINI almak için Get-AzVirtualNetworkSubnetConfig -Name "miPoolSubnet" -VirtualNetwork $virtualNetworkkullanın.To get the subnet ID, use Get-AzVirtualNetworkSubnetConfig -Name "miPoolSubnet" -VirtualNetwork $virtualNetwork.
  • AHB 'yi (Azure Hibrit Avantajı) kullanmak istiyorsanız, örnek havuzu düzeyinde uygulanır.If you want to use AHB (Azure Hybrid Benefit), it is applied at the instance pool level. Havuz oluşturma sırasında lisans türünü ayarlayabilir veya oluşturulduktan sonra dilediğiniz zaman güncelleştirebilirsiniz.You can set the license type during pool creation or update it anytime after creation.

Önemli

Örnek havuzun dağıtımı, yaklaşık 4,5 saat süren uzun süredir çalışan bir işlemdir.Deploying an instance pool is a long running operation that takes approximately 4.5 hours.

Örnek havuzu oluşturmak için:To create an instance pool:

$instancePool = New-AzSqlInstancePool `
  -ResourceGroupName "myResourceGroup" `
  -Name "mi-pool-name" `
  -SubnetId "/subscriptions/subscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/miPoolVirtualNetwork/subnets/miPoolSubnet" `
  -LicenseType "LicenseIncluded" `
  -VCore 80 `
  -Edition "GeneralPurpose" `
  -ComputeGeneration "Gen5" `
  -Location "westeurope"

Önemli

Örnek havuzu dağıtmak uzun süredir çalışan bir işlem olduğundan, bu makalede aşağıdaki adımlardan herhangi birini çalıştırmadan önce tamamlanana kadar beklemeniz gerekir.Because deploying an instance pool is a long running operation, you need to wait until it completes before running any of the following steps in this article.

Havuz içinde yönetilen bir örnek oluşturmaCreate a managed instance inside the pool

Örnek havuzunun başarılı dağıtımından sonra, bunun içinde bir örnek oluşturma zamanı vardır.After the successful deployment of the instance pool, it's time to create an instance inside it.

Yönetilen bir örnek oluşturmak için aşağıdaki komutu yürütün:To create a managed instance, execute the following command:

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

Bir havuzun içindeki bir örneği dağıtmak birkaç dakika sürer.Deploying an instance inside a pool takes a couple of minutes. İlk örnek oluşturulduktan sonra, ek örnekler oluşturulabilir:After the first instance has been created, additional instances can be created:

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

Örnek içinde veritabanı oluşturmaCreate a database inside an instance

Bir havuz içindeki yönetilen bir örnekte veritabanları oluşturup yönetmek için tek örnek komutlarını kullanın.To create and manage databases in a managed instance that's inside a pool, use the single instance commands.

Yönetilen bir örnek içinde veritabanı oluşturmak için:To create a database inside a managed instance:

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

Örnek havuzu kullanımını alGet instance pool usage

Bir havuzun içindeki örneklerin listesini almak için:To get a list of instances inside a pool:

$instancePool | Get-AzSqlInstance

Havuz kaynağı kullanımını almak için:To get pool resource usage:

$instancePool | Get-AzSqlInstancePoolUsage

İçindeki havuza ve örneklere ilişkin ayrıntılı kullanım hakkında genel bakış almak için:To get detailed usage overview of the pool and instances inside it:

$instancePool | Get-AzSqlInstancePoolUsage –ExpandChildren

Bir örnekteki veritabanlarını listelemek için:To list the databases in an instance:

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

Not

Havuz başına 100 veritabanı sınırı vardır (örnek başına değil).There is a limit of 100 databases per pool (not per instance).

Bir havuz içinde yönetilen örneği ölçeklendirmeScale a managed instance inside a pool

Yönetilen bir örneği veritabanlarıyla doldurduktan sonra, depolama veya performansla ilgili örnek sınırlarına ulaşırsınız.After populating a managed instance with databases, you may hit instance limits regarding storage or performance. Bu durumda, havuz kullanımı aşılmışsa, örneğinizi ölçeklendirebilirsiniz.In that case, if pool usage has not been exceeded, you can scale your instance. Bir havuz içinde yönetilen bir örneğin ölçeklendirilmesi, birkaç dakika süren bir işlemdir.Scaling a managed instance inside a pool is an operation that takes a couple of minutes. Ölçeklendirme için önkoşul, örnek havuzu düzeyindeki sanal çekirdekler ve depolama alanı ile kullanılabilir.The prerequisite for scaling is available vCores and storage on the instance pool level.

Sanal çekirdek sayısını ve depolama boyutunu güncelleştirmek için:To update the number of vCores and storage size:

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

Yalnızca depolama boyutunu güncelleştirmek için:To update storage size only:

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

Bir havuz içinde yönetilen bir örneğe bağlanmaConnect to a managed instance inside a pool

Bir havuzdaki yönetilen bir örneğe bağlanmak için aşağıdaki iki adım gereklidir:To connect to a managed instance in a pool, the following two steps are required:

  1. Örnek için genel uç noktasını etkinleştirin.Enable the public endpoint for the instance.
  2. Ağ güvenlik grubuna (NSG) bir gelen kuralı ekleyin.Add an inbound rule to the network security group (NSG).

Her iki adım tamamlandıktan sonra, örnek oluşturma sırasında sağlanmış olan genel bir uç nokta adresini, bağlantı noktasını ve kimlik bilgilerini kullanarak örneğe bağlanabilirsiniz.After both steps are complete, you can connect to the instance by using a public endpoint address, port, and credentials provided during instance creation.

Örnek için genel uç noktayı etkinleştirmeEnable the public endpoint for the instance

Bir örnek için genel bitiş noktasının etkinleştirilmesi Azure portal aracılığıyla veya aşağıdaki PowerShell komutu kullanılarak yapılabilir:Enabling the public endpoint for an instance can be done through the Azure portal or by using the following PowerShell command:

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

Bu parametre, örnek oluşturma sırasında da ayarlanabilir.This parameter can be set during instance creation as well.

Ağ güvenlik grubuna bir gelen kuralı eklemeAdd an inbound rule to the network security group

Bu adım Azure portal veya PowerShell komutları kullanılarak yapılabilir ve alt ağ yönetilen örnek için hazırlandıktan sonra herhangi bir zamanda yapılabilir.This step can be done through the Azure portal or using PowerShell commands, and can be done anytime after the subnet is prepared for the managed instance.

Ayrıntılar için bkz. ağ güvenlik grubunda genel uç nokta trafiğine Izin verme.For details, see Allow public endpoint traffic on the network security group.

Bir örnek havuzunun içindeki mevcut bir örneği taşıyınMove an existing single instance inside an instance pool

Örnekleri bir havuzun içine ve dışına taşımak, genel önizleme sınırlamalarından biridir.Moving instances in and out of a pool is one of the public preview limitations. Kullanılabilecek bir geçici çözüm, havuzun dışındaki bir örnekten bir havuzda bulunan bir örnekten veritabanlarının zaman içindeki bir noktaya geri yüklemesini temel alır.A workaround that can be used relies on point-in-time restore of databases from an instance outside a pool to an instance that's already in a pool.

Her iki örnek de aynı abonelikte ve bölgede olmalıdır.Both instances must be in the same subscription and region. Bölgeler arası ve çapraz abonelik geri yüklemesi şu anda desteklenmiyor.Cross-region and cross-subscription restore is not currently supported.

Bu işlem bir süre kapalı kalma süresine sahip olur.This process does have a period of downtime.

Mevcut veritabanlarını taşımak için:To move existing databases:

  1. Geçiş yaptığınız yönetilen örnekteki iş yüklerini duraklatın.Pause workloads on the managed instance you are migrating from.

  2. Sistem veritabanları oluşturmak ve bunları örnek havuzunun içindeki örnekte yürütmek için komut dosyaları oluşturun.Generate scripts to create system databases and execute them on the instance that's inside the instance pool.

  3. Her bir veritabanının tek örneğinden havuzdaki örneğe bir noktadan noktaya geri yükleme yapın.Do a point-in-time restore of each database from the single instance to the instance in the pool.

    $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ızı yeni örneğe getirin ve iş yüklerinin yeniden sürdürülemez.Point your application to the new instance and resume it's workloads.

Birden çok veritabanı varsa, her veritabanı için işlemi yineleyin.If there are multiple databases, repeat the process for each database.

Sonraki adımlarNext steps