Showing posts with label SQL. Show all posts
Showing posts with label SQL. Show all posts

Friday, October 25, 2019

All You should not miss about Backups in Azure managed instance

Hello Readers!

This  is an informational blog on summarizing the differences observed in  backups of  Azure Managed instances with that of SQL Servers in On-premise and other Azure SQL offerings.It also covers the necessary information one must have about managed instance backups if you are an Azure DB Admin.

As many of you might know already ,backups and patching  are azure managed and automated in Managed Instances or any other PaaS  for database  (or DBaaS) offering in Azue. For Backups, We only got control only over the retention period configuration . Though we know that Azure takes managed instance backup to an azure storage which is replicated with RA-GRS to another region, we do not really get to access the Blob container or a storage account that is holding these backups.


When we are creating a managed instance, the backup will be turned on by default and with the default schedule as the below.

Full backups - every 7 days,
Incremental  - every 12 hours,
log backups  - every 5-10 min.

It is worth to notice that , the incremental backup here is not the differential backup we have got in the on-premise. This only keeps the the data from the previous Full or Incremental backup (whichever is new) unlike the differential backup which keeps the changed extents from the previous full backup.

Changing Retention Plan for the backup


Azure Managed instances  only have automated scheduled backups with Short Term retention plan that can be set as either 7,14,21,28 or 35.The default short term retention period is only 7 days.Its wise to change it after you provision the managed instance. 
 The other Azure DBaaS , Singleton and Elastic pool are having Long term retention plan too, apart from the short term retention plan.

Though Azure managed instances support Copy_only backups taken to a azure storage account which is a perfect workaround for that limitation.

You can change the backup retention period of a database from the Azure portal or by other means like Powershell, REST API. This can be only done for the database and not for the entire managed instance for now. 

Azure portal method:

Navigate to your database of Azure managed instance in azure portal and click on 'Configure backup retention'.



Change the value in the popup that appears and click on Apply.


Caution: When you reduce the retention period from a higher value, all the old backups beyond the new retention period will be ignored and you would not be able to restore them again. 


As I told above, we can also take adhoc backup with copy_only clause to an azure storage account/blob container. I have written about how to create credentials for it in my previous blogs.

That brings us to the end of this blog. I will write soon on Point in time  restoration and Geo-restore in my future blogs. Thanks for visiting !