You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/synapse-analytics/sql/overview-features.md
+20-19Lines changed: 20 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,21 +23,21 @@ Consumption models in Synapse SQL enables you to use different database objects.
23
23
24
24
|| Dedicated | Serverless |
25
25
| --- | --- | --- |
26
-
|**Tables**|[Yes](/sql/t-sql/statements/create-table-azure-sql-data-warehouse?view=azure-sqldw-latest&preserve-view=true)| No, serverless model can query only external data placed on [Azure Storage](#storage-options)|
27
-
|**Views**|[Yes](/sql/t-sql/statements/create-view-transact-sql?view=azure-sqldw-latest&preserve-view=true). Views can use [query language elements](#query-language) that are available in dedicated model. |[Yes](/sql/t-sql/statements/create-view-transact-sql?view=azure-sqldw-latest&preserve-view=true). Views can use [query language elements](#query-language) that are available in serverless model. |
|**Temporary tables**|[Yes](../sql-data-warehouse/sql-data-warehouse-tables-temporary.md?context=/azure/synapse-analytics/context/context)| No |
30
-
|**User defined procedures**|[Yes](/sql/t-sql/statements/create-procedure-transact-sql?view=azure-sqldw-latest&preserve-view=true)| Yes |
31
-
|**User defined functions**|[Yes](/sql/t-sql/statements/create-function-sql-data-warehouse?view=azure-sqldw-latest&preserve-view=true)| Yes, only inline table-valued functions. |
32
-
|**Triggers**| No | No |
33
-
|**External tables**|[Yes](/sql/t-sql/statements/create-external-table-transact-sql?view=azure-sqldw-latest&preserve-view=true). See supported [data formats](#data-formats). |[Yes](/sql/t-sql/statements/create-external-table-transact-sql?view=azure-sqldw-latest&preserve-view=true). See supported [data formats](#data-formats). |
26
+
|**Tables**|[Yes](/sql/t-sql/statements/create-table-azure-sql-data-warehouse?view=azure-sqldw-latest&preserve-view=true)| No, the in-database tables are not supported. Serverless SQL pool can query only [external tables](develop-tables-external-tables.md?tabs=native) that refernece data placed on [Azure Storage](#storage-options)|
27
+
|**Views**|[Yes](/sql/t-sql/statements/create-view-transact-sql?view=azure-sqldw-latest&preserve-view=true). Views can use [query language elements](#query-language) that are available in dedicated model. |[Yes](/sql/t-sql/statements/create-view-transact-sql?view=azure-sqldw-latest&preserve-view=true), you can create views over [external tables](develop-tables-external-tables.md?tabs=native) and other views. Views can use [query language elements](#query-language) that are available in serverless model. |
28
+
|**Schemas**|[Yes](/sql/t-sql/statements/create-schema-transact-sql?view=azure-sqldw-latest&preserve-view=true)|[Yes](/sql/t-sql/statements/create-schema-transact-sql?view=azure-sqldw-latest&preserve-view=true), schemas are supported.|
29
+
|**Temporary tables**|[Yes](../sql-data-warehouse/sql-data-warehouse-tables-temporary.md?context=/azure/synapse-analytics/context/context)| No, temporary tables might be used just to store some information from sytem views.|
30
+
|**User defined procedures**|[Yes](/sql/t-sql/statements/create-procedure-transact-sql?view=azure-sqldw-latest&preserve-view=true)| Yes, stored procedures can be placed in any user databases (not `master` database).|
31
+
|**User defined functions**|[Yes](/sql/t-sql/statements/create-function-sql-data-warehouse?view=azure-sqldw-latest&preserve-view=true)| Yes, only inline table-valued functions. Scalar user defined functions are not supported. |
32
+
|**Triggers**| No | No, serverless SQL pools do not allow changing data, so the triggers cannot react on data changes.|
33
+
|**External tables**|[Yes](/sql/t-sql/statements/create-external-table-transact-sql?view=azure-sqldw-latest&preserve-view=true). See supported [data formats](#data-formats). |[Yes](/sql/t-sql/statements/create-external-table-transact-sql?view=azure-sqldw-latest&preserve-view=true). See the supported [data formats](#data-formats). |
34
34
|**Caching queries**| Yes, multiple forms (SSD-based caching, in-memory, resultset caching). In addition, Materialized View are supported | No. Only file statistics are cached. |
35
35
|**Table variables**|[No](/sql/t-sql/data-types/table-transact-sql?view=azure-sqldw-latest&preserve-view=true), use temporary tables | No, table variables are not supported. |
36
36
|**[Table distribution](../sql-data-warehouse/sql-data-warehouse-tables-distribute.md?context=/azure/synapse-analytics/context/context)**| Yes | No, table distributions are not supported. |
37
37
|**[Table indexes](../sql-data-warehouse/sql-data-warehouse-tables-index.md?context=/azure/synapse-analytics/context/context)**| Yes | No, indexes are not supported. |
38
-
|**[Table partitions](../sql-data-warehouse/sql-data-warehouse-tables-partition.md?context=/azure/synapse-analytics/context/context)**| Yes | No, only external tables that are synchronized form Apache Spark pools can be partitioned per folders. |
38
+
|**[Table partitions](../sql-data-warehouse/sql-data-warehouse-tables-partition.md?context=/azure/synapse-analytics/context/context)**| Yes | No, only external tables that are synchronized from the Apache Spark pools can be partitioned per folders. |
|**[Workload management, resource classes, and concurrency control](../sql-data-warehouse/resource-classes-for-workload-management.md?context=/azure/synapse-analytics/context/context)**| Yes | No|
40
+
|**Workload management, resource classes, and concurrency control**| Yes, see [workload management, resource classes, and concurrency control](../sql-data-warehouse/resource-classes-for-workload-management.md?context=/azure/synapse-analytics/context/context). | No, serverless SQL pool automatically manages the resources.|
41
41
|**Cost control**| Yes, using scale-up and scale-down actions. | Yes, using [the Azure portal or T-SQL procedure](./data-processed.md#cost-control). |
42
42
43
43
## Query language
@@ -47,13 +47,13 @@ Query languages used in Synapse SQL can have different supported features depend
47
47
|| Dedicated | Serverless |
48
48
| --- | --- | --- |
49
49
|**SELECT statement**| Yes. Transact-SQL query clauses [FOR XML/FOR JSON](/sql/t-sql/queries/select-for-clause-transact-sql?view=azure-sqldw-latest&preserve-view=true), [MATCH](/sql/t-sql/queries/match-sql-graph?view=azure-sqldw-latest&preserve-view=true), OFFSET/FETCH are not supported. | Yes. Transact-SQL query clauses [FOR XML](/sql/t-sql/queries/select-for-clause-transact-sql?view=azure-sqldw-latest&preserve-view=true), [MATCH](/sql/t-sql/queries/match-sql-graph?view=azure-sqldw-latest&preserve-view=true), [PREDICT](/sql/t-sql/queries/predict-transact-sql?view=azure-sqldw-latest&preserve-view=true), GROUPNG SETS, and query hints are not supported. |
|**INSERT statement**| Yes | No, upload new data to Data lake using other tools.|
51
+
|**UPDATE statement**| Yes | No, but data updated using Spark is automatically available in serverless pool.|
52
+
|**DELETE statement**| Yes | No, but data deleted using Spark is automatically available in serverless pool.|
53
+
|**MERGE statement**| Yes ([preview](/sql/t-sql/statements/merge-transact-sql?view=azure-sqldw-latest&preserve-view=true)) | No, but data merged using Spark is automatically available in serverless pool. ||
54
54
|**[Transactions](develop-transactions.md)**| Yes | Yes, applicable on meta-data objects. |
55
55
|**[Labels](develop-label.md)**| Yes | No |
56
-
|**Data load**| Yes. Preferred utility is [COPY](/sql/t-sql/statements/copy-into-transact-sql?view=azure-sqldw-latest&preserve-view=true) statement, but the system supports both BULK load (BCP) and [CETAS](/sql/t-sql/statements/create-external-table-as-select-transact-sql?view=azure-sqldw-latest&preserve-view=true) for data loading. | No |
56
+
|**Data load**| Yes. Preferred utility is [COPY](/sql/t-sql/statements/copy-into-transact-sql?view=azure-sqldw-latest&preserve-view=true) statement, but the system supports both BULK load (BCP) and [CETAS](/sql/t-sql/statements/create-external-table-as-select-transact-sql?view=azure-sqldw-latest&preserve-view=true) for data loading. | No, you can initially load data into external table using CETAS statement.|
57
57
|**Data export**| Yes. Using [CETAS](/sql/t-sql/statements/create-external-table-as-select-transact-sql?view=azure-sqldw-latest&preserve-view=true). | Yes. Using [CETAS](/sql/t-sql/statements/create-external-table-as-select-transact-sql?view=azure-sqldw-latest&preserve-view=true). |
58
58
| **Types** | Yes, all Transact-SQL types except [cursor](/sql/t-sql/data-types/cursor-transact-sql?view=azure-sqldw-latest&preserve-view=true), [hierarchyid](/sql/t-sql/data-types/hierarchyid-data-type-method-reference?view=azure-sqldw-latest&preserve-view=true), [ntext, text, and image](/sql/t-sql/data-types/ntext-text-and-image-transact-sql?view=azure-sqldw-latest&preserve-view=true), [rowversion](/sql/t-sql/data-types/rowversion-transact-sql?view=azure-sqldw-latest&preserve-view=true), [Spatial Types](/sql/t-sql/spatial-geometry/spatial-types-geometry-transact-sql?view=azure-sqldw-latest&preserve-view=true), [sql\_variant](/sql/t-sql/data-types/sql-variant-transact-sql?view=azure-sqldw-latest&preserve-view=true), and [xml](/sql/t-sql/xml/xml-transact-sql?view=azure-sqldw-latest&preserve-view=true) | Yes, all Transact-SQL types except [cursor](/sql/t-sql/data-types/cursor-transact-sql?view=azure-sqldw-latest&preserve-view=true), [hierarchyid](/sql/t-sql/data-types/hierarchyid-data-type-method-reference?view=azure-sqldw-latest&preserve-view=true), [ntext, text, and image](/sql/t-sql/data-types/ntext-text-and-image-transact-sql?view=azure-sqldw-latest&preserve-view=true), [rowversion](/sql/t-sql/data-types/rowversion-transact-sql?view=azure-sqldw-latest&preserve-view=true), [Spatial Types](/sql/t-sql/spatial-geometry/spatial-types-geometry-transact-sql?view=azure-sqldw-latest&preserve-view=true), [sql\_variant](/sql/t-sql/data-types/sql-variant-transact-sql?view=azure-sqldw-latest&preserve-view=true), [xml](/sql/t-sql/xml/xml-transact-sql?view=azure-sqldw-latest&preserve-view=true), and Table type |
59
59
|**Cross-database queries**| No | Yes, including [USE](/sql/t-sql/language-elements/use-transact-sql?view=azure-sqldw-latest&preserve-view=true) statement. |
@@ -83,10 +83,10 @@ Synapse SQL pools enable you to use built-in security features to secure your da
83
83
|**Storage [Managed Identity](../../data-factory/data-factory-service-identity.md?context=/azure/synapse-analytics/context/context&tabs=synapse-analytics) authentication**| Yes, using [Managed Service Identity Credential](../../azure-sql/database/vnet-service-endpoint-rule-overview.md?bc=%2fazure%2fsynapse-analytics%2fbreadcrumb%2ftoc.json&preserve-view=true&toc=%2fazure%2fsynapse-analytics%2ftoc.json&view=azure-sqldw-latest&preserve-view=true)| Yes, using `Managed Identity` credential. |
84
84
|**Storage Application identity authentication**|[Yes](/sql/t-sql/statements/create-external-data-source-transact-sql?view=azure-sqldw-latest&preserve-view=true)| No |
85
85
|**Server-level roles**| No | Yes, sysadmin, public, and other server-roles are supported |
86
-
|**SERVER SCOPED CREDENTIAL**| No | Yes |
87
-
|**Permissions - [Server-level](/sql/relational-databases/security/authentication-access/server-level-roles)**| No | Yes |
86
+
|**SERVER SCOPED CREDENTIAL**| No | Yes, the server scoped credentials are used by the `OPENROWSET` function that do not uses explicit data source.|
87
+
|**Permissions - [Server-level](/sql/relational-databases/security/authentication-access/server-level-roles)**| No | Yes, for example, `CONNECT ANY DATABASE` and `SELECT ALL USER SECURABLES` enable a user to read data from any databases.|
88
88
|**Database-scoped roles**| Yes | Yes |
89
-
|**DATABASE SCOPED CREDENTIAL**| Yes| Yes |
89
+
|**DATABASE SCOPED CREDENTIAL**| Yes, used in external data sources. | Yes, used in external data sources.|
|**Permissions - Schema-level**| Yes, including ability to GRANT, DENY, and REVOKE permissions to users/logins on the schema | Yes, including ability to GRANT, DENY, and REVOKE permissions to users/logins on the schema |
92
92
|**Permissions - Object-level**| Yes, including ability to GRANT, DENY, and REVOKE permissions to users | Yes, including ability to GRANT, DENY, and REVOKE permissions to users/logins on the system objects that are supported |
@@ -97,7 +97,7 @@ Synapse SQL pools enable you to use built-in security features to secure your da
97
97
|**Data Discovery & Classification**|[Yes](../../azure-sql/database/data-discovery-and-classification-overview.md)| No |
98
98
|**Vulnerability Assessment**|[Yes](../../azure-sql/database/sql-vulnerability-assessment.md)| No |
|**Auditing**|[Yes](../../azure-sql/database/auditing-overview.md)| No |
100
+
|**Auditing**|[Yes](../../azure-sql/database/auditing-overview.md)| No built-in support. Use custom views as a [workaround](https://techcommunity.microsoft.com/t5/azure-synapse-analytics-blog/how-to-implement-row-level-security-in-serverless-sql-pools/ba-p/2354759). |
@@ -130,6 +130,7 @@ Data that is analyzed can be stored on various storage types. The following tabl
130
130
|**Azure Data Lake v2**| Yes | Yes |
131
131
|**Azure Blob Storage**| Yes | Yes |
132
132
|**Azure SQL (remote)**| No | No |
133
+
|**Dataverse**| No | Yes, using Synapse link |
133
134
|**Azure CosmosDB transactional storage**| No | No |
134
135
|**Azure CosmosDB analytical storage**| No | Yes, using [Synapse Link](../../cosmos-db/synapse-link.md?bc=%2fazure%2fsynapse-analytics%2fbreadcrumb%2ftoc.json&toc=%2fazure%2fsynapse-analytics%2ftoc.json)|
135
136
|**Apache Spark tables (in workspace)**| No | PARQUET tables only using [metadata synchronization](develop-storage-files-spark-tables.md)|
0 commit comments