SQL Database to Azure

Hassan Javed

3 Approaches to Migrate SQL Database to Azure

Azure SQL database, Database modernization

Rehosting, while the simplest migration approach, may not be the best choice for most SQL databases to ensure their effectiveness. 

Consider Azure solutions, because they might better suit your needs. Especially, when you want to manage large data volumes (up to 100TB), support multi-tenant apps with shared resources, and cut costs for databases with unpredictable workloads while saving their performance.

Database modernization through migration to Azure SQL Managed Instance with minimum efforts

Ideal for extensive modernization projects, aiming for a smooth transition to fully managed Azure infrastructure. No direct VM management is needed, minimizing effort, and maintaining a feature set similar to on-premises SQL Server.

Azure SQL Managed Instance (MI) best suits most migration projects, offering complete PaaS benefits like managed services, scalability, and high availability.

It might be worth choosing this option for a feature set close to on-premises SQL Server setups. It enables you to shift databases to the cloud and at the same time, to keep familiar features and capabilities for businesses.

MI enables cool database stuff like handling transactions across multiple databases (cross-database transactions) and managing message-based communication in databases through Service Broker. Standard Azure SQL Database lacks these features. But, using MI means taking on more management tasks (tweaking indexes for better performance and handling backups and restorations).

MI, like Azure SQL, boasts a 99.99% service-level agreement for high availability. It operates on the newest stable version of the SQL Server engine, offering users the latest features and security improvements.

MI comes with built-in features to keep your database running smoothly all the time and ensures compatibility with different levels. Thanks to that, older applications can work with the newer database system.

Easily and swiftly migrate to SQL Server on Azure Virtual Machines with a ‘lift-and-shift’ approach

Choose this for a straightforward migration (rehosting) of your on-premises SQL database to the cloud without investing in the app. With SQL Server on VMs, you can use full versions of SQL Server in the cloud, experiencing the same performance as on-premises in VMWare, without managing any on-premises hardware.

Azure virtual machines operate in numerous global regions. They provide a range of machine sizes with different memory (RAM) and virtual CPU core options, allowing you to tailor resources to your application’s workloads. 

So if you have a particular SQL Server task for the cloud, choose the virtual machine size and location that suits you and benefit from its flexibility. 

Also, SQL Server virtual machines (VMs) streamline licensing costs with a pay-as-you-go model, including the SQL Server license in the Azure VM price. 

However, you’re still in charge of managing the VM, handling the operating system, patches, and SQL Server installation and configuration.

Move to Azure SQL database with a native cloud experience and low-effort management

Perfect for moving apps when you have specific database needs, such as handling unpredictable workloads or large databases up to 100TB, and you want reliable performance at the database level.

Azure SQL Database is a fully managed PaaS database—no manual administration is required, ensuring predictable workload performance. You’re free from handling backups, patches, upgrades, and monitoring. Plus, your apps always run on the latest stable version of the SQL Server engine, guaranteeing a 99.99% availability service level.

Azure SQL Database gives you a cloud-like experience, but it doesn’t have some server-level features such as SQL Agent for job scheduling, Linked Servers for connecting to other servers, or SQL Server Auditing to track and log events—essential for security and compliance.

Choose between Azure SQL’s vCore or DTU billing models. With the vCore model, you can tailor the number of CPU cores, memory, storage capacity, and speed. Or, go for the DTU (Database Transaction Unit) model, which bundles memory, I/O, and computing resources into three service tiers designed for different database workloads.

If you go for Azure SQL Database, you can pick a configuration that suits your needs for scalability, performance, and cost efficiency:

Moving databases up to 100TB in size

Azure SQL Database Hyperscale is reasonable for high-performance, large-scale database apps up to 100 TB (compared to a 4 TB cap in others). Hyperscale ensures robust log throughput by leveraging various Azure storage levels. Additionally, its Blob storage feature speeds up backups and restores, reducing the time for extremely large databases from hours to seconds in nearly all scenarios.

Moving databases with unpredictable workloads

Cloud experts utilize Azure SQL Database Serverless for sporadic, unpredictable workloads. It automatically scales compute-intensive tasks as needed, charging based on per-second compute usage. They set up Serverless databases to cut costs. It can automatically shut down during inactivity, saving significantly for databases with working and off hours. Serverless databases are offline, you’re only billed for the storage costs.

Moving databases at an IoT scale, operating on 1000+ devices

For IoT applications, Azure SQL Database Edge is a good option. It runs efficiently with minimal resource needs (little computing power or storage). A great choice for situations that require an IoT-scale database on hundreds or even thousands of devices, like RFID tags on a fleet of delivery vehicles.

Moving multi-tenant apps with shared resources

An expert cloud team chooses Azure SQL Database Elastic Pool for SaaS apps with multiple databases and diverse workloads. It offers easy, cost-effective management and scaling, allowing efficient resource sharing and cost control.

As a SaaS ISV, you might host databases for multiple customers, each with its dedicated database. Customer performance needs can vary—some require high performance, others need less. Elastic pools handle this by allocating necessary resources to databases within a set budget.

Elastic Pool users pay based on the pool’s duration, not per database. Charges are calculated hourly. Individual databases within the pool can adjust the resources they use within set limits.

Sign Up for More!Subscribe to our newsletter to have first-hand access to our special offers and life tips.

More resources

Leave a Comment