Megosztás a következőn keresztül:


Adatbázis hozzáadása feladatátvételi csoporthoz a PowerShell használatával

A következőkre vonatkozik:Azure SQL Database

Ez a PowerShell-példaszkript egyetlen adatbázist hoz létre az Azure SQL Database-ben, létrehoz egy feladatátvételi csoportot, hozzáadja az adatbázist, és teszteli a feladatátvételt.

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Megjegyzés

Ez a cikk az Azure Az PowerShell-modult használja, amely az Azure-ral való interakcióhoz ajánlott PowerShell-modul. Az Az PowerShell-modul használatának megkezdéséhez tekintse meg Az Azure PowerShell-telepítése című témakört. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Az Azure Cloud Shell használata

Az Azure üzemelteti az Azure Cloud Shellt, egy interaktív rendszerhéj-környezetet, amelyet a böngészőben használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Kattintson a Kipróbálás elemre egy kódblokk jobb felső sarkában. A Kipróbálás kiválasztása nem másolja automatikusan a kódot a Cloud Shellbe. Képernyőkép az Azure Cloud Shell kipróbálásának példájáról.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Képernyőkép, amely bemutatja, hogyan indítható el a Cloud Shell egy új ablakban.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Képernyőkép az Azure Portal Cloud Shell gombjáról

A jelen cikkben szereplő kód futtatása az Azure Cloud Shellben:

  1. Indítsd el a Cloud Shell-t.

  2. A kód másolásához kattintson a kódblokk Másolás gombjára.

  3. Illessze be a kódot a Cloud Shell -munkamenetbe a Windows és Linux rendszeren a Ctrl+Shift+V billentyűkombinációval, illetve a Cmd+Shift+V választásával macOS rendszeren.

  4. A kód futtatásához válassza az Enter lehetőséget.

Ha a PowerShell helyi telepítése és használata mellett dönt, ehhez az oktatóanyaghoz az Az PowerShell 1.4.0-s vagy újabb verziójára van szükség. Ha frissítenie kell, tekintse meg Az Azure PowerShell-modul telepítésecímű témakört. Ha helyileg futtatja a PowerShellt, akkor az Azure-ral való kapcsolat létrehozásához futtatnia kell a Connect-AzAccount parancsot.

Példaszkriptek

# Add a single Azure SQL Database to a failover group

# Set variables for your server and database
$subscriptionId = '<SubscriptionID>'
$randomIdentifier = $(Get-Random)
$resourceGroupName = "myResourceGroup-$randomIdentifier"
$location = "West US 2"
$adminLogin = "azureuser"
$password = "PWD27!"+(New-Guid).Guid
$serverName = "mysqlserver-$randomIdentifier"
$databaseName = "mySampleDatabase"
$drLocation = "East US 2"
$drServerName = "mysqlsecondary-$randomIdentifier"
$failoverGroupName = "failovergrouptutorial-$randomIdentifier"


# The ip address range that you want to allow to access your server 
# Leaving at 0.0.0.0 will prevent outside-of-azure connections
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"

# Show randomized variables
Write-host "Resource group name is" $resourceGroupName 
Write-host "Password is" $password  
Write-host "Server name is" $serverName 
Write-host "DR Server name is" $drServerName 
Write-host "Failover group name is" $failoverGroupName



# Set subscription ID
Set-AzContext -SubscriptionId $subscriptionId

# Create a resource group
Write-host "Creating resource group..."
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location -Tag @{Owner="SQLDB-Samples"}
$resourceGroup



# Create a server with a system wide unique server name
Write-host "Creating primary logical server..."
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
   -ServerName $serverName `
   -Location $location `
   -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
   -ArgumentList $adminLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$server

# Create a server firewall rule that allows access from the specified IP range
Write-host "Configuring firewall for primary logical server..."
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
   -ServerName $serverName `
   -FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
$serverFirewallRule

# Create General Purpose Gen5 database with 2 vCore
Write-host "Creating a gen5 2 vCore database..."
$database = New-AzSqlDatabase  -ResourceGroupName $resourceGroupName `
   -ServerName $serverName `
   -DatabaseName $databaseName `
   -Edition GeneralPurpose `
   -VCore 2 `
   -ComputeGeneration Gen5 `
   -MinimumCapacity 2 `
   -SampleName "AdventureWorksLT"
