Features comparison: Azure SQL Database and SQL database in Microsoft Fabric (preview)
Applies to: ✅ SQL database in Microsoft Fabric
Azure SQL Database and SQL database in Microsoft Fabric share a common code base with the latest stable version of the Microsoft SQL Database Engine. Most of the standard SQL language, query processing, and database management features are identical.
- For a decision guide comparing Azure SQL Database to SQL database in Fabric, see Microsoft Fabric decision guide: choose a SQL database.
- For a decision guide comparing SQL database to other data stores in Microsoft Fabric, see Microsoft Fabric decision guide: choose a data store.
Many features are common between SQL Server and Azure SQL Database and SQL database in Fabric, for example:
- Language features - Control of flow language keywords, Cursors, Data types, DML statements, Predicates, Sequence numbers, Stored procedures, and Variables.
- Database features - Automatic tuning (plan forcing), Contained databases, Contained users, Data compression, Database configuration settings, Online index operations, Partitioning, and Temporal tables.
- Security features - Application roles, Dynamic data masking, row level security, and Threat detection.
- Multi-model capabilities - Graph processing, JSON data, OPENXML, Spatial, OPENJSON, and XML indexes.
Features of Azure SQL Database and Fabric SQL database
The following table lists the major features of SQL Server and provides information about whether the feature is partially or fully supported in Azure SQL Database and SQL database in Fabric, with a link to more information about the feature.
Feature | Azure SQL Database | Fabric SQL database |
---|---|---|
Database compatibility | 100 - 160 | 160 |
Accelerated database recovery (ADR) | Yes | Yes |
Always Encrypted | Yes | No |
Auditing | Yes, see Auditing | Not currently |
Microsoft Entra authentication | Yes | Yes |
BACKUP command | No, only system-initiated automatic backups | No, only system-initiated automatic backups |
Built-in functions | Most, see individual functions | Most, see individual functions |
BULK INSERT statement | Yes, but just from Azure Blob storage as a source. | No |
Certificates and asymmetric keys | Yes | Yes |
Change data capture - CDC | Yes, for S3 tier and above. Basic, S0, S1, S2 aren't supported. | No |
Collation - database collation | By default, SQL_Latin1_General_CP1_CI_AS. Set on database creation and can't be updated. Collations on individual columns are supported. | By default, SQL_Latin1_General_CP1_CI_ASC and can't be updated. Collations on individual columns are supported. |
Column encryption | Yes | Yes |
Columnstore indexes, clustered | Yes - Premium tier, Standard tier - S3 and above, General Purpose tier, Business Critical, and Hyperscale tiers. | Yes, but the table cannot be mirrored to OneLake. |
Columnstore indexes, nonclustered | Yes - Premium tier, Standard tier - S3 and above, General Purpose tier, Business Critical, and Hyperscale tiers. | Yes |
Credentials | Yes, but only database scoped credentials. | Yes, but only database scoped credentials. |
Cross-database/three-part name queries | No, see Elastic queries | Yes, you can do cross-database three-part name queries via the SQL analytics endpoint. |
Data classification and labeling | Yes, via Database discovery and classification | Yes, with database labeling with Microsoft Purview Information Protection sensitivity labels |
Database mirroring to Fabric OneLake | Yes, manually enabled | Yes, automatically enabled for all eligible tables |
Database-level roles | Yes | Yes. In addition to Transact-SQL support, Fabric supports managing database-level roles in Fabric portal. |
DBCC statements | Most, see individual statements | Most, see individual statements |
DDL statements | Most, see individual statements | Most, see individual statements. See Limitations in Fabric SQL database. |
DDL triggers | Database only | Database only |
Distributed transactions - MS DTC | No, see Elastic transactions | No |
DML triggers | Most, see individual statements | Most, see individual statements |
Dynamic data masking | Yes | Yes |
Elastic database client library | Yes | No |
Elastic query | Yes, with required RDBMS type (preview) | No |
EXECUTE AS | Yes, but EXECUTE AS LOGIN isn't supported - use EXECUTE AS USER |
Yes, but EXECUTE AS LOGIN isn't supported - use EXECUTE AS USER |
Event notifications | No | No |
Expressions | Yes | Yes |
Extended events (XEvents) | Some, see Extended events in Azure SQL Database | Some |
Extended stored procedures (XPs) | No | No |
Files and file groups | Primary file group only | Primary file group only |
Full-text search (FTS) | Yes, but third-party filters and word breakers aren't supported | No |
Functions | Most, see individual functions | Most, see individual functions |
In-memory optimization | Yes in Premium and Business Critical service tiers. Limited support for non-persistent In-Memory OLTP objects such as memory-optimized table variables in Hyperscale service tier. |
No |
Language elements | Most, see individual elements | Most, see individual elements |
Ledger | Yes | No |
Linked servers | Yes, only as a target | Yes, only as a target |
Logins and users | Yes, but CREATE and ALTER login statements are limited. Windows logins are not supported. |
Logins are not supported. Users are supported, but contained database users with CREATE USER <user name> WITH PASSWORD (SQL authentication) is not supported. |
Minimal logging in bulk import | No, only Full Recovery model is supported. | No, only Full Recovery model is supported. |
Modifying system data | No | No |
OPENDATASOURCE | No | No |
OPENQUERY | No | No |
OPENROWSET | Yes, only to import from Azure Blob storage | No |
Operators | Most, see individual operators | Most, see individual operators |
Optimized locking | Yes | Yes |
Recovery models | Full Recovery only | Full Recovery only |
Resource governor | No | No |
RESTORE statements | No | No |
Restore database from backup | Restore from automated backups | Restore automated backups |
Restore database to SQL Server | No. Use BACPAC or BCP instead of restore. | No. Use BACPAC or BCP instead of restore. |
Service Broker | No | No |
Server configuration settings | No | No |
Server-level roles | Yes | No |
Set statements | Most, see individual statements | Most, see individual statements |
SQL Server Agent | No, see Elastic jobs | No, try scheduled Data Factory pipelines or Apache Airflow jobs |
SQL Server Auditing | No, see Azure SQL Database auditing | No |
System functions and dynamic management functions | Most, see individual functions | Most, see individual functions |
System dynamic management views (DMV) | Most, see individual views | Most, see individual views |
System stored procedures | Some, see individual stored procedures | Some, see individual stored procedures |
System tables | Some, see individual tables | Some, see individual tables |
System catalog views | Some, see individual views | Some, see individual views |
TempDB | Yes | Yes |
Temporary tables | Local and database-scoped global temporary tables | Local and database-scoped global temporary tables |
Time zone choice | No | No |
Trace flags | No | No |
Transactional replication | Yes, subscriber only | Yes, subscriber only |
Transparent data encryption (TDE) | Yes | No. Fabric SQL database uses storage encryption with service-managed keys to protect all customer data at rest. Customer-managed keys are not supported. |
Platform capabilities
The Azure platform provides a number of PaaS capabilities that are added as an additional value to the standard database features. There are a number of external services that can be used with Azure SQL Database and SQL database in Fabric.
Platform feature | Azure SQL Database | Fabric SQL database |
---|---|---|
Active geo-replication | Yes, see Active geo-replication | Not currently |
Automatic backups | Yes | Yes |
Automatic tuning (indexes) | Yes, see Automatic tuning | Yes |
Availability zones | Yes | Yes, automatically configured |
Azure Database Migration Service (DMS) | Yes | No |
Data Migration Service (DMA) | Yes | No |
Elastic jobs | Yes, see Elastic jobs | No |
Failover groups | Yes, see failover groups | No |
File system access | No | No |
Geo-restore | Yes, see Geo-restore | No |
Long-term retention (LTR) | Yes, see long-term retention | No |
Pause/resume | Yes, in serverless | Yes, automatic |
Public IP address | Yes. The access can be restricted using firewall or service endpoints | Yes, available by default |
Point in time database restore | Yes, see Point-in-time restore | Yes |
Resource pools | Yes, as Elastic pools | No |
Scaling up or down | Yes, automatic in serverless, manual in provisioned compute | Yes, automatic |
SQL Alias | No, use DNS Alias | No |
SQL Server Analysis Services (SSAS) | No, Azure Analysis Services is a separate Azure cloud service. | No, Azure Analysis Services is a separate Azure cloud service. |
SQL Server Integration Services (SSIS) | Yes, with a managed SSIS in Azure Data Factory (ADF) environment, where packages are stored in SSISDB hosted by Azure SQL Database and executed on Azure SSIS Integration Runtime (IR), see Create Azure-SSIS IR in ADF. | No, instead use Data Factory in Microsoft Fabric. |
SQL Server Reporting Services (SSRS) | No - see Power BI | No - see Power BI |
Query performance monitoring | Yes, use Query performance insights | Yes, see Performance Dashboard |
VNet | Partial, restricted access using VNet Endpoints | No |
VNet Service endpoint | Yes, see virtual network service endpoints | No |
VNet Global peering | Yes, using Private IP and service endpoints | No |
Private connectivity | Yes, using Private Link. | Private links are not currently available. |
Resource limits
The following table compares the maximum resource limits available for Azure SQL Database and SQL database in Fabric:
Note
These resource limits apply only to the current preview and may change before general availability.
Category | Azure SQL Database | Fabric SQL database |
---|---|---|
Compute size | Up to 128 vCores | Up to 32 vCores |
Storage size | Up to 128 TB | In the current preview, up to 4 TB |
Tempdb size | Up to 2560 GB | Up to 1,024 GB |
Log write throughput | Up to 100 MB/s | In the current preview, up to 50 MB/s |
Availability | Default SLA 99.995% SLA with zone redundancy |
See Fabric Reliability |
Backups | A choice of locally redundant (LRS), zone-redundant (ZRS), or geo-redundant (GRS) storage 1-35 days (7 days by default) retention, with up to 10 years of long-term retention available |
Zone-redundant (ZRS) automatic backups with 7 days retention period (enabled by default). |
Read-only replicas | Read scale with 1-4 high availability replicas or 1-30 named replicas 0 - 4 geo-replicas |
No, use the read-only SQL analytics endpoint for a read-only TDS SQL connection |
Discount models | Reserved instances Azure Hybrid Benefit (not available on dev/test subscriptions) Enterprise and Pay-As-You-Go Dev/Test subscriptions |
See Fabric capacity |
Tools
Azure SQL Database and SQL database in Fabric support various data tools that can help you manage your data.
Tool | Azure SQL Database | Fabric SQL database |
---|---|---|
Azure CLI | Yes | No |
Azure PowerShell | Yes | No |
.bacpac export | Yes, see Azure SQL Database export | Yes, see SqlPackage for SQL database in Microsoft Fabric |
.bacpac import | Yes, see Azure SQL Database import | Yes, see SqlPackage for SQL database in Microsoft Fabric |
BCP | Yes | Yes |
BICEP | Yes | No |
Database watcher | Yes | Not currently |
SMO | Yes, see SMO | Yes, see SMO |
SQL Server Data Tools (SSDT) | Yes | Yes (minimum version is Visual Studio 2022 17.12) |
SQL Server Management Studio (SSMS) | Yes | Yes |
SQL Server PowerShell | Yes | Yes |
SQL Server Profiler | No, see Extended events | No, see Extended events |
sqlcmd | Yes | Yes |
System Center Operations Manager | Yes, see Microsoft System Center Management Pack for Azure SQL Database. | No |
Visual Studio Code | Yes | Yes |
Visual Studio Code with the mssql extension | Yes | Yes |