Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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. |
|
| Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. |
|
| Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. |
|
A jelen cikkben szereplő kód futtatása az Azure Cloud Shellben:
Indítsd el a Cloud Shell-t.
A kód másolásához kattintson a kódblokk Másolás gombjára.
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.
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 |