$database



# Create a secondary server in the failover region
Write-host "Creating a secondary logical server in the failover region..."
$drServer = New-AzSqlServer -ResourceGroupName $resourceGroupName `
   -ServerName $drServerName `
   -Location $drLocation `
   -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
      -ArgumentList $adminlogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$drServer



# Create a failover group between the servers
$failovergroup = Write-host "Creating a failover group between the primary and secondary server..."
New-AzSqlDatabaseFailoverGroup `
   –ResourceGroupName $resourceGroupName `
   -ServerName $serverName `
   -PartnerServerName $drServerName  `
   –FailoverGroupName $failoverGroupName `
   –FailoverPolicy Manual
$failovergroup


# Add the database to the failover group
Write-host "Adding the database to the failover group..." 
Get-AzSqlDatabase `
   -ResourceGroupName $resourceGroupName `
   -ServerName $serverName `
   -DatabaseName $databaseName | `
Add-AzSqlDatabaseToFailoverGroup `
   -ResourceGroupName $resourceGroupName `
   -ServerName $serverName `
   -FailoverGroupName $failoverGroupName
Write-host "Successfully added the database to the failover group..." 



# Check role of secondary replica
Write-host "Confirming the secondary replica is secondary...." 
(Get-AzSqlDatabaseFailoverGroup `
   -FailoverGroupName $failoverGroupName `
   -ResourceGroupName $resourceGroupName `
   -ServerName $drServerName).ReplicationRole




# Failover to secondary server
Write-host "Failing over failover group to the secondary..." 
Switch-AzSqlDatabaseFailoverGroup `
   -ResourceGroupName $resourceGroupName `
   -ServerName $drServerName `
   -FailoverGroupName $failoverGroupName
Write-host "Failed failover group successfully to" $drServerName 

Write-host "Confirming the secondary server is now primary...." 
(Get-AzSqlDatabaseFailoverGroup `
   -FailoverGroupName $failoverGroupName `
   -ResourceGroupName $resourceGroupName `
   -ServerName $drServerName).ReplicationRole



# Revert failover to primary server
Write-host "Failing over failover group to the primary...." 
Switch-AzSqlDatabaseFailoverGroup `
   -ResourceGroupName $resourceGroupName `
   -ServerName $serverName `
   -FailoverGroupName $failoverGroupName
Write-host "Failed failover group successfully back to" $serverName


# Show randomized variables
Write-host "Resource group name is" $resourceGroupName 
Write-host "Password is" $password  
Write-host "Server name is" $serverName 
Write-host "DR Server name is" $drServerName 
Write-host "Failover group name is" $failoverGroupName

# Clean up resources by removing the resource group
# Write-host "Removing resource group..."
# Remove-AzResourceGroup -ResourceGroupName $resourceGroupName
# Write-host "Resource group removed =" $resourceGroupName

A telepítés rendbetétele

Az alábbi paranccsal távolítsa el az erőforráscsoportot és a hozzá társított összes erőforrást.

Remove-AzResourceGroup -ResourceGroupName $resourceGroupName

Szkript ismertetése

Ez a szkript a következő parancsokat használja. A tábla minden parancsa parancsspecifikus dokumentációra mutat.

Parancs Jegyzetek
New-AzResourceGroup Létrehoz egy erőforráscsoportot, amelyben minden erőforrást tárol.
New-AzSqlServer Létrehoz egy kiszolgálót.
New-AzSqlServerFirewallRule Kiszolgálószintű tűzfalszabályt hoz létre egy kiszolgálóhoz.
New-AzSqlDatabase Új adatbázist hoz létre.
New-AzSqlDatabaseFailoverGroup Új feladatátvételi csoportot hoz létre.
Get-AzSqlDatabase Lekér egy vagy több adatbázist.
Add-AzSqlDatabaseToFailoverGroup (Adja hozzá az Az SQL-adatbázist a hibatűrő csoporthoz) Egy vagy több adatbázist ad hozzá egy feladatátvételi csoporthoz.
Get-AzSqlDatabaseFailoverGroup Lekérhet vagy listázhat feladatátvételi csoportokat.
Az SQL Adatbázis Átállító Csoport Kapcsolása Feladatátvételi csoport átváltását hajtja végre.
Remove-AzResourceGroup Erőforráscsoport eltávolítása