What is a single database in Azure SQL Database?

Applies to: Azure SQL Database

The single database resource type creates a database in Azure SQL Database with its own set of resources and is managed via a server. With a single database, each database is isolated, using a dedicated database engine. Each has its own service tier within the DTU-based purchasing model or vCore-based purchasing model and a compute size defining the resources allocated to the database engine.

Single database is a deployment model for Azure SQL Database. The other is elastic pools.

Dynamic scalability

You can build your first app on a small, single database at low cost in the serverless compute tier or a small compute size in the provisioned compute tier. You change the compute or service tier manually or programmatically at any time to meet the needs of your solution. You can adjust performance without downtime to your app or to your customers. Dynamic scalability enables your database to transparently respond to rapidly changing resource requirements and enables you to only pay for the resources that you need when you need them.

Single databases and elastic pools

A single database can be moved into or out of an elastic pool for resource sharing. For many businesses and applications, being able to create single databases and dial performance up or down on demand is enough, especially if usage patterns are relatively predictable. But if you have unpredictable usage patterns, it can make it hard to manage costs and your business model. Elastic pools are designed to solve this problem. The concept is simple. You allocate performance resources to a pool rather than an individual database and pay for the collective performance resources of the pool rather than for single database performance.

Monitoring and alerting

You use the built-in performance monitoring and alerting tools, combined with the performance ratings. Using these tools, you can quickly assess the impact of scaling up or down based on your current or project performance needs. Additionally, SQL Database can emit metrics and resource logs for easier monitoring.

Availability capabilities

Single databases and elastic pools provide many availability characteristics. For information, see Availability characteristics.

Transact-SQL differences

Most Transact-SQL features that applications use are fully supported in both Microsoft SQL Server and Azure SQL Database. For example, the core SQL components such as data types, operators, string, arithmetic, logical, and cursor functions, work identically in SQL Server and SQL Database. There are, however, a few T-SQL differences in DDL (data-definition language) and DML (data manipulation language) elements resulting in T-SQL statements and queries that are only partially supported (which we discuss later in this article).

In addition, there are some features and syntax that aren't supported because Azure SQL Database is designed to isolate features from dependencies on the master database and the operating system. As such, most server-level activities are inappropriate for SQL Database. T-SQL statements and options aren't available if they configure server-level options, configure operating system components, or specify file system configuration. When such capabilities are required, an appropriate alternative is often available in some other way from SQL Database or from another Azure feature or service.

For more information, see Resolving Transact-SQL differences during migration to SQL Database.

Security

SQL Database provides a range of built-in security and compliance features to help your application meet various security and compliance requirements.

Next step