Schnellstart: Erstellen einer verwalteten Instanz mit Azure PowerShell

In diesem Schnellstart erstellen Sie eine Instanz von Azure SQL Managed Instance mithilfe von Azure PowerShell.

Voraussetzung

Festlegen von Variablen

Zum Erstellen einer verwalteten SQL-Instanz müssen mehrere Ressourcen in Azure erstellt werden. Daher werden zur Vereinfachung der Benutzererfahrung bei den Azure PowerShell-Befehlen Variablen verwendet. Definieren Sie die Variablen, und führen Sie dann die Cmdlets in jedem Abschnitt innerhalb derselben PowerShell-Sitzung aus.

$NSnetworkModels = "Microsoft.Azure.Commands.Network.Models"
$NScollections = "System.Collections.Generic"
# The SubscriptionId in which to create these objects
$SubscriptionId = ''
# Set the resource group name and location for your managed instance
$resourceGroupName = "myResourceGroup-$(Get-Random)"
$location = "eastus2"
# Set the networking values for your managed instance
$vNetName = "myVnet-$(Get-Random)"
$vNetAddressPrefix = "10.0.0.0/16"
$miSubnetName = "myMISubnet-$(Get-Random)"
$miSubnetAddressPrefix = "10.0.0.0/24"
#Set the managed instance name for the new managed instance
$instanceName = "myMIName-$(Get-Random)"
# Set the admin login and password for your managed instance
$miAdminSqlLogin = "SqlAdmin"
$miAdminSqlPassword = "ChangeYourAdminPassword1"
# Set the managed instance service tier, compute level, and license mode
$edition = "General Purpose"
$vCores = 4
$maxStorage = 128
$computeGeneration = "Gen5"
$license = "LicenseIncluded" #"BasePrice" or LicenseIncluded if you have don't have SQL Server license that can be used for AHB discount

Ressourcengruppe erstellen

Stellen Sie zunächst eine Verbindung mit Azure her, legen Sie Ihren Abonnementkontext fest, und erstellen Sie Ihre Ressourcengruppe.

Führen Sie dazu das folgende PowerShell-Skript aus:


## Connect to Azure
Connect-AzAccount

# Set subscription context
Set-AzContext -SubscriptionId $SubscriptionId 

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

Konfigurieren der Netzwerkeinstellungen

Nachdem Ihre Ressourcengruppe erstellt wurde, konfigurieren Sie die Netzwerkressourcen, wie z. B. das virtuelle Netzwerk, Subnetze, die Netzwerksicherheitsgruppe und die Routingtabelle. In diesem Beispiel wird die Verwendung des Skripts für das Delegatsubnetz für die Bereitstellung von Managed Instance veranschaulicht, das auf GitHub als Datei delegate-subnet.ps1 verfügbar ist.

Führen Sie dazu das folgende PowerShell-Skript aus:


# Configure virtual network, subnets, network security group, and routing table
$virtualNetwork = New-AzVirtualNetwork `
                      -ResourceGroupName $resourceGroupName `
                      -Location $location `
                      -Name $vNetName `
                      -AddressPrefix $vNetAddressPrefix

                  Add-AzVirtualNetworkSubnetConfig `
                      -Name $miSubnetName `
                      -VirtualNetwork $virtualNetwork `
                      -AddressPrefix $miSubnetAddressPrefix |
                  Set-AzVirtualNetwork
                  
$scriptUrlBase = 'https://raw.githubusercontent.com/Microsoft/sql-server-samples/master/samples/manage/azure-sql-db-managed-instance/delegate-subnet'

$parameters = @{
    subscriptionId = $SubscriptionId
    resourceGroupName = $resourceGroupName
    virtualNetworkName = $vNetName
    subnetName = $miSubnetName
    }

Invoke-Command -ScriptBlock ([Scriptblock]::Create((iwr ($scriptUrlBase+'/delegateSubnet.ps1?t='+ [DateTime]::Now.Ticks)).Content)) -ArgumentList $parameters

$virtualNetwork = Get-AzVirtualNetwork -Name $vNetName -ResourceGroupName $resourceGroupName
$miSubnet = Get-AzVirtualNetworkSubnetConfig -Name $miSubnetName -VirtualNetwork $virtualNetwork
$miSubnetConfigId = $miSubnet.Id

Erstellen einer verwalteten Instanz

Für mehr Sicherheit erstellen Sie ein komplexes und zufälliges Kennwort für die Anmeldeinformationen Ihrer Instanz von SQL Managed Instance:

# Create credentials
$secpassword = ConvertTo-SecureString $miAdminSqlPassword -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($miAdminSqlLogin, $secpassword)

Erstellen Sie dann Ihre Instanz von SQL Managed Instance:

# Create managed instance
New-AzSqlInstance -Name $instanceName `
                      -ResourceGroupName $resourceGroupName -Location $location -SubnetId $miSubnetConfigId `
                      -AdministratorCredential $credential `
                      -StorageSizeInGB $maxStorage -VCore $vCores -Edition $edition `
                      -ComputeGeneration $computeGeneration -LicenseType $license

Dieser Vorgang dauert möglicherweise etwas länger. Weitere Informationen finden Sie unter Verwaltungsvorgänge.

Bereinigen von Ressourcen

Behalten Sie die Ressourcengruppe und die verwaltete Instanz bei, um mit den nächsten Schritten fortzufahren, in denen Sie erfahren, wie Sie mithilfe einer Client-VM eine Verbindung mit Ihrer Instanz von SQL Managed Instance herstellen.

Wenn Sie die Verwendung dieser Ressourcen beendet haben, können Sie die erstellte Ressourcengruppe löschen. Hierbei werden auch der Server und die darin enthaltene Einzeldatenbank gelöscht.

# Clean up deployment 
Remove-AzResourceGroup -ResourceGroupName $resourceGroupName

Nächste Schritte

Nachdem Ihre Instanz von SQL Managed Instance erstellt wurde, stellen Sie eine Client-VM bereit, um eine Verbindung mit Ihrer verwalteten SQL-Instanz herzustellen und eine Beispieldatenbank wiederherzustellen.