快速入門:使用 PowerShell 在 Azure VM 上建立 SQL Server
本快速入門逐步說明使用 Azure PowerShell 在 Azure 虛擬機器 (VM) 建立 Windows SQL Server 的方式。
提示
- 本快速入門提供快速佈建及連線 SQL Server 的途徑。 如需建立 SQL Server VM 之其他 Azure PowerShell 選項的詳細資訊,請參閱使用 Azure PowerShell 佈建 SQL Server VM 的指南。
- 如果您有 SQL Server 虛擬機器的相關問題,請參閱常見問題集。
必要條件
若要完成本快速入門,您應該具備下列專案:
- Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶。
- 最新版本的 Azure PowerShell
注意
本文使用 Azure Az PowerShell 模組,這是與 Azure 互動時建議使用的 PowerShell 模組。 若要開始使用 Az PowerShell 模組,請參閱安裝 Azure PowerShell。 若要了解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。
連接到 Azure
執行 Connect-AzAccount 命令,並使用 Set-AzContext 設定訂用帳戶內容,以開啟 PowerShell 並建立 Azure 帳戶的存取權。
Connect-AzAccount Set-AzContext -subscription <Subscription ID>
看到登入視窗時,請輸入您的認證。 請使用與登入 Azure 入口網站相同的電子郵件和密碼。
建立資源群組
定義唯一資源組名的變數,併為所有 VM 資源提供目標 Azure 區域的位置。 然後使用 New-AzResourceGroup 來建立您的資源群組。 為了簡化快速入門的其餘部分,其餘命令將使用此名稱作為其他資源名稱的基礎。
$ResourceGroupName = "sqlvm1"
$Location = "East US"
$ResourceGroupParams = @{
Name = $ResourceGroupName
Location = $Location
Tag = @{Owner="SQLDocs-Samples"}
}
New-AzResourceGroup @ResourceGroupParams
設定網路設定
使用 New-AzVirtualNetworkSubnetConfig、 New-AzVirtualNetwork 和 New-AzPublicIpAddress 來建立虛擬網路、子網和公用 IP 位址。 這些資源用來提供虛擬機器的網路連線能力,並可將它連線到網際網路。
$SubnetName = $ResourceGroupName + "subnet" $VnetName = $ResourceGroupName + "vnet" $PipName = $ResourceGroupName + $(Get-Random) # Create a subnet configuration $SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix 192.168.1.0/24 # Create a virtual network $Vnet = New-AzVirtualNetwork -ResourceGroupName $ResourceGroupName -Location $Location ` -Name $VnetName -AddressPrefix 192.168.0.0/16 -Subnet $SubnetConfig # Create a public IP address and specify a DNS name $Pip = New-AzPublicIpAddress -ResourceGroupName $ResourceGroupName -Location $Location ` -AllocationMethod Static -IdleTimeoutInMinutes 4 -Name $PipName
在設定規則以允許使用 New-AzNetworkSecurityRuleConfig 的遠端桌面 (RDP) 和 SQL Server 連線之後,使用 New-AzNetworkSecurityGroup 建立網路安全組。
# Rule to allow remote desktop (RDP) $NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow #Rule to allow SQL Server connections on port 1433 $NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule" -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow # Create the network security group $NsgName = $ResourceGroupName + "nsg" $Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName ` -Location $Location -Name $NsgName ` -SecurityRules $NsgRuleRDP,$NsgRuleSQL
使用 New-AzNetworkInterface 建立網路介面。
$InterfaceName = $ResourceGroupName + "int" $Interface = New-AzNetworkInterface -Name $InterfaceName ` -ResourceGroupName $ResourceGroupName -Location $Location ` -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $Pip.Id ` -NetworkSecurityGroupId $Nsg.Id
建立 SQL VM
定義您用來登入 VM 的認證。 使用者名稱為 "azureadmin"。 在執行此命令之前,請務必先變更 <password>。
# Define a credential object $userName = "azureadmin" $SecurePassword = ConvertTo-SecureString '<strong password>' ` -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
使用 New-AzVMConfig 建立虛擬機組態對象,然後使用 New-AzVM 建立 VM。 下列命令會在 Windows Server 2022 上建立 SQL Server 2022 Developer Edition VM。
# Create a virtual machine configuration $VMName = $ResourceGroupName + "VM" $VMConfig = New-AzVMConfig -VMName $VMName -VMSize Standard_DS13_V2 | Set-AzVMOperatingSystem -Windows -ComputerName $VMName -Credential $Cred -ProvisionVMAgent -EnableAutoUpdate | Set-AzVMSourceImage -PublisherName "MicrosoftSQLServer" -Offer "sql2022-ws2022" -Skus "sqldev-gen2" -Version "latest" | Add-AzVMNetworkInterface -Id $Interface.Id # Create the VM New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VMConfig
提示
建立 VM 需要幾分鐘的時間。
使用 SQL VM RP 進行註冊
若要取得入口網站整合與 SQL VM 功能,您必須透過 SQL IaaS 代理程式延伸模組進行註冊。
若要這樣做,請先使用 Register-AzResourceProvider 向資源提供者註冊您的訂用帳戶:
# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine
接下來,使用 New-AzSqlVM 向 SQL IaaS 代理程序擴充功能註冊 SQL Server VM:
$License = 'PAYG'
# Register SQL Server VM with the extension
New-AzSqlVM -Name $VMName -ResourceGroupName $ResourceGroupName -Location $Location `
-LicenseType $License
從遠端桌面連接到 VM
使用 Get-AzPublicIpAddress 來擷取新 VM 的公用 IP 位址。
Get-AzPublicIpAddress -ResourceGroupName $ResourceGroupName | Select IpAddress
將傳回的 IP 位址以命令列參數的形式傳至 mstsc,以啟動新 VM 的遠端桌面工作階段。
mstsc /v:<publicIpAddress>
當提示輸入認證,請選擇不同帳戶的輸入認證。 輸入包含前置反斜線的使用者名稱 (例如
\azureadmin
),以及您先前在本快速入門中設定的密碼。
連接至 SQL Server
登入遠端桌面工作階段之後,從 [開始] 功能表啟動 SQL Server Management Studio 2017。
在 [連線到伺服器] 對話方塊中,保留預設值。 伺服器名稱為 VM 的名稱。 驗證已設為 [Windows 驗證]。 選取 [連接]。
您現在已從本機連線到 SQL Server。 若要從遠端連線,您必須從 Azure 入口網站設定連線,或以手動方式設定。
清除資源
如果您不需要持續執行 VM,您可以在不使用時將其停止,以避免不必要的費用。 下列命令會停止 VM,但會將其保留供未來使用。
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
您也可以使用 Remove-AzResourceGroup 命令,將與虛擬機器相關聯的所有資源永久刪除。 這麼做也會永久刪除虛擬機器,因此請小心使用此命令。
下一步
在本快速入門中,您已使用 Azure PowerShell 建立 SQL Server 2022 虛擬機。 若要深入了解如何將您的資料移轉至新的 SQL Server,請參閱下列文章。