Skip to content

Commit 41f65d7

Browse files
committed
synapse SQL next steps
1 parent 267c815 commit 41f65d7

17 files changed

+106
-41
lines changed

articles/synapse-analytics/sql/access-control.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,4 +164,8 @@ REVOKE CONTROL ON DATABASE::<SQLpoolname> TO <workspacename>;
164164
165165
--Deleting the user in the DB
166166
DROP USER [<workspacename>];
167-
```
167+
```
168+
169+
## Next steps
170+
171+
For an overview of access and control in SQL Analytics, see [SQL Analytics access control](../sql/access-control.md). To learn more about database principals, see [Principals](https://msdn.microsoft.com/library/ms181127.aspx). Additional information about database roles, can be found in the [Database roles](https://msdn.microsoft.com/library/ms189121.aspx) article.

articles/synapse-analytics/sql/active-directory-authentication.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,9 +115,7 @@ The following authentication methods are supported for Azure AD server principal
115115

116116
## Next steps
117117

118-
- For an overview of access and control in SQL Analytics, see [SQL Analytics access control](../sql/access-control.md).
119-
- For more information about database principals, see [Principals](https://msdn.microsoft.com/library/ms181127.aspx).
120-
- For more information about database roles, see [Database roles](https://msdn.microsoft.com/library/ms189121.aspx).
118+
For an overview of access and control in SQL Analytics, see [SQL Analytics access control](../sql/access-control.md). To learn more about database principals, see [Principals](https://msdn.microsoft.com/library/ms181127.aspx). Additional information about database roles, can be found in the [Database roles](https://msdn.microsoft.com/library/ms189121.aspx) article.
121119

122120
<!--Image references-->
123121

articles/synapse-analytics/sql/best-practices-sql-on-demand.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,4 @@ As CETAS generates Parquet files, statistics will be automatically created when
6363

6464
## Next steps
6565

66-
Review the [Troubleshooting](../sql-data-warehouse/sql-data-warehouse-troubleshoot.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json) article for common issues and solutions. If you're working with SQL pools rather than SQL on-demand, please see the [Best Practices for SQL pools](best-practices-sql-pool.md) article for specific guidance.
66+
Review the [Troubleshooting](../sql-data-warehouse/sql-data-warehouse-troubleshoot.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json) article for common issues and solutions. If you're working with SQL pool rather than SQL on-demand, please see the [Best Practices for SQL pool](best-practices-sql-pool.md) article for specific guidance.

articles/synapse-analytics/sql/develop-transaction-best-practices.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -400,7 +400,11 @@ END
400400
```
401401

402402
## Pause and scaling guidance
403-
Azure Synapse Analytics lets you [pause, resume, and scale](../sql-data-warehouse/sql-data-warehouse-manage-compute-overview.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json) your SQL pool on demand. When you pause or scale your SQL pool, it is important to understand that any in-flight transactions are terminated immediately; causing any open transactions to be rolled back. If your workload had issued a long running and incomplete data modification prior to the pause or scale operation, then this work will need to be undone. This undoing might impact the time it takes to pause or scale your SQL pool.
403+
Azure Synapse Analytics lets you [pause, resume, and scale](../sql-data-warehouse/sql-data-warehouse-manage-compute-overview.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json) your SQL pool on demand.
404+
405+
When you pause or scale your SQL pool, it is important to understand that any in-flight transactions are terminated immediately; causing any open transactions to be rolled back.
406+
407+
If your workload had issued a long running and incomplete data modification prior to the pause or scale operation, then this work will need to be undone. This undoing might impact the time it takes to pause or scale your SQL pool.
404408

405409
> [!IMPORTANT]
406410
> Both `UPDATE` and `DELETE` are fully logged operations and so these undo/redo operations can take significantly longer than equivalent minimally logged operations.

articles/synapse-analytics/sql/develop-transactions.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,14 @@ As you would expect, SQL pool supports transactions as part of the data warehous
2222

2323
## Transaction isolation levels
2424

25-
SQL pool implements ACID transactions. The isolation level of the transactional support is default to READ UNCOMMITTED. You can change it to READ COMMITTED SNAPSHOT ISOLATION by turning ON the READ_COMMITTED_SNAPSHOT database option for a user database when connected to the master database. Once enabled, all transactions in this database are executed under READ COMMITTED SNAPSHOT ISOLATION and setting READ UNCOMMITTED on session level will not be honored. Check [ALTER DATABASE SET options (Transact-SQL)](https://docs.microsoft.com/sql/t-sql/statements/alter-database-transact-sql-set-options?view=azure-sqldw-latest) for details.
25+
SQL pool implements ACID transactions. The isolation level of the transactional support is default to READ UNCOMMITTED. You can change it to READ COMMITTED SNAPSHOT ISOLATION by turning ON the READ_COMMITTED_SNAPSHOT database option for a user database when connected to the master database.
26+
27+
Once enabled, all transactions in this database are executed under READ COMMITTED SNAPSHOT ISOLATION and setting READ UNCOMMITTED on session level will not be honored. Check [ALTER DATABASE SET options (Transact-SQL)](https://docs.microsoft.com/sql/t-sql/statements/alter-database-transact-sql-set-options?view=azure-sqldw-latest) for details.
2628

2729
## Transaction size
28-
A single data modification transaction is limited in size. The limit is applied per distribution. Therefore, the total allocation can be calculated by multiplying the limit by the distribution count. To approximate the maximum number of rows in the transaction divide the distribution cap by the total size of each row. For variable length columns, consider taking an average column length rather than using the maximum size.
30+
A single data modification transaction is limited in size. The limit is applied per distribution. Therefore, the total allocation can be calculated by multiplying the limit by the distribution count.
31+
32+
To approximate the maximum number of rows in the transaction divide the distribution cap by the total size of each row. For variable length columns, consider taking an average column length rather than using the maximum size.
2933

3034
In the table below the following assumptions have been made:
3135

@@ -199,5 +203,5 @@ They are as follows:
199203
* No support for DDL such as CREATE TABLE inside a user-defined transaction
200204

201205
## Next steps
202-
To learn more about optimizing transactions, see [Transactions best practices](../sql-data-warehouse/sql-data-warehouse-develop-best-practices-transactions.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json). Additional best practices guides are also provided for [SQL pools](best-practices-sql-pool.md) and [SQL on-demand (preview)](on-demand.md).
206+
To learn more about optimizing transactions, see [Transactions best practices](../sql-data-warehouse/sql-data-warehouse-develop-best-practices-transactions.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json). Additional best practices guides are also provided for [SQL pool](best-practices-sql-pool.md) and [SQL on-demand (preview)](on-demand.md).
203207

articles/synapse-analytics/sql/get-started-power-bi-professional.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,5 @@ Write URL for the database and name of the database where view is residing.
103103

104104
## Next steps
105105

106-
Advance to the next article to learn how to connect to SQL on-demand using Azure Data Studio.
107-
> [!div class="nextstepaction"]
108-
> [Query storage files](get-started-azure-data-studio.md)
106+
Advance to [Query storage files](get-started-azure-data-studio.md) to learn how to connect to SQL on-demand using Azure Data Studio.
107+

articles/synapse-analytics/sql/mfa-authentication.md

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ ms.reviewer: jrasnick
1212

1313
# Using Multi-factor AAD authentication with SQL Analytics (SSMS support for MFA)
1414

15-
SQL Analytics support connections from SQL Server Management Studio (SSMS) using *Active Directory Universal Authentication*. This article discusses the differences between the various authentication options, and also the limitations associated with using Universal Authentication.
15+
SQL Analytics support connections from SQL Server Management Studio (SSMS) using *Active Directory Universal Authentication*.
16+
17+
This article discusses the differences between the various authentication options, and also the limitations associated with using Universal Authentication.
1618

1719
**Download the latest SSMS** - On the client computer, download the latest version of SSMS, from [Download SQL Server Management Studio (SSMS)](https://msdn.microsoft.com/library/mt238290.aspx).
1820

@@ -42,15 +44,35 @@ For a description of Multi-Factor Authentication, see [Multi-Factor Authenticati
4244
### Azure AD domain name or tenant ID parameter
4345

4446

45-
Beginning with [SSMS version 17](https://docs.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms), users that are imported into the current Active Directory from other Azure Active Directories as guest users, can provide the Azure AD domain name, or tenant ID when they connect. Guest users include users invited from other Azure ADs, Microsoft accounts such as outlook.com, hotmail.com, live.com, or other accounts like gmail.com. This information, allows **Active Directory Universal with MFA Authentication** to identify the correct authenticating authority. This option is also required to support Microsoft accounts (MSA) such as outlook.com, hotmail.com, live.com, or non-MSA accounts. All these users who want to be authenticated using Universal Authentication must enter their Azure AD domain name or tenant ID. This parameter represents the current Azure AD domain name/tenant ID the Azure Server is linked with. For example, if Azure Server is associated with Azure AD domain `contosotest.onmicrosoft.com` where user `[email protected]` is hosted as an imported user from Azure AD domain `contosodev.onmicrosoft.com`, the domain name required to authenticate this user is `contosotest.onmicrosoft.com`. When the user is a native user of the Azure AD linked to Azure Server, and is not an MSA account, no domain name or tenant ID is required. To enter the parameter (beginning with SSMS version 17.2), in the **Connect to Database** dialog box, complete the dialog box, selecting **Active Directory - Universal with MFA** authentication, click **Options**, complete the **User name** box, and then click the **Connection Properties** tab. Check the **AD domain name or tenant ID** box, and provide authenticating authority, such as the domain name (**contosotest.onmicrosoft.com**) or the GUID of the tenant ID.
47+
Beginning with [SSMS version 17](https://docs.microsoft.com/sql/ssms/download-sql-server-management-studio-ssms), users that are imported into the current Active Directory from other Azure Active Directories as guest users, can provide the Azure AD domain name, or tenant ID when they connect.
48+
49+
Guest users include users invited from other Azure ADs, Microsoft accounts such as outlook.com, hotmail.com, live.com, or other accounts like gmail.com. This information, allows **Active Directory Universal with MFA Authentication** to identify the correct authenticating authority. This option is also required to support Microsoft accounts (MSA) such as outlook.com, hotmail.com, live.com, or non-MSA accounts.
50+
51+
All these users who want to be authenticated using Universal Authentication must enter their Azure AD domain name or tenant ID. This parameter represents the current Azure AD domain name/tenant ID the Azure Server is linked with.
52+
53+
For example, if Azure Server is associated with Azure AD domain `contosotest.onmicrosoft.com` where user `[email protected]` is hosted as an imported user from Azure AD domain `contosodev.onmicrosoft.com`, the domain name required to authenticate this user is `contosotest.onmicrosoft.com`.
54+
55+
When the user is a native user of the Azure AD linked to Azure Server, and is not an MSA account, no domain name or tenant ID is required.
56+
57+
To enter the parameter (beginning with SSMS version 17.2), in the **Connect to Database** dialog box, complete the dialog box, selecting **Active Directory - Universal with MFA** authentication, click **Options**, complete the **User name** box, and then click the **Connection Properties** tab.
58+
59+
Check the **AD domain name or tenant ID** box, and provide authenticating authority, such as the domain name (**contosotest.onmicrosoft.com**) or the GUID of the tenant ID.
4660
![mfa-tenant-ssms](./media/mfa-authentication/mfa-tenant-ssms.png)
4761

4862
If you are running SSMS 18.x or later then the AD domain name or tenant ID is no longer needed for guest users because 18.x or later automatically recognizes it.
4963

5064
![mfa-tenant-ssms](./media/mfa-authentication/mfa-no-tenant-ssms.png)
5165

5266
### Azure AD business to business support
53-
Azure AD users supported for Azure AD B2B scenarios as guest users (see [What is Azure B2B collaboration](../../active-directory/b2b/what-is-b2b.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json) can connect to SQL Analytics only as part of members of a group created in current Azure AD and mapped manually using the Transact-SQL `CREATE USER` statement in a given database. For example, if `[email protected]` is invited to Azure AD `contosotest` (with the Azure Ad domain `contosotest.onmicrosoft.com`), an Azure AD group, such as `usergroup` must be created in the Azure AD that contains the `[email protected]` member. Then, this group must be created for a specific database (that is, MyDatabase) by Azure AD SQL admin or Azure AD DBO by executing a Transact-SQL `CREATE USER [usergroup] FROM EXTERNAL PROVIDER` statement. After the database user is created, then the user `[email protected]` can log in to `MyDatabase` using the SSMS authentication option `Active Directory – Universal with MFA support`. The usergroup, by default, has only the connect permission and any further data access that will need to be granted in the normal way. Note that user `[email protected]` as a guest user must check the box and add the AD domain name `contosotest.onmicrosoft.com` in the SSMS **Connection Property** dialog box. The **AD domain name or tenant ID** option is only supported for the Universal with MFA connection options, otherwise it is greyed out.
67+
Azure AD users supported for Azure AD B2B scenarios as guest users (see [What is Azure B2B collaboration](../../active-directory/b2b/what-is-b2b.md?toc=/azure/synapse-analytics/toc.json&bc=/azure/synapse-analytics/breadcrumb/toc.json) can connect to SQL Analytics only as part of members of a group created in current Azure AD and mapped manually using the Transact-SQL `CREATE USER` statement in a given database.
68+
69+
For example, if `[email protected]` is invited to Azure AD `contosotest` (with the Azure Ad domain `contosotest.onmicrosoft.com`), an Azure AD group, such as `usergroup` must be created in the Azure AD that contains the `[email protected]` member. Then, this group must be created for a specific database (that is, MyDatabase) by Azure AD SQL admin or Azure AD DBO by executing a Transact-SQL `CREATE USER [usergroup] FROM EXTERNAL PROVIDER` statement.
70+
71+
After the database user is created, then the user `[email protected]` can log in to `MyDatabase` using the SSMS authentication option `Active Directory – Universal with MFA support`.
72+
73+
The usergroup, by default, has only the connect permission and any further data access that will need to be granted in the normal way.
74+
75+
Note that user `[email protected]` as a guest user must check the box and add the AD domain name `contosotest.onmicrosoft.com` in the SSMS **Connection Property** dialog box. The **AD domain name or tenant ID** option is only supported for the Universal with MFA connection options, otherwise it is greyed out.
5476

5577
## Universal Authentication limitations for SQL Analytics
5678
- SSMS and SqlPackage.exe are the only tools currently enabled for MFA through Active Directory Universal Authentication.
@@ -59,4 +81,7 @@ Azure AD users supported for Azure AD B2B scenarios as guest users (see [What is
5981
- SSMS version 17.2 provides DacFx Wizard support for Export/Extract/Deploy Data database. Once a specific user is authenticated through the initial authentication dialog using Universal Authentication, the DacFx Wizard functions the same way it does for all other authentication methods.
6082
- The SSMS Table Designer does not support Universal Authentication.
6183
- There are no additional software requirements for Active Directory Universal Authentication except that you must use a supported version of SSMS.
62-
- The Active Directory Authentication Library (ADAL) version for Universal authentication was updated to its latest ADAL.dll 3.13.9 available released version. See [Active Directory Authentication Library 3.14.1](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/).
84+
- The Active Directory Authentication Library (ADAL) version for Universal authentication was updated to its latest ADAL.dll 3.13.9 available released version. See [Active Directory Authentication Library 3.14.1](https://www.nuget.org/packages/Microsoft.IdentityModel.Clients.ActiveDirectory/).
85+
86+
## Next steps
87+
For more information, see the [Connect to SQL Analytics with SQL Server Management Studio](get-started-ssms.md) article.

articles/synapse-analytics/sql/on-demand-workspace-overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,6 @@ A user that is logged into SQL on-demand service must be authorized to access an
145145

146146

147147
## Next steps
148-
148+
Additional information on endpoint connection and querying files can be found in the following articles:
149149
- [Connect to your endpoint](connect-overview.md)
150150
- [Query your files](develop-storage-files-overview.md)

articles/synapse-analytics/sql/on-demand.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ Different professional roles can benefit from SQL on-demand:
5555
- BI Professionals can quickly create Power BI reports on top of data in the lake and Spark tables.
5656

5757
## Next steps
58-
58+
For more information, see the following articles:
5959
- [Connect to your endpoint](connect-overview.md)
6060
- [Query your files](develop-storage-files-overview.md)

articles/synapse-analytics/sql/overview-features.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,3 +123,9 @@ Data that is analyzed can be stored in various storage formats. The following ta
123123
| JSON | Yes | [Yes](query-json-files.md) |
124124
| [Delta-lake](https://delta.io/) | No | No |
125125
| [CDM](https://docs.microsoft.com/common-data-model/) | No | No |
126+
127+
## Next steps
128+
Additional information on best practices for SQL pool and SQL on-demand can be found in the following articles:
129+
130+
- [Best Practices for SQL pool](best-practices-sql-pool.md)
131+
- [Best practices for SQL on-demand](best-practices-sql-on-demand)

0 commit comments

Comments
 (0)