共用方式為


快速入門:使用 PowerShell 在 Azure VM 上建立 SQL Server

適用於:Azure VM 上的 SQL Server

本快速入門逐步說明使用 Azure PowerShell 在 Azure 虛擬機器 (VM) 建立 Windows SQL Server 的方式。

提示

必要條件

若要完成本快速入門,您應該具備下列專案:

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶
  • 最新版本的 Azure PowerShell

注意

本文使用 Azure Az PowerShell 模組,這是與 Azure 互動時建議使用的 PowerShell 模組。 若要開始使用 Az PowerShell 模組,請參閱安裝 Azure PowerShell。 若要了解如何遷移至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 遷移至 Az。

連接到 Azure

  1. 執行 Connect-AzAccount 命令,並使用 Set-AzContext 設定訂用帳戶內容,以開啟 PowerShell 並建立 Azure 帳戶的存取權。

    Connect-AzAccount
    Set-AzContext -subscription <Subscription ID>
    
  2. 看到登入視窗時,請輸入您的認證。 請使用與登入 Azure 入口網站相同的電子郵件和密碼。

建立資源群組

定義唯一資源組名的變數,併為所有 VM 資源提供目標 Azure 區域的位置。 然後使用 New-AzResourceGroup 來建立您的資源群組。 為了簡化快速入門的其餘部分,其餘命令將使用此名稱作為其他資源名稱的基礎。

$ResourceGroupName = "sqlvm1"
$Location = "East US"
$ResourceGroupParams = @{
   Name = $ResourceGroupName
   Location = $Location
   Tag = @{Owner="SQLDocs-Samples"}
}
New-AzResourceGroup @ResourceGroupParams

設定網路設定

  1. 使用 New-AzVirtualNetworkSubnetConfigNew-AzVirtualNetworkNew-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
    
  2. 在設定規則以允許使用 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
    
  3. 使用 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

  1. 定義您用來登入 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)
    
  2. 使用 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

  1. 使用 Get-AzPublicIpAddress 來擷取新 VM 的公用 IP 位址。

    Get-AzPublicIpAddress -ResourceGroupName $ResourceGroupName | Select IpAddress
    
  2. 將傳回的 IP 位址以命令列參數的形式傳至 mstsc,以啟動新 VM 的遠端桌面工作階段。

    mstsc /v:<publicIpAddress>
    
  3. 當提示輸入認證,請選擇不同帳戶的輸入認證。 輸入包含前置反斜線的使用者名稱 (例如 \azureadmin),以及您先前在本快速入門中設定的密碼。

連接至 SQL Server

  1. 登入遠端桌面工作階段之後,從 [開始] 功能表啟動 SQL Server Management Studio 2017

  2. 在 [連線到伺服器] 對話方塊中,保留預設值。 伺服器名稱為 VM 的名稱。 驗證已設為 [Windows 驗證]。 選取 [連接]。

您現在已從本機連線到 SQL Server。 若要從遠端連線,您必須從 Azure 入口網站設定連線,或以手動方式設定。

清除資源

如果您不需要持續執行 VM,您可以在不使用時將其停止,以避免不必要的費用。 下列命令會停止 VM,但會將其保留供未來使用。

Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName

您也可以使用 Remove-AzResourceGroup 命令,將與虛擬機器相關聯的所有資源永久刪除。 這麼做也會永久刪除虛擬機器,因此請小心使用此命令。

下一步

在本快速入門中,您已使用 Azure PowerShell 建立 SQL Server 2022 虛擬機。 若要深入了解如何將您的資料移轉至新的 SQL Server,請參閱下列文章。