Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:Azure SQL Database
Este script de ejemplo de PowerShell crea dos grupos elásticos, traslada una base de datos agrupada de SQL Database de un grupo elástico de SQL a otro y, a continuación, traslada la base de datos agrupada fuera del grupo elástico de SQL para que sea una base de datos única en Azure SQL Database.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
Nota:
En este artículo se utiliza el módulo Azure Az de PowerShell, el cual es el módulo de PowerShell recomendado 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.
Uso de Azure Cloud Shell
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.
Para iniciar Azure Cloud Shell:
| Opción | Ejemplo o vínculo |
|---|---|
| Seleccione Pruébelo en la esquina superior derecha de un bloque de código. Solo con seleccionar Pruébelo no se copia automáticamente el código en Cloud Shell. |
|
| Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. |
|
| Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. |
|
Para ejecutar el código de este artículo en Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar de un bloque de código para copiar el código.
Pegue el código en la sesión de Cloud Shell. Para ello, seleccione CTRL+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.
Seleccione Entrar para ejecutar el código.
Si decide instalar y usar PowerShell de manera local, en este tutorial se requiere la versión 1.4.0 de Azure PowerShell o una posterior. Si necesita actualizarla, consulte Instalación del módulo de Azure PowerShell. Si PowerShell se ejecuta localmente, también debe ejecutar Connect-AzAccount para crear una conexión con Azure.
Script de ejemplo
# Connect-AzAccount
$subscriptionId = "<Subscription-ID>"
# Set the resource group name and location for your server
$resourceGroupName = "myResourceGroup-$(Get-Random)"
$location = "westus2"
# Set elastic pool names
$firstPoolName = "MyFirstPool"
$secondPoolName = "MySecondPool"
# Set an admin login and password for your server
$adminSqlLogin = "<admin>"
$password = "<password>"
# The logical server name has to be unique in the system
$serverName = "server-$(Get-Random)"
# The sample database names
$firstDatabaseName = "myFirstSampleDatabase"
$secondDatabaseName = "mySecondSampleDatabase"
# The IP address range that you want to allow to access your server
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
# Set subscription
Set-AzContext -SubscriptionId $subscriptionId
# Create a new resource group
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location
$adminCredential = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminSqlLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force)
# Create a new server with a system-wide unique server name
$serverParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
Location = $location
SqlAdministratorCredentials = $adminCredential
}
$server = New-AzSqlServer @serverParams
# Create a server firewall rule that allows access from the specified IP range
$firewallParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
FirewallRuleName = "AllowedIPs"
StartIpAddress = $startIp
EndIpAddress = $endIp
}
$serverFirewallRule = New-AzSqlServerFirewallRule @firewallParams
# Create two elastic database pools
$firstPoolParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
ElasticPoolName = $firstPoolName
Edition = "Standard"
Dtu = 50
DatabaseDtuMin = 10
DatabaseDtuMax = 20
}
$firstPool = New-AzSqlElasticPool @firstPoolParams
$secondPoolParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
ElasticPoolName = $secondPoolName
Edition = "Standard"
Dtu = 50
DatabaseDtuMin = 10
DatabaseDtuMax = 50
}
$secondPool = New-AzSqlElasticPool @secondPoolParams
# Create two blank databases in the first pool
$firstDatabaseParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
DatabaseName = $firstDatabaseName
ElasticPoolName = $firstPoolName
}
$firstDatabase = New-AzSqlDatabase @firstDatabaseParams
$secondDatabaseParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
DatabaseName = $secondDatabaseName
ElasticPoolName = $secondPoolName
}
$secondDatabase = New-AzSqlDatabase @secondDatabaseParams
# Move the database to the second pool
$moveToPoolParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
DatabaseName = $firstDatabaseName
ElasticPoolName = $secondPoolName
}
$firstDatabase = Set-AzSqlDatabase @moveToPoolParams
# Move the database into a standalone performance level
$moveToStandaloneParams = @{
ResourceGroupName = $resourceGroupName
ServerName = $serverName
DatabaseName = $firstDatabaseName
RequestedServiceObjectiveName = "S0"
}
$firstDatabase = Set-AzSqlDatabase @moveToStandaloneParams
# Clean up deployment
# Remove-AzResourceGroup -ResourceGroupName $resourceGroupName
Limpieza del despliegue
Use el siguiente comando para quitar el grupo de recursos y todos los recursos que tenga asociados.
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Explicación del script
Este script usa los siguientes comandos. Cada comando de la tabla enlaza a documentación específica para el comando.
| Comando | Notas |
|---|---|
| New-AzResourceGroup | Crea un grupo de recursos en el que se almacenan todos los recursos. |
| New-AzSqlServer | Crea un servidor que hospeda las bases de datos y los grupos elásticos. |
| New-AzSqlElasticPool | Crea un grupo elástico. |
| New-AzSqlDatabase | Crea una base de datos en un servidor. |
| Set-AzSqlDatabase | Actualiza las propiedades de la base de datos o traslada una base de datos a un grupo elástico, fuera de este o entre grupos elásticos. |
| Remove-AzResourceGroup | Elimina un grupo de recursos, incluidos todos los recursos anidados. |