What is Azure SQL?
Definition: Azure SQL is a cloud database offering of Microsoft as part of the Azure cloud computing platform.
- Azure SQL is in the cloud so there are obvious benefits from it like.
- Security: Built-in security features of Azure
- Space: You can manage huge databases.
- Scalability: You get scalability and high availability
- There are many options provided by Microsoft for SQL development as part of cloud solutions.
- We will go through all of them.
SQL Server on Azure Virtual Machine
- This version runs on Azure VM.
- All the upgrades, patching, maintenance of the SQL server should be done by the user.
- This is an IAAS (Infrastructure As A Service) offering
- You have full control over the SQL server and OS server.
- Best For Migrations and applications requiring OS-level access
Azure SQL Managed Instance
- This is a PAAS (Platform As A Service) offering
- This gives you an instance of SQL Server.
- No need to worry about upgrading, patching, and maintenance of VM and OS.
- Fully managed service
- Mostly all the features available in SQL Server, are available in Azure SQL Managed Instance too.
- Best For lift-and-shift migrations to the cloud.
Azure SQL Database
- This is a PAAS (Platform As A Service) offering
- The user doesn’t need to manage SQL Server, OS, and VM.
- You get the Database and start your programming, nothing else you need to do.
- This is the ONLY option that gives unlimited DB storage and automatic scaling for unpredictable workloads.
- This option has the highest availability SLA.
- Best For Modern cloud solutions. Serverless and Hyperscale options are available.
Elastic Database Pools
For SQL Database and SQL Managed Instance, there are two additional options if you have multiple databases or managed Instances.
They are referred to as Elastic Database Pools.
Azure SQL Managed Instance Pools
- Allows you to host multiple managed instances and share resources.
- You can pre-provision compute resources according to your requirement. You can then deploy multiple individual instances up to your pre-provisioned compute level.
- Fully managed service.
Azure SQL Elastic Database Pool
- Allows you to host many databases within a single set of provisioned SQL database resources.
- It allows resource sharing between multiple databases to optimize price.
- This is very good for SAAS because you can monitor and manage performance for many databases.
- Fully managed service
Built-In Machine Learning
- Optimization: You can get suggestions on improving and optimizing the performance of SQL instances.
- Warnings: You will get warnings if anything goes wrong or instance is degrading