Partage via


Démarrage rapide : créer une machine virtuelle SQL Server sur Azure avec PowerShell

S’applique à : Machine virtuelle SQL Server sur Azure

Ce guide de démarrage rapide décrit les étapes de création d’un Windows SQL Server sur une machine virtuelle (VM) Azure avec Azure PowerShell.

Conseil

Prérequis

Pour suivre ce guide de démarrage rapide, vous devez disposer des éléments suivants :

  • Un abonnement Azure. Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.
  • La version la plus récente d’Azure PowerShell

Remarque

Cet article utilise le module Azure Az PowerShell, qui est le module PowerShell recommandé pour interagir avec Azure. Pour démarrer avec le module Az PowerShell, consulter Installer Azure PowerShell. Pour savoir comment migrer vers le module Az PowerShell, consultez Migrer Azure PowerShell depuis AzureRM vers Az.

Connexion à Azure

  1. Ouvrez PowerShell, accédez à votre compte Azure en exécutant la commande Connect-AzAccount, puis définissez votre contexte d’abonnement avec Set-AzContext.

    Connect-AzAccount
    Set-AzContext -subscription <Subscription ID>
    
  2. Quand la fenêtre de connexion s’affiche, entrez vos informations d’identification. Utilisez l'adresse électronique et le mot de passe que vous utilisez pour vous connecter au portail Azure.

Créer un groupe de ressources

Définissez des variables pour un nom de groupe de ressources unique et indiquez l’emplacement d’une région Azure cible pour toutes les ressources de machine virtuelle. Utilisez ensuite New-AzResourceGroup pour créer votre groupe de ressources. Pour simplifier la suite de ce guide de démarrage rapide, les commandes restantes utilisent ce nom comme base pour d’autres noms de ressources.

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

Configurer les paramètres réseau

  1. Utilisez New-AzVirtualNetworkSubnetConfig, New-AzVirtualNetwork et New-AzPublicIpAddress pour créer un réseau virtuel, un sous-réseau et une adresse IP publique. Ces ressources sont utilisées pour fournir une connectivité réseau à la machine virtuelle et la connecter à Internet.

    $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. Utilisez New-AzNetworkSecurityGroup pour créer un groupe de sécurité réseau après avoir configuré des règles pour autoriser des connexions RDP (Remote Desktop Protocol) et SQL Server avec New-AzNetworkSecurityRuleConfig.

    # 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. Créez l’interface réseau avec 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
    

Créer la machine virtuelle SQL

  1. Définissez les informations d’identification qui vous permettent de vous connecter à la machine virtuelle. Le nom d’utilisateur est « azureadmin ». Veillez à remplacer <password> avant d’exécuter la commande.

    # Define a credential object
     $userName = "azureadmin"
     $SecurePassword = ConvertTo-SecureString '<strong password>' `
        -AsPlainText -Force
     $Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
    
  2. Créez un objet de configuration de machine virtuelle avec New-AzVMConfig, puis créez la machine virtuelle avec New-AzVM. La commande suivante crée une machine virtuelle SQL Server 2022 édition Développeur sur Windows Server 2022.

    # 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
    

    Conseil

    La création de la machine virtuelle nécessite quelques minutes.

S’inscrire auprès de SQL VM RP

Pour connaître les fonctionnalités d’intégration au portail et de machine virtuelle SQL, vous devez vous inscrire auprès de l’extension SQL IaaS Agent.

Pour cela, inscrivez d’abord votre abonnement auprès du fournisseur de ressources en utilisant Register-AzResourceProvider :

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

Ensuite, inscrivez votre machine virtuelle SQL Server auprès de l’extension Agent IaaS de SQL Server en utilisant New-AzSqlVM :

$License = 'PAYG'

# Register SQL Server VM with the extension
New-AzSqlVM -Name $VMName -ResourceGroupName $ResourceGroupName -Location $Location `
-LicenseType $License

Bureau à distance dans la machine virtuelle

  1. Utilisez Get-AzPublicIpAddress pour récupérer l’adresse IP publique de la nouvelle machine virtuelle.

    Get-AzPublicIpAddress -ResourceGroupName $ResourceGroupName | Select IpAddress
    
  2. Passez l’adresse IP retournée en tant que paramètre de ligne de commande à mstsc pour démarrer une session Bureau à distance dans la nouvelle machine virtuelle.

    mstsc /v:<publicIpAddress>
    
  3. Lorsque l’invite de saisie des informations d’identification s’ouvre, entrez les données correspondant à un compte différent. Entrez le nom d’utilisateur en le faisant précéder d’une barre oblique inverse (par exemple \azureadmin) ainsi que le mot de passe défini dans ce guide de démarrage rapide.

Se connecter à SQL Server

  1. Une fois connecté à la session Bureau à distance, lancez SQL Server Management Studio 2017 à partir du menu Démarrer.

  2. Dans la boîte de dialogue Se connecter au serveur, conservez les valeurs par défaut. Le nom du serveur est le nom de la machine virtuelle. L’authentification est définie sur Authentification Windows. Sélectionnez Connecter.

Vous êtes désormais connecté localement à SQL Server. Pour vous connecter à distance, vous devez configurer la connectivité à partir du portail Azure ou manuellement.

Nettoyer les ressources

Si vous n’avez pas besoin que la machine virtuelle fonctionne en permanence, vous pouvez éviter les frais inutiles en l’arrêtant quand vous ne vous en servez pas. La commande suivante arrête la machine virtuelle, tout en la laissant disponible pour une utilisation future.

Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName

Vous pouvez aussi supprimer définitivement toutes les ressources associées à la machine virtuelle à l’aide de la commande Remove-AzResourceGroup. Dans la mesure où cette commande supprime la machine virtuelle de façon définitive, utilisez-la avec précaution.

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez créé une machine virtuelle SQL Server 2022 en utilisant Azure PowerShell. Pour en savoir plus sur la façon de migrer vos données vers la nouvelle instance SQL Server, consultez l’article suivant.