Upgrade Web/Business edition to Basic/standard/Premium edition databases – Using Powershell and GUI

As we all know that Web and Basic edition database have been retired on12th September , 2015. It means you won’t be able to create Web or Business edition post 12th September , 2015. I was checking this post and found that the databases will be migrated by Microsoft internally on your behalf based on the following criteria:

image

Before upgrading you will receive an email 14 days prior to scheduled upgrade. For most of the cases, the performance level and billing will be same but for few cases you may not get the same performance. The intent of this post is to guide you on what are the various options you can leverage to upgrade your databases.

As you know, Azure captures lots of telemetry data for predictive analysis. Based on that , we have tools like:

Index Advisor as discussed in my previous post –  https://dbcouncil.net/2015/07/07/sql-database-index-advisor-v12-sql-azure-databases/ based on that data. For the upgrade from web and business tier we have a tool called pricing tier recommendation which we can leverage to decide which pricing tier should you go:

1. Open Portal – https://ms.portal.azure.com
2. Click browse and select your database and click on the pricing tier:
image

3.  Here you will see recommended tier:
image

4. If you click on “Click here to view usage details” , you will see the data captured based on the telemetry data captured by Azure services.

Now, lets say you have multiple databases which you want to upgrade, it’s not easy to do this manually for every database through. For that, you have an option to use PowerShell script. Here is how you do that:

Powershell Script – to get the database level upgrade advisor recommendation:

Step 1 –  Add-AzureAccount

Switch-AzureMode -Name AzureResourceManager

Step 2 –  $SubscriptionName = ‘Test’
$ServerName =  ‘Test’
$ResourceGroupName = ‘Default-SQL-SoutheastAsia’

Select-AzureSubscription $SubscriptionName
$hint = Get-AzureSqlServerUpgradeHint  -ResourceGroupName $ResourceGroupName -ServerName $ServerName
$hint.Databases

The above script can be really helpful when you have large number of databases. Later on you can process that information and upgrade your databases accordingly. Moreover you can further write the PowerShell scripts to upgrade the databases. Check this article for help – https://azure.microsoft.com/en-us/documentation/articles/sql-database-upgrade-server/

If you are a SaaS company , you may want to get the elastic pool recommendation using PowerShell script:

Step 1 –  Add-AzureAccount

Switch-AzureMode -Name AzureResourceManager
Step 2 – $SubscriptionName =’Test’
$ServerName =  ‘BCDDS’
$ResourceGroupName = ‘Default-SQL-SoutheastAsia’

Select-AzureSubscription $SubscriptionName
$hint = Get-AzureSqlServerUpgradeHint  -ResourceGroupName $ResourceGroupName -ServerName $ServerName
$hint.ElasticPools

The above script will help you identify the databases which can be put into different pools.

References – https://azure.microsoft.com/en-us/documentation/articles/powershell-azure-resource-manager/
https://azure.microsoft.com/en-us/documentation/articles/sql-database-upgrade-server/

HTH!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s