Choose the right Azure SQL Database feature

Completed

In our bicycle manufacturing scenario, you've already identified and profiled the databases that you want to migrate to Azure SQL Database. Now, you want to plan the migration, considering data recoverability, disaster recovery, security, and other implementation details.

You'd like to know the tools and features available to support with the migration process to Azure SQL Database.

Benefits of Azure SQL Database

The following summarize the benefits of deploying single and elastic pool databases:

Category Feature
Backup and recovery Automatic backup
Point-in-time restore
Backup retention 7 days+
Long-term backup retention stores backups for up to 10 years
High availability 99.99% availability guarantee
Built-in availability with three secondary replicas
Zone redundancy via Azure availability zones
Disaster recovery Geo-restore of database backups
Active-geo replication between Azure regions
Service scalability Dynamic scale-up and scale-down
Scale out with multiple shards
Share compute resources between databases using elastic pools
Security Support for Microsoft Entra authentication
Cloud-only security features such as Advanced Threat Protection
Transparent data encryption (TDE) enabled by default
Support for dynamic and static data masking, row-level security, and Always Encrypted
Firewall allowlist
Licensing DTU purchasing model for predictive costing
vCore purchasing model, enabling storage to be scaled independently of compute
Combine the vCore purchasing model with Azure Hybrid Benefit for SQL Server to realize cost savings of up to 30 percent

Tip

To review the benefits of migrating to Azure SQL Database and the features available, please refer to Deploy PaaS solutions with Azure SQL module.

Exclusive features of Azure SQL Database

Some features are supported in Azure SQL Database that aren't available in other Azure SQL offerings:

Feature Definition
Hyperscale Cloud-native architecture that allows for independently scalable compute and storage, providing greater flexibility and resources than other tiers.
Auto-scale With serverless compute tier
Automatic tuning (indexes) This built-in feature automatically identifies and creates indexes that can improve the performance of your workload. It also verifies that query performance has improved and removes unused or duplicate indexes.
Elastic query Allows you to run T-SQL queries that bridge multiple databases in SQL Database. This feature is useful for applications using three- and four-part names that can't be changed.
Elastic jobs The elastic job feature is the SQL Server Agent replacement for Azure SQL Database. To some extent, elastic job is equivalent to the Multi Server Administration feature available on SQL Server instance.
SQL Data Sync It allows you to incrementally synchronize data across multiple databases running on SQL Database or SQL Server.
Query Performance Insights (QPI) This tool helps find the queries to optimize to improve overall workload performance and efficiently use the resource that you're paying for.

Important

To understand additional feature differences between SQL Database, SQL Server, and Azure SQL Managed Instance, as well as the differences among different Azure SQL Database options, see SQL Database features.

Migration options supported

There are two modes of migration to Azure SQL Database: Online and Offline. The online mode has minimal or no downtime, while the offline mode experiences downtime during the migration process.

Tool Migration mode
Azure Database Migration Service Offline
Transactional replication Online
Azure Migrate Offline
SQL Data Sync * Offline
Import Export Wizard/BACPAC Offline
Bulk copy (bcp utility) Offline
Azure Data Factory Offline
Data Migration Assistant (DMA) Offline

* Can have a higher performance impact, depending on the workload.

Note

While the Database Migration Assistant is a useful tool available, we recommend that you use the Azure Database Migration Service for large migrations and enhanced overall experience.

Migration performance

Consider the following recommendations when migrating to Azure SQL Database:

  • Monitor data file I/O and latency on the source, and mitigate any bottlenecks.
  • Scale up the target Azure SQL database to Business Critical Gen5 8 vCore or use the Hyperscale service tier to minimize latency for log files.
  • Ensure that your network bandwidth can accommodate the maximum log ingestion rate.
  • Choose the highest service tier and compute size for maximum transfer performance, and scale down after migration.
  • Minimize the distance between BACPAC files and the destination data center.
  • Disable auto update and auto create statistics during migration.
  • Partition tables and indexes, drop indexed views, and recreate them after migration.
  • Consider migrating rarely queried historical data to a separate database in Azure SQL Database, and query it using elastic queries.

Retry application connections

When migrating to Azure SQL Database, it's important to anticipate occasional transient failures when connecting to the database resource, and implement a proper retry logic method. Setting a maximum number of retries before the program terminates is also important.

We recommend waiting for 5 seconds at a minimum on your first retry. Each subsequential retry should increase the delay exponentially, up to a maximum of 60 seconds.

Note

If a SELECT statement fails with a transient error for SQL Database, don't directly retry it. Instead, retry the SELECT statement in a new connection.

To learn more about the connection retry principals, see Troubleshoot transient connection errors in SQL Database and SQL Managed Instance.