AzureSQL PaaS Serverless and LTR - azure-sql-database

All,
We have a Azure SQL PaaS database on serverless edition. Due to limitations inherent in serverless editions, we cannot setup a LTR beyond the daily backups being retained for a period of 5 weeks.
Just wanted to check how others are handling the LTR needs for the same for this edition for Monthly and Yearly backups
Thanks,
rgn

Export your database as bacpac to an Storage Account. We are using weekly exports of the database on Saturdays, with a retention of one year for long-term backups.
The export will trigger a auto-resume of the database if the database was auto-paused.
We use an Azure Automation account and a PowerShell runbook to schedule the export of the database,

Related

How to set up recurring migration through queries/script from SQL server(On-premise) to Azure SQL database

I need a help to sync the data on Azure SQL from SQL server(On-premise).
Available recourses:
2 Database (SQL Server) on premise available on different server
Azure SQL database on cloud
Migration script/queries are ready to fetch data from on-premise sql server
Requirements:
Set up a scheduler which will run every 12 hours means two times in a day on Azure SQL.
In scheduler, using migration scripts data will be fetch from the On-premise SQL server and insert into Azure SQL Database.
One of the most prevalent Azure SQL DB migration/replication features is Azure Data Sync.
There are two sorts of schedules: Automatic and Manual. Automatic schedules function on time intervals, with the lowest number being 5 minutes. The second kind is the manual schedule, which allows the user to conduct the sync anytime they want using the Azure Portal or PowerShell. The goal of this PowerShell workflow script is to do a one-time sync manually, then switch to automatic sync and configure Sync time intervals according to your preferences.
you can refer this links to setup data sync Set up Data Sync in the Azure portal, Set up Data Sync with PowerShell
Reference: Schedule Data Sync with Azure SQL Database use an Automation account

How to Create a bacPac file from PIT Azure SQL

I have a requirement to basically beable to 'tag' PIT restores as to hold for longer (and then later use the restore on demand), the only way i can think to do this is basically figure out a way to export the requested Point-in-Time restore to a bacpac and save it in Azure storage.
PIT restores as to hold for longer.
The Azure SQL Database service protects all databases with an automated backup system. These backups are retained for 7 days for Basic, 35 days for Standard and 35 days for Premium.
I can think to do this is basically figure out a way to export the requested Point-in-Time restore to a bacpac and save it in Azure storage.
These are two different approach. Either you restore a database from PIT or from bacpac file which is either stored in Azure Storage account or local machine.
You can't perform a Point-of-Time restore from bacpac file.
Refer Azure SQL Database Point in Time Restore and Export to a BACPAC file - Azure SQL Database to know more.

Migrate on-prem SQL Server database to Azure SQL database

We're in the process of a server migration from an on-prem server (Win2008R2) to Azure PaaS.
To move the DBs, we used the Microsoft Data Migration Assistant (DMA) tool, which worked great and we can connect to the migrated Azure DB via SQL Server Management Studio.
Considering:
Made quite a few changes to the migrated Azure DB (tables, stored procedures, indexes) to work with the apps in Azure
Combined multiple on-prem DBs into one DB in Azure via DMA to save costs
On-prem DB is continually being modified by insert/update operations (multiple tables) during the migration process
Question: what is the best and fastest way to migrate data (all vs missing/updated) considering the above?
I would recommend you to migrate first only the schema of your on-premises databases to Azure SQL Databases and then let Azure SQL Data Sync to migrate the data to Azure and keep it updated on Azure SQL Database.
My suggestion to start with an empty schema on the Azure SQL Database side is because when SQL data Sync finds data on-premises and on Azure it start comparing both databases and that consumes a lot of resources.
On the initial sync SQL Data Sync may consume a lot of resources on the on-premises database server even when having an empty schema on the Azure side, for that you can use SQL Server Resource Governor to cap the CPU used by the data sync sessions in your on premises SQL Server, and this way avoid big performance impact possibly affecting database users.
When you are ready, you can switch your users (gradually or not if SQL Data Sync is on bi-directional mode) to Azure. Once your users have been migrated, you can then remove the member database (the on-premises database) from the SQL Data Sync configuration and stop SQL Data Sync operation.
I disagree with all the answers here.
If you are running on Win2008R2 there is a high chance that you are on an old SQL Server (2008? 2012?) which are both deprecated and unsuitable for Azure SQL Database. And probably the application is also old and not suitable for the Cloud in general. I suggest you a good testing phase.
Here my to do list:
Upgrade SQL Server to SQL Server 2016 on-prem and test if all your queries are still running correctly
Test how ready is your SQL Server to go to Azure SQL Database through Microsoft Data Migration Assistant (DMA) tool or the new Azure SQL Migration extension for Azure Data Studio (came out his month).
Don even think for a second that merging databases will reduce your overall costs. Decide if going multi-tenant or single-tanant not because of the price of the database.
Plan for hours of downtime based on the size of the migration. Don't migrate while your database is modified. Expect downtime. The best way is to take a backup of the day before and then resume the logs.
and test like crazy. This is not gonna be easy because the app is old.
Good luck.
Visual Studio also has a great tool for comparing both schema and data between two databases on different servers.
It can then update the target database with any changes after which you can switch over to use the Azure DB.
This method would require downtime of around 5-30 minutes depending on amount of data, but that might be acceptible depending on your requirements.

Data movement from SQL on-premise to SQL Azure

I have migrated my database schema to SQL Azure, but I have huge(millions) data records to be migrated please suggest me an approach to move data
Approaches I have tried.
SQLAzureMW tool (but it takes 14 hours time, its not feasible for me)
Import export on SQL server(even this is taking time)
Any other approaches ..need help..!!
For large datasets you usually have to take a more imaginative approach to migration!
One possible approach is to take a full data backup. Ensuring that transaction logs are committed and cleared at the same time.
upload, or use Azure Import / Export to get the backup into Azure blob storage
syncronise your transaction logs with Azure blob storage
Create an Azure SQL database, import backup
replay transaction logs
Keep in sync with transaction logs until you are ready to switch over.
If 14 hours using SQLAzure Migration Wizard and your database is Azure compatible, you have 4 other choices:
export locally to BACPAC, upload BACPAC to Azure, and import BACPAC to Azure
export BACPAC directly to Azure and then import BACPAC to Azure
Use SSMS migration wizard with the most recent version of SSMS (includes a number of functional and performance enhancements)
Use SQL Server transaction replication - see additional requirements for this option. This last option enables you to incrementally migrate to SQL DB and then when SQL DB is current with your on-premise database, just cut your application(s) over to SQL DB with minimal downtime
For more information, see https://azure.microsoft.com/en-us/documentation/articles/sql-database-cloud-migrate/#options-to-migrate-a-compatible-database-to-azure-sql-database

Backup Strategy in SQL Azure

Do we have any standard way of daily backing up SQL Azure databases to onprim?
I know about the option of making backups to Storage, but on a daily basis, if we backup on storage blobs we will end up having many files and it will incur a high cost with Azure.
We need to take backup of SQL Azure Databases directly to onprim disks.
Maintain only two latest backups on the disk.
Do we have mechanism to schedule daily backup to storage blob and maintain only two copies at any moment of time?
Not sure if the new SQL Database Point-in-time feature is good to you. You need to enable this preview feature and select a new edition when creating your database. "Basic" edition support daily backup stores in the past 24 hours while "Standard" and "Premium" editions provides point-in-time backup stores backups in the past 7 days and 35 days.
Alternatively you need to pragmatically backup the database in blob and remove the old ones through worker role, scheduler, webjob.