Restore a deleted Azure SQL Database

There could be a need where you have to restore a database that was deleted accidentally due to malicious intent or a plain old mistake (people end up writing resumes for such mistakes) or for some other inexplicable need! This is where backups come into the picture! For the Web and Business editions, this is not an option unless you have exported the database or you had made a copy of the existing database. Note that Business and Web service tiers will be retired in 12 months from April 24, 2014.

If you have just entered the world of Azure SQL Database, then this will seem even more difficult because you do not have the traditional scheduled backup job that you can trigger. So what is possible? Read on to find out…

Windows Azure SQL Database automatically creates backups of every active database using the following schedule: Full database backup once a week, differential database backups once a day, and transaction log backups every 5 minutes. The full and differential backups are replicated across regions to ensure availability of the backups in the event of a disaster. In addition, premium database offers the ability to create secondary databases in different regions to protect against datacenter disasters.

If you have played around with the new Azure SQL Database tiers (Basic, Standard and Premium), you will notice that there is a new tab available for Deleted Databases. This tab shows you the option of restoring a database (Basic, Standard and Premium tiers only) which was recently dropped. See screenshot 1.

image

I had dropped the bumblebee database which was a Basic tier database on 30th June. I can choose to restore this using the RESTORE button available at the bottom of the page. In the restore settings page popup page, you will have to specify the following:

1. Database name – This cannot be same as the original database

2. The time to which you want to restore available through a slider and text boxes. This is similar to the Timeline feature which was introduced in SQL Server Management Studio.

image

Note that the target server name cannot be changed. You will have to restore the deleted database backup to the same server. You cannot restore a database backup across Azure SQL Database Servers using this Wizard. Cross server restores are not currently supported.

While the database is restoring, you will see the database in the Databases tab but the status will show up as “RESTORING”. This is currently a PREVIEW feature. So you will need to sign up for the new database service tier preview to explore this feature.

Note that the deleted database backup is not retained indefinitely. As of July 1st, the following retention policy applies for the backups as shown in Screenshot 3:

image

More about Azure SQL Databases in a future post!

Reference:

Changing Database Service Tiers and Performance Levels
http://msdn.microsoft.com/library/azure/dn369872.aspx

Azure SQL Database Backup and Restore
http://msdn.microsoft.com/en-us/library/azure/jj650016.aspx

Advertisement

Management Portal for Azure SQL Database

The Azure SQL Database provides multiple options to connect to the database. The Management Portal being one of them. In my last post, I had talked about what options the Object Explorer offers you for an Azure SQL Database.

Connecting using the Management Portal

The simplest way to connect to an Azure SQL database is to use the management portal. The management portal link will be https://&lt;servername>.database.windows.net/?langid=en-us#$database=<database name> for any Azure SQL Database. When you log onto the management portal, you will need to provide the details shown below in Screenshot 1. If you have multiple Azure SQL databases hosted on the same server, then it is recommended that you provide the database name as the USE command is prohibited for switching database connections.

image

Continue reading

Object Explorer: Say Hello to Azure SQL Database

In my last post, I had talked about tackling the great Azure firewall and allowing your connections through to the Azure SQL Database. Now let’s talk about what you can actually do with SQL Server Management Studio and the Azure SQL Database. SQL Server Management Studio is pretty much the tool that regular users of SQL Server are familiar with. It would make sense to be able to manage your Azure SQL Database using Management Studio!

Since there are feature limitations in the Azure SQL Database, you will not get the full range of functionality when you connect to an Azure SQL Database. Before you attempt to connect to an Azure SQL Database, ensure that you have allowed access to the server.

Connecting to the Server

imageIn the Connect to Server dialog box (Screenshot 1), you will need to provide the server name and the SQL Authenticated user name. Remember to switch to the Connection Properties tab and add your database name. If you have more than one database hosted on the server, it is imperative that you provide a database name. The USE statement is not supported on an Azure SQL Database for switching connections.

Note that an Azure SQL Database only accepts TCP connections.

What will you see

imageIn the Management Studio Object Explorer, you will get a stripped down view of the server as compared to an on-premise SQL Server instance. Screenshot 2 shows view that you will get in Object Explorer. I see the master database and the database that I connected to (megatron) … Yes I am fan of the Transformers franchise! Interestingly, you will also see an Extended Events node within the database tree.

If you have enabled Federation, then you will see the federation information for your Azure SQL Database under the Federation folder. You can launch a new query window by selecting the database to execute your queries. This part is exactly similar to how you would run queries against an on-premise database from a Management Studio Query Window.

The objects that you see in Screenshot 2 are the only ones that you are allowed to create in an Azure SQL Database. You would have noticed that a SQL Agent is missing. If you want a SQL Agent in Azure, then you could leverage a SQL Server installation on an Azure Virtual Machine or an on-premise SQL Agent which connects to an Azure SQL Database or use Azure automation.

You do have the option of performing a right-click on any of the folders like Tables, Views etc. and selecting the NEW option to get a template script for creating a table, view etc. for the Azure SQL Database.

If you are using the Premium database feature (currently in PREVIEW), then you have the option of querying the server_quotas view (currently in PREVIEW) to understand the premium database quota available on this server.

More about the Azure SQL Database in future posts!

Reference:

Azure SQL Database General Guidelines and Limitations
http://msdn.microsoft.com/en-us/library/azure/ee336245.aspx

Azure SQL Database Tools and Utilities Support
http://msdn.microsoft.com/en-us/library/azure/ee621784.aspx#ssms

SQL Server Feature Limitations (Azure SQL Database)
http://msdn.microsoft.com/en-us/library/azure/ff394115.aspx