Inicio rápido: crear un SQL Server en una máquina virtual de Azure con PowerShell
Se aplica a: SQL Server en máquinas virtuales de Azure
Este inicio rápido te ayuda a crear una máquina virtual (VM) de Windows SQL Server en Azure con Azure PowerShell.
Sugerencia
- Esta guía de inicio rápido describe una manera de aprovisionar y conectarse a una VM de SQL rápidamente. Para más información sobre otras opciones de Azure PowerShell para crear VM de SQL, consulta la guía de aprovisionamiento de máquinas virtuales de SQL Server con Azure PowerShell.
- Si tiene alguna pregunta sobre las máquinas virtuales de SQL Server, consulte las Preguntas más frecuentes.
Requisitos previos
Para completar este inicio rápido, debe tener lo siguiente:
- Suscripción a Azure. Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.
- La última versión de Azure PowerShell
Nota:
En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Conexión con Azure
Abra PowerShell y establezca el acceso a su cuenta de Azure mediante la ejecución del comando Connect-AzAccount y establezca el contexto de suscripción con Set-AzContext.
Connect-AzAccount Set-AzContext -subscription <Subscription ID>
Cuando vea la ventana de inicio de sesión, escriba sus credenciales. Use el mismo correo electrónico y la misma contraseña que usa para iniciar sesión en el portal de Azure.
Crear un grupo de recursos
Defina variables para un nombre de grupo de recursos único y proporcione una ubicación de una región de Azure de destino para todos los recursos de máquina virtual. A continuación, use New-AzResourceGroup para crear el grupo de recursos. Para simplificar el resto del inicio rápido, los restantes comandos usan este nombre como base de otros nombres de recursos.
$ResourceGroupName = "sqlvm1"
$Location = "East US"
$ResourceGroupParams = @{
Name = $ResourceGroupName
Location = $Location
Tag = @{Owner="SQLDocs-Samples"}
}
New-AzResourceGroup @ResourceGroupParams
Configuración de la red
Use New-AzVirtualNetworkSubnetConfig, New-AzVirtualNetworky New-AzPublicIpAddress para crear una red virtual, una subred y una dirección IP pública. Estos recursos se utilizan para proporcionar conectividad de red a la máquina virtual y conectarse a 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
Use New-AzNetworkSecurityGroup para crear un grupo de seguridad de red después de configurar reglas para permitir conexiones de Escritorio remoto (RDP) y SQL Server con 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
Cree la interfaz de red con 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
Creación de la máquina virtual con SQL
Defina las credenciales con las que inicia sesión en la máquina virtual. El nombre de usuario es "azureadmin". Asegúrese de cambiar <password> antes de ejecutar el comando.
# Define a credential object $userName = "azureadmin" $SecurePassword = ConvertTo-SecureString '<strong password>' ` -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
Cree un objeto de configuración de máquina virtual con New-AzVMConfig y, a continuación, cree la máquina virtual con New-AzVM. El comando siguiente crea una máquina virtual de SQL Server 2022 Developer Edition en 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
Sugerencia
Se tarda unos minutos en crearla.
Registro con el proveedor de recursos de máquina virtual de SQL
Para las características de máquina virtual con SQL e integración del portal, debe registrar la extensión Agente de IaaS de SQL.
Para ello, primero registre la suscripción con el proveedor de recursos mediante Register-AzResourceProvider:
# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine
A continuación, registre la máquina virtual con SQL Server con la extensión Agente de IaaS de SQL mediante New-AzSqlVM:
$License = 'PAYG'
# Register SQL Server VM with the extension
New-AzSqlVM -Name $VMName -ResourceGroupName $ResourceGroupName -Location $Location `
-LicenseType $License
Escritorio remoto en la máquina virtual
Use Get-AzPublicIpAddress para recuperar la dirección IP pública de la nueva máquina virtual.
Get-AzPublicIpAddress -ResourceGroupName $ResourceGroupName | Select IpAddress
Use la dirección IP devuelta como parámetro de línea de comandos a mstsc para iniciar una sesión de Escritorio remoto en la nueva máquina virtual.
mstsc /v:<publicIpAddress>
Cuando se le pidan credenciales, elija introducir las de una cuenta diferente. Escriba el nombre de usuario con una barra diagonal inversa (por ejemplo,
\azureadmin
) y la contraseña que ha definido anteriormente en esta guía de inicio rápido.
Conectar a SQL Server
Después de iniciar sesión en la sesión de Escritorio remoto, inicie SQL Server Management Studio 2017 desde el menú Inicio.
En el cuadro de diálogo Conectar con el servidor, mantenga los valores predeterminados. El nombre de servidor es el de la máquina virtual. La autenticación se establece en Autenticación de Windows. Seleccione Conectar.
Ya está conectado a SQL Server localmente. Si desea conectarse de forma remota, debe configurar la conectividad desde Azure Portal o manualmente.
Limpieza de recursos
Si no necesita que la máquina virtual se ejecute continuamente, puede detenerla cuando no se esté usando y así evitar cargos innecesarios. El siguiente comando detiene la VM, pero la deja disponible para usarla en el futuro.
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
También puede eliminar de forma definitiva todos los recursos asociados a la máquina virtual con el comando Remove-AzResourceGroup. Si lo hace, también se elimina la máquina virtual de forma permanente, así que use este comando con cuidado.
Pasos siguientes
En este inicio rápido, ha creado una máquina virtual de SQL Server 2022 mediante Azure PowerShell. Para más información sobre la migración de los datos a la nueva instancia de SQL Server, consulte el artículo siguiente.