次の方法で共有


クイック スタート: PowerShell を使用して Azure VM に SQL Server を作成する

適用対象: Azure VM 上の SQL Server

このクイックスタートでは、Azure PowerShell を使用して Azure Virtual Machines (VM) 上に Windows SQL Server を作成する手順を説明します。

ヒント

  • このクイック スタートでは、SQL Server VM を迅速にプロビジョニングして接続する方法を説明します。 SQL Server VM を作成するための、その他の Azure PowerShell オプションの情報については、「Azure PowerShell を使用して Azure VM 上に SQL Server を作成する」を参照してください。
  • SQL Server の仮想マシンに関するご質問については、よくあるご質問に関するページをご覧ください。

前提条件

このクイックスタートを終えるには、次のものが必要です。

  • Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • 最新バージョンの Azure PowerShell

Note

この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

Azure に接続する

  1. PowerShell を開き、Connect-AzAccount コマンドを実行して Azure アカウントへのアクセスを確立し、Set-AzContext でサブスクリプション コンテキストを設定します。

    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 Agent 拡張機能登録する必要があります。

そのためには、まず、Register-AzResourceProvider を使って、リソース プロバイダーに自分のサブスクリプションを登録します。

# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine

次に、New-AzSqlVM を使って、SQL Server VM を SQL IaaS Agent 拡張機能に登録します。

$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 portal から、または手動で接続を構成する必要があります。

リソースをクリーンアップする

VM を継続的に実行する必要がない場合は、使用中でないときに停止することで、不要な料金の発生を回避できます。 次のコマンドでは、VM を停止しますが、後から使用できるように残しておきます。

Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName

Remove-AzResourceGroup コマンドを使用して、仮想マシンに関連付けられているすべてのリソースを完全に削除することもできます。 そのようにすると仮想マシンも完全に削除されるため、このコマンドは注意して使用してください。

次のステップ

このクイックスタートでは、Azure PowerShell を使って SQL Server 2022 仮想マシンを作成しました。 新しい SQL Server にデータを移行する方法の詳細については、次の記事を参照してください。