Průvodce vytvořením virtuálního počítače s SQL Serverem pomocí PowerShellu
Platí pro: SQL Server na virtuálním počítači Azure
Tato příručka popisuje možnosti použití PowerShellu k vytvoření SQL Serveru na virtuálním počítači Azure. Zjednodušený příklad Azure PowerShellu, který spoléhá na výchozí hodnoty, najdete v rychlém startu PowerShellu pro SQL Server na virtuálním počítači Azure nebo kompletní skript v tématu Vytvoření virtuálního počítače s SQL Serverem pomocí skriptu PowerShellu.
Požadavky
K dokončení této příručky byste měli mít následující:
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Nejnovější verze Azure PowerShellu
Poznámka:
Tento článek používá modul Azure Az PowerShell, což je doporučený modul PowerShellu pro interakci s Azure. Pokud chcete začít s modulem Az PowerShell, projděte si téma věnované instalaci Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.
Definování proměnných
Pokud chcete znovu použít hodnoty a zjednodušit vytváření skriptu, začněte definováním řady proměnných. Změňte hodnoty parametrů podle potřeby, ale mějte na paměti omezení pojmenování související s délkami názvů a speciálními znaky při úpravě zadaných hodnot.
Začněte definováním parametrů, které se mají použít v celém skriptu, jako je umístění, název skupiny prostředků, image SQL Serveru a účet úložiště, který chcete použít, a také vlastnosti sítě a virtuálního počítače.
Umístění a skupina prostředků
Definujte oblast dat, skupinu prostředků a předplatné, do kterého chcete vytvořit virtuální počítač s SQL Serverem a přidružené prostředky.
Upravte podle potřeby a pak tyto rutiny spusťte, aby se tyto proměnné inicializovaly.
$SubscriptionId = "<Enter Subscription ID>"
$Location = "<Enter Location>"
$ResourceGroupName = "<Enter Resource Group Name>"
$userName = "<Enter User Name for the virtual machine"
Vlastnosti úložiště
Definujte účet úložiště a typ úložiště, který má virtuální počítač používat.
Upravte podle potřeby a potom spuštěním následující rutiny inicializujete tyto proměnné. Pro produkční úlohy doporučujeme používat disky SSD úrovně Premium.
$StorageName = "sqlvm" + "storage"
$StorageSku = "Premium_LRS"
Poznámka:
Název účtu úložiště musí mít délku 3 až 24 znaků a používat jenom číslice a malá písmena, proto se ujistěte, že název skupiny prostředků neobsahuje žádné speciální znaky, nebo upravte název účtu úložiště tak, aby používal jiný název než $ResourceGroupName.
Vlastnosti sítě
Definujte vlastnosti, které má síť používat ve virtuálním počítači.
- Síťové rozhraní
- Metoda přidělování protokolu TCP/IP
- Název virtuální sítě
- Název virtuální podsítě
- Rozsah IP adres pro virtuální síť
- Rozsah IP adres pro podsíť
- Popisek názvu veřejné domény
Upravte podle potřeby a pak spusťte tuto rutinu pro inicializaci těchto proměnných.
$InterfaceName = $ResourceGroupName + "ServerInterface"
$NsgName = $ResourceGroupName + "nsg"
$TCPIPAllocationMethod = "Dynamic"
$VNetName = $ResourceGroupName + "VNet"
$SubnetName = "Default"
$VNetAddressPrefix = "10.0.0.0/16"
$VNetSubnetAddressPrefix = "10.0.0.0/24"
$DomainName = $ResourceGroupName
Vlastnosti virtuálního počítače
Definujte následující vlastnosti:
- Virtual machine name
- Název počítače
- Velikost virtuálního počítače
- Název disku operačního systému pro virtuální počítač
Upravte podle potřeby a pak spusťte tuto rutinu pro inicializaci těchto proměnných.
$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"
Volba image SQL Serveru
Pomocí PowerShellu je možné nasadit starší image SQL Serveru, která není dostupná na webu Azure Portal.
Pomocí následujících proměnných definujte image SQL Serveru, která se má použít pro virtuální počítač.
Seznam všech nabídek imagí SQL Serveru pomocí příkazu Get-AzVMImageOffer pro výpis aktuálních dostupných imagí na webu Azure Portal a starších imagí, které můžete nasadit jenom pomocí PowerShellu:
Get-AzVMImageOffer -Location $Location -Publisher 'MicrosoftSQLServer'
Poznámka:
SQL Server 2008 a SQL Server 2008 R2 nejsou rozšířené podpory a z Azure Marketplace už nejsou dostupné.
Uveďte seznam dostupných edicí nabídky pomocí rutiny Get-AzVMImageSku.
Get-AzVMImageSku -Location $Location -Publisher 'MicrosoftSQLServer' -Offer $OfferName | Select Skus
Pro účely tohoto kurzu použijte SQL Server 2022 Developer Edition (SQLDEV-GEN2) v systému Windows Server 2022. Edice Developer je volně licencovaná pro testování a vývoj a platíte jenom za náklady na provoz virtuálního počítače:
$OfferName = "SQL2022-WS2022"
$PublisherName = "MicrosoftSQLServer"
$Version = "latest"
$Sku = "SQLDEV-GEN2"
$License = 'PAYG'
# Define a credential object
$SecurePassword = ConvertTo-SecureString '<strong password>' `
-AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
Vytvoření skupiny zdrojů
Otevřete PowerShell a nastavte přístup k účtu Azure spuštěním příkazu Connect-AzAccount a nastavte kontext předplatného pomocí Set-AzContext. Po výzvě zadejte své přihlašovací údaje. Použijte stejný e-mail a heslo, pomocí kterých se přihlašujete na webu Azure Portal.
Po vytvoření kontextu předplatného je prvním objektem, který vytvoříte, skupina prostředků. Pomocí příkazu Connect-AzAccount se připojte k Azure a nastavte kontext předplatného pomocí Set-AzContext. Pomocí rutiny New-AzResourceGroup vytvořte skupinu prostředků Azure a její prostředky. Zadejte proměnné, které jste dříve inicializovali pro název a umístění skupiny prostředků.
Spuštěním této rutiny se připojte k Azure, vytvořte kontext předplatného a vytvořte novou skupinu prostředků:
# Set subscription context
Connect-AzAccount
$subscriptionContextParams = @{
SubscriptionId = $SubscriptionId
}
Set-AzContext @subscriptionContextParams
# Create a resource group
$resourceGroupParams = @{
Name = $resourceGroupName
Location = $Location
Tag = @{Owner="SQLDocs-Samples"}
}
$resourceGroup = New-AzResourceGroup @resourceGroupParams
Vytvoření účtu úložiště
Virtuální počítač vyžaduje prostředky úložiště pro disk operačního systému a pro data a soubory protokolů SQL Serveru. Pro zjednodušení vytvoříte jeden disk pro oba. Později můžete pomocí rutiny Add-Azure Disk připojit další disky k umístění dat SQL Serveru a souborů protokolů na vyhrazené disky. Pomocí rutiny New-AzStorageAccount vytvořte ve své nové skupině prostředků účet úložiště úrovně Standard. Zadejte proměnné, které jste dříve inicializovali pro název účtu úložiště, název skladové položky úložiště a umístění.
Spuštěním této rutiny vytvořte nový účet úložiště:
# Create storage account
$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName `
-Name $StorageName -SkuName $StorageSku `
-Kind "Storage" -Location $Location
Tip
Vytvoření účtu úložiště může trvat několik minut.
Vytvoření síťových prostředků
Virtuální počítač vyžaduje pro připojení k síti řadu síťových prostředků.
- Každý virtuální počítač vyžaduje virtuální síť.
- Virtuální síť musí mít definovanou alespoň jednu podsíť.
- Síťové rozhraní musí být definováno veřejnou nebo privátní IP adresou.
Vytvoření konfigurace podsítě virtuální sítě
Začněte vytvořením konfigurace podsítě pro vaši virtuální síť. Pro účely tohoto kurzu vytvořte výchozí podsíť pomocí rutiny New-AzVirtualNetworkSubnetConfig . Zadejte proměnné, které jste dříve inicializovali pro název podsítě a předponu adresy.
Poznámka:
Pomocí této rutiny můžete definovat další vlastnosti konfigurace podsítě virtuální sítě, ale to je nad rámec tohoto kurzu.
Spuštěním této rutiny vytvořte konfiguraci virtuální podsítě.
# Create a subnet configuration
$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix
Vytvoření virtuální sítě
Dále vytvořte virtuální síť v nové skupině prostředků pomocí rutiny New-AzVirtualNetwork . Zadejte proměnné, které jste dříve inicializovali pro název, umístění a předponu adresy. Použijte konfiguraci podsítě, kterou jste definovali v předchozím kroku.
Spuštěním této rutiny vytvořte virtuální síť:
# Create a virtual network
$VNet = New-AzVirtualNetwork -Name $VNetName `
-ResourceGroupName $ResourceGroupName -Location $Location `
-AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig
Vytvoření veřejné IP adresy
Teď, když je vaše virtuální síť definovaná, musíte nakonfigurovat IP adresu pro připojení k virtuálnímu počítači. Pro účely tohoto kurzu vytvořte veřejnou IP adresu pomocí dynamického přidělování IP adres pro podporu připojení k internetu. Pomocí rutiny New-AzPublicIpAddress vytvořte veřejnou IP adresu v nové skupině prostředků. Zadejte proměnné, které jste dříve inicializovali pro název, umístění, metodu přidělování a popisek názvu domény DNS.
Poznámka:
Pomocí této rutiny můžete definovat další vlastnosti veřejné IP adresy, ale to je nad rámec tohoto počátečního kurzu. Můžete také vytvořit privátní adresu nebo adresu se statickou adresou, ale to je také nad rámec tohoto kurzu.
Spuštěním této rutiny vytvořte veřejnou IP adresu.
# Create a public IP address
$PublicIp = New-AzPublicIpAddress -Name $InterfaceName `
-ResourceGroupName $ResourceGroupName -Location $Location `
-AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName
Vytvoření skupiny zabezpečení sítě
Pokud chcete zabezpečit provoz virtuálního počítače a SQL Serveru, vytvořte skupinu zabezpečení sítě.
Pomocí rutiny New-AzNetworkSecurityRuleConfig vytvořte dvě pravidla skupiny zabezpečení sítě, což je pravidlo pro vzdálenou plochu (RDP), které povolí připojení RDP, a pravidlo, které povoluje provoz na portu TCP 1433. To umožňuje připojení k SQL Serveru přes internet.
# Create a network security group rule $NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow $NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule" -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow
Vytvořte skupinu zabezpečení sítě pomocí rutiny New-AzNetworkSecurityGroup.
# Create a network security group $Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName ` -Location $Location -Name $NsgName ` -SecurityRules $NsgRuleRDP,$NsgRuleSQL
Vytvoření síťového rozhraní
Teď jste připraveni vytvořit síťové rozhraní pro virtuální počítač. K vytvoření síťového rozhraní v nové skupině prostředků použijte rutinu New-AzNetworkInterface . Zadejte dříve definovaný název, umístění, podsíť a veřejnou IP adresu.
Spuštěním této rutiny vytvořte síťové rozhraní.
# Create a network interface
$Interface = New-AzNetworkInterface -Name $InterfaceName `
-ResourceGroupName $ResourceGroupName -Location $Location `
-SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id `
-NetworkSecurityGroupId $Nsg.Id
Konfigurace objektu virtuálního počítače
Teď, když jsou definované prostředky úložiště a sítě, jste připraveni definovat výpočetní prostředky pro virtuální počítač.
- Zadejte velikost virtuálního počítače a různé vlastnosti operačního systému.
- Zadejte síťové rozhraní, které jste vytvořili dříve.
- Definujte úložiště objektů blob.
- Zadejte disk operačního systému.
Vytvoření virtuálního počítače s SQL Serverem
Pokud chcete vytvořit virtuální počítač s SQL Serverem, nejprve vytvořte objekt přihlašovacích údajů a pak vytvořte virtuální počítač.
Vytvoření objektu přihlašovacích údajů pro uložení jména a hesla pro přihlašovací údaje místního správce
Než budete moct nastavit vlastnosti operačního systému pro virtuální počítač, musíte zadat přihlašovací údaje pro účet místního správce jako zabezpečený řetězec. K tomu použijte rutinu Get-Credential .
Spusťte následující rutinu. Do okna žádosti o přihlašovací údaje PowerShellu budete muset zadat jméno a heslo místního správce virtuálního počítače.
# Define a credential object
$SecurePassword = ConvertTo-SecureString '<strong password>' `
-AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
Definování vlastností a vytvoření virtuálního počítače
Teď jste připraveni nastavit vlastnosti operačního systému virtuálního počítače pomocí rutiny New-AzVMConfig, vytvořit virtuální počítač pomocí rutiny New-AzVMNetworkInterface a pomocí rutiny Add-AzVMNetworkInterface přidat síťové rozhraní pomocí proměnné, kterou jste definovali dříve.
Ukázkový skript provede následující akce:
- Vyžaduje instalaci agenta virtuálního počítače.
- Určuje, že rutina povolí automatickou aktualizaci.
- Určuje proměnné, které jste dříve inicializovali pro název virtuálního počítače, název počítače a přihlašovací údaje.
Spuštěním této rutiny nastavte vlastnosti operačního systému pro váš virtuální počítač.
# Create a virtual machine configuration
$VMName = $ResourceGroupName + "VM"
$VMConfig = New-AzVMConfig -VMName $VMName -VMSize $VMSize |
Set-AzVMOperatingSystem -Windows -ComputerName $VMName -Credential $Cred -ProvisionVMAgent -EnableAutoUpdate |
Set-AzVMSourceImage -PublisherName $PublisherName -Offer $OfferName -Skus $Sku -Version $Version |
Add-AzVMNetworkInterface -Id $Interface.Id
# Create the VM
New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VMConfig
Vytvoří se virtuální počítač.
Poznámka:
Pokud se zobrazí chyba týkající se diagnostiky spouštění, můžete ji ignorovat. Pro diagnostiku spouštění se vytvoří účet úložiště úrovně Standard, protože zadaný účet úložiště pro disk virtuálního počítače je účet úložiště úrovně Premium.
Nainstalujte rozšíření agenta SQL IaaS.
Virtuální počítače s SQL Serverem podporují funkce automatizované správy s rozšířením agenta SQL Server IaaS. Pokud chcete zaregistrovat SQL Server s rozšířením, spusťte po vytvoření virtuálního počítače příkaz New-AzSqlVM . Zadejte typ licence pro virtuální počítač s SQL Serverem a zvolte mezi průběžným platbou (PAYG
), přineste si vlastní licenci prostřednictvím Zvýhodněné hybridní využití Azure (), zotavení po havárii (DR
AHUB
) a aktivujte bezplatnou licenci repliky zotavení po havárii. Další informace o licencování najdete v tématu licenční model.
Pokud chcete zaregistrovat virtuální počítač s SQL Serverem s rozšířením agenta SQL IaaS, nejprve zaregistrujte své předplatné u poskytovatele prostředků pomocí Register-AzResourceProvider a pak pomocí rutiny New-AzSqlVM zaregistrujte virtuální počítač s SQL Serverem pomocí rozšíření agenta SQL IaaS:
# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine
# Register SQL Server VM with the extension
New-AzSqlVM -Name $VMName -ResourceGroupName $ResourceGroupName -Location $Location `
-LicenseType $License
Existují tři způsoby registrace rozšíření:
- Automaticky pro všechny aktuální a budoucí virtuální počítače v předplatném
- Ručně pro jeden virtuální počítač
- Ručně pro více virtuálních počítačů hromadně
Zastavení nebo odebrání virtuálního počítače
Pokud virtuální počítač nepotřebujete, aby běžel nepřetržitě, můžete se vyhnout zbytečným poplatkům tím, že ho zastavíte, když se nepoužívá. Následující příkaz zastaví virtuální počítač, ale ponechá ho k dispozici pro budoucí použití.
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
Všechny prostředky přidružené k virtuálnímu počítači můžete také trvale odstranit pomocí příkazu Remove-AzResourceGroup. Tím se trvale odstraní i virtuální počítač, takže tento příkaz používejte opatrně.
Celý skript
Úplný skript PowerShellu, který poskytuje kompletní prostředí, najdete v tématu Nasazení SQL Serveru na virtuálním počítači Azure pomocí PowerShellu.
Související obsah
Po vytvoření virtuálního počítače můžete:
- Připojení k virtuálnímu počítači pomocí protokolu RDP
- Konfigurace nastavení SQL Serveru na portálu pro virtuální počítač, včetně:
- Konfigurace připojení
- Připojení klientů a aplikací k nové instanci SQL Serveru