Edit

Share via


Multitenancy and Azure SQL Database

Multitenant solutions on Azure commonly use Azure SQL Database. This article outlines key SQL Database features that support multitenant system design. It also provides guidance and examples for how to implement Azure SQL in a multitenant solution.

Guidance

The SQL Database team publishes extensive guidance for how to implement multitenant architectures by using SQL Database. For more information, see Multitenant software as a service (SaaS) database tenancy patterns and Partition SQL Database.

Features of SQL Database that support multitenancy

SQL Database includes many features that support multitenancy.

Elastic pools

Elastic pools enable you to share compute resources between multiple databases on the same server. By using elastic pools, you can achieve performance elasticity for each database. You can also maximize cost efficiency by sharing provisioned resources across multiple databases. Elastic pools provide built-in protections against the noisy neighbor problem.

For more information, see the following resources:

Elastic database tools

You can use the Sharding pattern to scale your workload across multiple databases. SQL Database provides tools to support sharding. These tools include the management of shard maps, which serve as databases that track the tenants assigned to each shard. These tools also include the capability to initiate and track queries and management operations on multiple shards by using elastic jobs.

For more information, see:

Row-level security

Row-level security helps enforce tenant-level isolation in shared tables.

For more information, see the following resources:

Key management

The Always Encrypted feature provides end-to-end encryption for your databases. If your tenants must supply their own encryption keys, consider deploying separate databases for each tenant and enabling the Always Encrypted feature.

Contributors

Microsoft maintains this article. The following contributors wrote this article.

Principal authors:

  • Paul Burpo | Principal Customer Engineer, FastTrack for Azure
  • John Downs | Principal Software Engineer

Other contributors:

To see nonpublic LinkedIn profiles, sign in to LinkedIn.

Next step