common/code-upgrade-samples/azurerm/sqldb-move-database-between-pools-and-standalone.ps1 (63 lines of code) (raw):

# Original source code: https://github.com/Azure/azure-docs-powershell-samples/blob/5513f8ea73e2b9630311d7ea27372cddc4e65cae/sql-database/move-database-between-pools-and-standalone/move-database-between-pools-and-standalone.ps1 # Set the resource group name and location for your server $resourcegroupname = "myResourceGroup-$(Get-Random)" $location = "southcentralus" # Set elastic pool names $firstpoolname = "MyFirstPool" $secondpoolname = "MySecondPool" # Set an admin login and password for your server $adminlogin = "ServerAdmin" $password = "<EnterYourComplexPasswordHere>" # 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" # Create a new resource group $resourcegroup = New-AzureRmResourceGroup -Name $resourcegroupname -Location $location # Create a new server with a system wide unique server name $server = New-AzureRmSqlServer -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -Location $location ` -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminlogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force)) # Create a server firewall rule that allows access from the specified IP range $serverfirewallrule = New-AzureRmSqlServerFirewallRule -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -FirewallRuleName "AllowedIPs" -StartIpAddress $startip -EndIpAddress $endip # Create two elastic database pools $firstpool = New-AzureRmSqlElasticPool -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -ElasticPoolName $firstpoolname ` -Edition "Standard" ` -Dtu 50 ` -DatabaseDtuMin 10 ` -DatabaseDtuMax 20 $secondpool = New-AzureRmSqlElasticPool -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -ElasticPoolName $secondpoolname ` -Edition "Standard" ` -Dtu 50 ` -DatabaseDtuMin 10 ` -DatabaseDtuMax 50 # Create two blank databases in the first pool $firstdatabase = New-AzureRmSqlDatabase -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -DatabaseName $firstdatabasename ` -ElasticPoolName $firstpoolname $seconddatabase = New-AzureRmSqlDatabase -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -DatabaseName $seconddatabasename ` -ElasticPoolName $secondpoolname # Move the database to the second pool $firstdatabase = Set-AzureRmSqlDatabase -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -DatabaseName $firstdatabasename ` -ElasticPoolName $secondpoolname # Move the database into a standalone performance level $firstdatabase = Set-AzureRmSqlDatabase -ResourceGroupName $resourcegroupname ` -ServerName $servername ` -DatabaseName $firstdatabasename ` -RequestedServiceObjectiveName "S0"