SQL Server létrehozása Azure-beli virtuális gépen az Azure PowerShell használatával
A következőre vonatkozik:SQL Server azure-beli virtuális gépen
Ez az útmutató az SQL Server Azure-beli virtuális gépen (VM) való kiépítéséhez használható PowerShell-beállításokat ismerteti. Az alapértelmezett értékekre támaszkodó egyszerűsített Azure PowerShell-példaért tekintse meg az Azure-beli virtuális gépeken futó SQL Server rövid útmutatót.
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes 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 lásd az Azure PowerShell telepítését ismertető szakaszt. 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 előfizetés konfigurálása
Nyissa meg a PowerShellt, és hozzon létre hozzáférést az Azure-fiókjához az Csatlakozás-AzAccount parancs futtatásával.
Connect-AzAccount
Amikor a rendszer kéri, adja meg a hitelesítő adatait. Használja ugyanazt az e-mail-címet és jelszót, amelyet az Azure Portalra való bejelentkezéshez használ.
Képváltozók definiálása
Az értékek újrafelhasználása és a szkriptek létrehozásának egyszerűsítése érdekében először adjon meg számos változót. Módosítsa a paraméterértékeket a kívánt módon, de a megadott értékek módosításakor vegye figyelembe a névhosszokhoz és a speciális karakterekhez kapcsolódó elnevezési korlátozásokat.
Hely és erőforráscsoport
Adja meg azt az adatrégiót és erőforráscsoportot, ahol a többi virtuálisgép-erőforrást létre szeretné hozni.
Módosítsa a kívánt módon, majd futtassa ezeket a parancsmagokat a változók inicializálásához.
$Location = "SouthCentralUS"
$ResourceGroupName = "sqlvm2"
Tárolási tulajdonságok
Adja meg a tárfiókot és a virtuális gép által használandó tárterület típusát.
Módosítsa a kívánt módon, majd futtassa a következő parancsmagot a változók inicializálásához. Az éles számítási feladatokhoz prémium SSD-k használatát javasoljuk.
$StorageName = $ResourceGroupName + "storage"
$StorageSku = "Premium_LRS"
Hálózati tulajdonságok
Határozza meg a hálózat által a virtuális gépen használni kívánt tulajdonságokat.
- Hálózati adapter
- TCP/IP-foglalási módszer
- Virtuális hálózat neve
- Virtuális alhálózat neve
- A virtuális hálózat IP-címeinek tartománya
- Az alhálózat IP-címtartománya
- Nyilvános tartománynév címkéje
Módosítsa a kívánt módon, majd futtassa ezt a parancsmagot a változók inicializálásához.
$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
Virtuális gép tulajdonságai
Adja meg a következő tulajdonságokat:
- Virtuális gép neve
- Számítógép neve
- Virtuális gép mérete
- A virtuális gép operációsrendszer-lemezének neve
Módosítsa a kívánt módon, majd futtassa ezt a parancsmagot a változók inicializálásához.
$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"
SQL Server-rendszerkép kiválasztása
A virtuális géphez használandó SQL Server-rendszerkép meghatározásához használja az alábbi változókat.
Először sorolja fel az ÖSSZES SQL Server-rendszerkép-ajánlatot a
Get-AzVMImageOffer
paranccsal. Ez a parancs felsorolja az Azure Portalon elérhető aktuális lemezképeket, valamint azokat a régebbi lemezképeket is, amelyek csak a PowerShell-lel telepíthetők:Get-AzVMImageOffer -Location $Location -Publisher 'MicrosoftSQLServer'
Megjegyzés:
Az SQL Server 2008 és az SQL Server 2008 R2 nem támogatott, és már nem érhető el az Azure Marketplace-en.
Ebben az oktatóanyagban az alábbi változókkal adhatja meg az SQL Server 2022-t Windows Server 2022 rendszeren.
$OfferName = "SQL2022-WS2022" $PublisherName = "MicrosoftSQLServer" $Version = "latest"
Ezután listázhatja az ajánlathoz elérhető kiadásokat.
Get-AzVMImageSku -Location $Location -Publisher 'MicrosoftSQLServer' -Offer $OfferName | Select Skus
Ebben az oktatóanyagban használja az SQL Server 2022 Developer Editiont (SQLDEV). A Fejlesztői kiadás ingyenesen licencelve van a teszteléshez és a fejlesztéshez, és csak a virtuális gép futtatásának költségeit kell fizetnie.
$Sku = "SQLDEV"
Erőforráscsoport létrehozása
A Resource Manager üzemi modellel az első létrehozott objektum az erőforráscsoport. A New-AzResourceGroup parancsmaggal hozzon létre egy Azure-erőforráscsoportot és annak erőforrásait. Adja meg az erőforráscsoport nevének és helyének korábban inicializált változóit.
Futtassa ezt a parancsmagot az új erőforráscsoport létrehozásához.
New-AzResourceGroup -Name $ResourceGroupName -Location $Location
Tárfiók létrehozása
A virtuális géphez tárolóerőforrások szükségesek az operációs rendszer lemezéhez, valamint az SQL Server-adatokhoz és naplófájlokhoz. Az egyszerűség kedvéért egyetlen lemezt fog létrehozni mindkettőhöz. Később további lemezeket is csatolhat az Add-Azure Disk parancsmaggal az SQL Server-adatok és naplófájlok dedikált lemezekre való elhelyezéséhez. A New-AzStorageAccount parancsmaggal hozzon létre egy standard tárfiókot az új erőforráscsoportban. Adja meg a tárfiók nevéhez, a tárváltozat nevéhez és a helyhez korábban inicializált változókat.
Futtassa ezt a parancsmagot az új tárfiók létrehozásához.
$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName `
-Name $StorageName -SkuName $StorageSku `
-Kind "Storage" -Location $Location
Tipp.
A tárfiók létrehozása eltarthat néhány percig.
Hálózati erőforrások létrehozása
A virtuális géphez számos hálózati erőforrás szükséges a hálózati kapcsolathoz.
- Minden virtuális géphez virtuális hálózat szükséges.
- A virtuális hálózatnak legalább egy alhálózattal kell rendelkeznie.
- A hálózati adaptert nyilvános vagy magánhálózati IP-címmel kell definiálni.
Virtuális hálózati alhálózat konfigurációjának létrehozása
Először hozzon létre egy alhálózat-konfigurációt a virtuális hálózathoz. Ebben az oktatóanyagban hozzon létre egy alapértelmezett alhálózatot a New-AzVirtualNetworkSubnetConfig parancsmaggal. Adja meg az alhálózat nevének és címelőtagjának korábban inicializált változóit.
Megjegyzés:
A virtuális hálózat alhálózati konfigurációjának további tulajdonságait ezzel a parancsmaggal határozhatja meg, de ez nem terjed ki az oktatóanyag hatókörére.
Futtassa ezt a parancsmagot a virtuális alhálózat konfigurációjának létrehozásához.
$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix
Virtuális hálózat létrehozása
Ezután hozza létre a virtuális hálózatot az új erőforráscsoportban a New-AzVirtualNetwork parancsmaggal. Adja meg a név, hely és cím előtaghoz korábban inicializált változókat. Használja az előző lépésben definiált alhálózat-konfigurációt.
Futtassa ezt a parancsmagot a virtuális hálózat létrehozásához.
$VNet = New-AzVirtualNetwork -Name $VNetName `
-ResourceGroupName $ResourceGroupName -Location $Location `
-AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig
A nyilvános IP-cím létrehozása
A virtuális hálózat definiálása után konfigurálnia kell egy IP-címet a virtuális géphez való kapcsolódáshoz. Ebben az oktatóanyagban hozzon létre egy nyilvános IP-címet dinamikus IP-címzés használatával az internetkapcsolat támogatásához. A New-AzPublicIpAddress parancsmaggal hozza létre a nyilvános IP-címet az új erőforráscsoportban. Adja meg azokat a változókat, amelyeket korábban inicializált a névhez, a helyhez, a foglalási módszerhez és a DNS-tartománynév címkéhez.
Megjegyzés:
Ezzel a parancsmaggal további tulajdonságokat határozhat meg a nyilvános IP-címhez, de ez túlmutat a kezdeti oktatóanyag hatókörén. Létrehozhat egy privát címet vagy egy statikus címmel rendelkező címet is, de ez az oktatóanyag hatókörén kívül esik.
Futtassa ezt a parancsmagot a nyilvános IP-cím létrehozásához.
$PublicIp = New-AzPublicIpAddress -Name $InterfaceName `
-ResourceGroupName $ResourceGroupName -Location $Location `
-AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName
A hálózati biztonsági csoport létrehozása
A virtuális gép és az SQL Server forgalmának védelméhez hozzon létre egy hálózati biztonsági csoportot.
Először hozzon létre egy hálózati biztonsági csoportszabályt a távoli asztalhoz (RDP) az RDP-kapcsolatok engedélyezéséhez.
$NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow
Konfiguráljon egy hálózati biztonságicsoport-szabályt, amely engedélyezi a forgalmat az 1433-as TCP-porton. Ez lehetővé teszi az SQL Serverrel való internetkapcsolatot az interneten keresztül.
$NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule" -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow
Hozza létre a hálózati biztonsági csoportot.
$Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName ` -Location $Location -Name $NsgName ` -SecurityRules $NsgRuleRDP,$NsgRuleSQL
A hálózati adapter létrehozása
Most már készen áll a virtuális gép hálózati adapterének létrehozására. A New-AzNetworkInterface parancsmaggal hozza létre a hálózati adaptert az új erőforráscsoportban. Adja meg a korábban definiált nevet, helyet, alhálózatot és nyilvános IP-címet.
Futtassa ezt a parancsmagot a hálózati adapter létrehozásához.
$Interface = New-AzNetworkInterface -Name $InterfaceName `
-ResourceGroupName $ResourceGroupName -Location $Location `
-SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id `
-NetworkSecurityGroupId $Nsg.Id
Virtuálisgép-objektum konfigurálása
A tárolási és hálózati erőforrások definiálása után készen áll a virtuális gép számítási erőforrásainak meghatározására.
- Adja meg a virtuális gép méretét és az operációs rendszer különböző tulajdonságait.
- Adja meg a korábban létrehozott hálózati adaptert.
- Blobtároló definiálása.
- Adja meg az operációsrendszer-lemezt.
A virtuálisgép-objektum létrehozása
Először adja meg a virtuális gép méretét. Ebben az oktatóanyagban adjon meg egy DS13-at. Konfigurálható virtuálisgép-objektum létrehozásához használja a New-AzVMConfig parancsmagot. Adja meg a névhez és mérethez korábban inicializált változókat.
Futtassa ezt a parancsmagot a virtuálisgép-objektum létrehozásához.
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
Hitelesítő objektum létrehozása a helyi rendszergazdai hitelesítő adatok nevének és jelszavának tárolásához
Mielőtt beállíthatja a virtuális gép operációsrendszer-tulajdonságait, biztonságos sztringként kell megadnia a helyi rendszergazdai fiók hitelesítő adatait. Ehhez használja a Get-Credential parancsmagot.
Futtassa a következő parancsmagot. Be kell gépelnie a virtuális gép helyi rendszergazdai nevét és jelszavát a PowerShell hitelesítőadat-kérés ablakába.
$Credential = Get-Credential -Message "Type the name and password of the local administrator account."
A virtuális gép operációs rendszerének tulajdonságainak beállítása
Most már készen áll a virtuális gép operációsrendszer-tulajdonságainak beállítására a Set-AzVMOperatingSystem parancsmaggal.
- Állítsa be az operációs rendszer típusát Windowsként.
- A virtuálisgép-ügynök telepítésének megkövetelése.
- Adja meg, hogy a parancsmag engedélyezi-e az automatikus frissítést.
- Adja meg a virtuális gép nevéhez, a számítógép nevéhez és a hitelesítő adatokhoz korábban inicializált változókat.
Futtassa ezt a parancsmagot a virtuális gép operációsrendszer-tulajdonságainak beállításához.
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine `
-Windows -ComputerName $ComputerName -Credential $Credential `
-ProvisionVMAgent -EnableAutoUpdate
A hálózati adapter hozzáadása a virtuális géphez
Ezután az Add-AzVMNetworkInterface parancsmaggal adja hozzá a hálózati adaptert a korábban definiált változóval.
Futtassa ezt a parancsmagot a virtuális gép hálózati adapterének beállításához.
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id
A virtuális gép által használt lemez blobtároló helyének beállítása
Ezután állítsa be a virtuális gép lemezének blobtároló helyét a korábban definiált változókkal.
Futtassa ezt a parancsmagot a blobtároló helyének beállításához.
$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"
A virtuális gép operációsrendszer-lemeztulajdonságainak beállítása
Ezután állítsa be a virtuális gép operációsrendszer-lemeztulajdonságát a Set-AzVMOSDisk parancsmaggal.
- Adja meg, hogy a virtuális gép operációs rendszere egy rendszerképből származik-e.
- Állítsa be a gyorsítótárazást írásvédettre (mivel az SQL Server ugyanazon a lemezen van telepítve).
- Adja meg a virtuális gép nevéhez és az operációsrendszer-lemezhez korábban inicializált változókat.
Futtassa ezt a parancsmagot a virtuális gép operációsrendszer-lemeztulajdonságainak beállításához.
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name `
$OSDiskName -VhdUri $OSDiskUri -Caching ReadOnly -CreateOption FromImage
A virtuális gép platformképének megadása
Az utolsó konfigurációs lépés a virtuális gép platformrendszerképének megadása. Ebben az oktatóanyagban használja a legújabb SQL Server 2016 CTP-lemezképet. A Set-AzVMSourceImage parancsmaggal használja ezt a képet a korábban definiált változókkal.
Futtassa ezt a parancsmagot a virtuális gép platformképének megadásához.
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine `
-PublisherName $PublisherName -Offer $OfferName `
-Skus $Sku -Version $Version
Az SQL virtuális gép létrehozása
Most, hogy befejezte a konfigurációs lépéseket, készen áll a virtuális gép létrehozására. A New-AzVM parancsmaggal hozza létre a virtuális gépet a megadott változók használatával.
Tipp.
A virtuális gépek létrehozása néhány percet is igénybe vehet.
Futtassa ezt a parancsmagot a virtuális gép létrehozásához.
New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine
Létrejön a virtuális gép.
Megjegyzés:
Ha hibaüzenetet kap a rendszerindítási diagnosztika kapcsán, figyelmen kívül hagyhatja. A rendszerindítási diagnosztikához standard tárfiók jön létre, mert a virtuális gép lemezének megadott tárfiókja egy prémium szintű tárfiók.
Telepítse az SQL IaaS Agent bővítményt
Az SQL Server virtuális gépek az SQL Server IaaS-ügynökbővítménnyel támogatják az automatizált felügyeleti funkciókat. Ha regisztrálni szeretné az SQL Servert a bővítményrel, futtassa a New-AzSqlVM parancsot a virtuális gép létrehozása után. Adja meg az SQL Server virtuális gép licenctípusát, és válasszon a használatalapú fizetés vagy a saját licenc használata között az Azure Hybrid Benefit használatával. A licenceléssel kapcsolatos további információkért tekintse meg a licencelési modellt.
New-AzSqlVM -ResourceGroupName $ResourceGroupName -Name $VMName -Location $Location -LicenseType <PAYG/AHUB>
A bővítményre háromféleképpen regisztrálhat:
- Automatikusan az előfizetés összes jelenlegi és jövőbeli virtuális gépéhez
- Manuálisan egyetlen virtuális géphez
- Több virtuális gép manuális beállítása tömegesen
Virtuális gép leállítása vagy eltávolítása
Ha nincs szüksége a virtuális gép folyamatos futtatására, akkor elkerülheti a szükségtelen díjakat, ha leállítja azt, ha nincs használatban. A következő parancs leállítja a virtuális gépet, de elérhető állapotban hagyja későbbi használat céljából.
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
A Remove-AzResourceGroup paranccsal véglegesen törölheti a virtuális géphez társított összes erőforrást is. Ezzel véglegesen törli a virtuális gépet is, ezért óvatosan használja ezt a parancsot.
Példaszkript
Az alábbi szkript az oktatóanyag teljes PowerShell-szkriptét tartalmazza. Feltételezi, hogy már beállította az Azure-előfizetést az Csatlakozás-AzAccount és a Select-AzSubscription parancsokkal való használatra.
# Variables
## Global
$Location = "SouthCentralUS"
$ResourceGroupName = "sqlvm2"
## Storage
$StorageName = $ResourceGroupName + "storage"
$StorageSku = "Premium_LRS"
## Network
$InterfaceName = $ResourceGroupName + "ServerInterface"
$NsgName = $ResourceGroupName + "nsg"
$VNetName = $ResourceGroupName + "VNet"
$SubnetName = "Default"
$VNetAddressPrefix = "10.0.0.0/16"
$VNetSubnetAddressPrefix = "10.0.0.0/24"
$TCPIPAllocationMethod = "Dynamic"
$DomainName = $ResourceGroupName
##Compute
$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"
##Image
$PublisherName = "MicrosoftSQLServer"
$OfferName = "SQL2017-WS2016"
$Sku = "SQLDEV"
$Version = "latest"
# Resource Group
New-AzResourceGroup -Name $ResourceGroupName -Location $Location
# Storage
$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageName -SkuName $StorageSku -Kind "Storage" -Location $Location
# Network
$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix
$VNet = New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig
$PublicIp = New-AzPublicIpAddress -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName
$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
$Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName -Location $Location -Name $NsgName -SecurityRules $NsgRuleRDP,$NsgRuleSQL
$Interface = New-AzNetworkInterface -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id -NetworkSecurityGroupId $Nsg.Id
# Compute
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
$Credential = Get-Credential -Message "Type the name and password of the local administrator account."
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate #-TimeZone = $TimeZone
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id
$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -Caching ReadOnly -CreateOption FromImage
# Image
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName $PublisherName -Offer $OfferName -Skus $Sku -Version $Version
# Create the VM in Azure
New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine
# Add the SQL IaaS Agent Extension, and choose the license type
New-AzSqlVM -ResourceGroupName $ResourceGroupName -Name $VMName -Location $Location -LicenseType <PAYG/AHUB>
További lépések
A virtuális gép létrehozása után a következőket teheti:
- Csatlakozás a virtuális gépre RDP használatával
- Konfigurálja az SQL Server beállításait a portálon a virtuális géphez, beleértve a következőket:
- Kapcsolat konfigurálása
- ügyfelek és alkalmazások Csatlakozás az új SQL Server-példányra
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: