Skip to content

Commit c70d832

Browse files
committed
Bringing even with master.
2 parents f295bca + f3aa766 commit c70d832

4 files changed

Lines changed: 49 additions & 31 deletions

File tree

docs/relational-databases/json/store-json-documents-in-sql-tables.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ SELECT TOP 100 JSON_VALUE(log, ‘$.severity’), AVG( CAST( JSON_VALUE(log,’$
5555
WHERE CAST( JSON_VALUE(log,’$.date’) as datetime) > @datetime
5656
GROUP BY JSON_VALUE(log, ‘$.severity’)
5757
HAVING AVG( CAST( JSON_VALUE(log,’$.duration’) as float) ) > 100
58-
ORDER BY CAST( JSON_VALUE(log,’$.duration’) as float) ) DESC
58+
ORDER BY AVG( CAST( JSON_VALUE(log,’$.duration’) as float) ) DESC
5959
```
6060

6161
It's a powerful advantage that you can use *any* T-SQL function and query clause to query JSON documents. SQL Server and SQL Database don't introduce any constraints in the queries that you can use to analyze JSON documents. You can extract values from a JSON document with the `JSON_VALUE` function and use it in the query like any other value.

docs/reporting-services/create-a-data-driven-subscription-ssrs-tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ ms.author: "maghan"
2424
manager: "kfile"
2525
---
2626
# Create a Data-Driven Subscription (SSRS Tutorial)
27-
This [!INCLUDE[ssRSnoversion](../includes/ssrsnoversion-md.md)] tutorial teaches you the concepts of data-driven subscriptions by walking you through a simple example that creates a data data-driven subscription to generate and save filtered report output to a file share.
27+
This [!INCLUDE[ssRSnoversion](../includes/ssrsnoversion-md.md)] tutorial teaches you the concepts of data-driven subscriptions by walking you through a simple example that creates a data-driven subscription to generate and save filtered report output to a file share.
2828
[!INCLUDE[ssRSnoversion](../includes/ssrsnoversion-md.md)] data-driven subscriptions allow you to customize and automate the distribution of a report based on dynamic subscriber data. Data-driven subscriptions are intended for the following kinds of scenarios:
2929

3030
- Distributing reports to a large recipient pool whose membership may change from one distribution to the next. For example, email a monthly report to all current customers.

docs/ssdt/azure-active-directory.md

Lines changed: 38 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
2-
title: "Azure Active Directory support in SQL Server Data Tools (SSDT) | Microsoft Docs"
2+
title: "Azure Active Directory in SQL Server Data Tools (SSDT) | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "04/09/2018"
4+
ms.date: "05/31/2018"
55
ms.prod: sql
66
ms.reviewer: ""
77
ms.suite: "sql"
@@ -11,58 +11,75 @@ ms.topic: conceptual
1111
author: stevestein
1212
ms.author: sstein
1313
manager: craigg
14-
monikerRange: "= azuresqldb-current || = sqlallproducts-allversions"
14+
monikerRange: "= azuresqldb-current || = azure-sqldw-latest || = sqlallproducts-allversions"
1515
---
1616
# Azure Active Directory support in SQL Server Data Tools (SSDT)
1717

18-
[!INCLUDE[appliesto-xx-asdb-xxxx-xxx-md.md](../includes/appliesto-xx-asdb-xxxx-xxx-md.md)]
18+
[!INCLUDE[appliesto-xx-asdb-asdb-xxx-md.md](../includes/appliesto-xx-asdb-asdw-xxx-md.md)]
1919

20-
SQL Server Data Tools (SSDT) provides several [Azure Active Directory](https://docs.microsoft.com/azure/active-directory/active-directory-whatis) authentication methods.
20+
SQL Server Data Tools (SSDT) provides several [Azure Active Directory (Azure AD)](https://docs.microsoft.com/azure/active-directory/active-directory-whatis) authentication methods.
2121

2222
![SSDT connection dialog](media/azure-active-directory/interactive.png)
2323

24+
#### Which Azure SQL products?
25+
26+
This article discusses Azure AD for the following list of *Azure SQL products* in the [Azure cloud](https://azure.microsoft.com/):
27+
28+
- Azure SQL Database
29+
- Azure SQL Data Warehouse
30+
2431
## Active Directory Password Authentication
2532

26-
Active Directory Password Authentication is a mechanism of connecting to Azure SQL Database by using identities in Azure Active Directory (Azure AD). Use this method for connecting if you are logged in to Windows using credentials from a domain that is not federated with Azure, or when using Azure AD authentication using Azure AD based on the initial or the client domain. For more information, see [Connecting to SQL Database By Using Azure Active Directory Authentication](https://docs.microsoft.com/azure/sql-database/sql-database-aad-authentication).
33+
*Active Directory Password Authentication* is a mechanism of connecting to the Azure SQL products that were listed earlier. The mechanism uses identities in Azure Active Directory (Azure AD). Use this method for connecting when:
34+
35+
- You are logged in to Windows with credentials from a domain that is not federated with Azure, or
36+
- You are using Azure AD authentication with Azure AD, and it is based on the initial or client domain.
37+
38+
For more information, see [Connecting to SQL Database By Using Azure Active Directory Authentication](https://docs.microsoft.com/azure/sql-database/sql-database-aad-authentication).
2739

2840
## Active Directory Integrated Authentication
2941

30-
Active Directory Integrated Authentication is a mechanism of connecting to Azure SQL Database by using identities in Azure Active Directory (Azure AD). Use this method for connecting if you are logged in to Windows using your Azure Active Directory credentials from a federated domain. For more information, see [Connecting to SQL Database By Using Azure Active Directory Authentication](https://docs.microsoft.com/azure/sql-database/sql-database-aad-authentication).
42+
*Active Directory Integrated Authentication* is a mechanism of connecting to the listed Azure SQL products by using identities in Azure Active Directory (Azure AD). Use this method for connecting if you are logged in to Windows using your Azure Active Directory credentials from a federated domain. For more information, see [Connecting to SQL Database By Using Azure Active Directory Authentication](https://docs.microsoft.com/azure/sql-database/sql-database-aad-authentication).
3143

3244
## Active Directory Interactive Authentication
3345

34-
SSDT provides a new authentication method for connecting to an Azure SQL database - **Active Directory Interactive Authentication**.
46+
*Active Directory Interactive Authentication* is available when connecting to the listed Azure SQL products with SSDT, but only with [.NET Framework 4.7.2](https://docs.microsoft.com/dotnet/api/?view=netframework-4.7.2) or a later version.
3547

48+
- [Download and install for .NET Framework, any version](https://www.microsoft.com/net/download/all).
49+
- [Visual Studio 2017 version 15.6](https://docs.microsoft.com/visualstudio/releasenotes/vs2017-relnotes), or a later version.
3650

37-
> [!NOTE]
38-
> Active Directory Interactive Authentication is available when connecting with SSDT in [Visual Studio 2017 version 15.6](https://docs.microsoft.com/visualstudio/releasenotes/vs2017-relnotes), and requires a [download and install of .NET Framework 4.7.2](https://www.microsoft.com/net/download/all) on the computer running SSDT. If [.NET Framework 4.7.2](https://docs.microsoft.com/dotnet/api/?view=netframework-4.7.2) is not installed, the Active Directory Interactive Authentication option will not be available.
51+
#### Multi-Factor Authentication (MFA)
52+
53+
Active Directory Interactive Authentication supports an interactive authentication allowing you to use Azure Active Directory (AD) Multi-Factor Authentication (MFA) to authenticate with the listed Azure SQL products. This method supports native and federated Azure AD users, and guest users from other accounts. The other types of account include:
3954

55+
- Business-to-Business (Azure AD B2B) users.
56+
- Microsoft accounts, such as @outlook.com, @hotmail.com, @live.com.
57+
- Non-Microsoft accounts, such as @gmail.com.
4058

41-
Active Directory Interactive Authentication supports an interactive authentication allowing to use Azure Active Directory (AD) Multi-Factor Authentication (MFA) to authenticate with Azure SQL Database. This method supports native and federated Azure AD users and guest users from other accounts (including B2B users, Microsft and non-Microsoft accounts such as @outlook.com, @hotmail.com, @live.com as well as @gmail.com). If this method is specified, the **User Name** must be specified, and the Password field will be disabled.
59+
If the MFA method is specified, the **User Name** must be specified, and the **Password** field is disabled.
60+
61+
#### Password Entry
4262

4363
When authenticating with *Active Directory Interactive Authentication*, an authentication window opens that requires users to enter a password manually.
4464

4565
![sign in dialog](media/azure-active-directory/sign-in.png)
4666

47-
The MFA enforcement is provided by Azure AD through this additional MFA pop-up window during the authentication process.
67+
The MFA enforcement is provided by Azure AD through this additional MFA pop-up window.
4868

4969
> [!NOTE]
50-
> Because *Active Directory Interactive Authentication* requires users to manually (interactively) enter their password, it is not recommended for automated workflows.
51-
70+
> Automated workflows would be blocked by the use of *Active Directory Interactive Authentication*. There must be a person available to interact with the authentication process, in the form of manually entering a password.
5271
5372
## Known issues and limitations
5473

55-
- *Active Directory Interactive Authentication* is only supported when connecting to an Azure SQL database. It is not supported for SQL Server (on-prem or on a VM), or Azure SQL Data Warehouse.
56-
- *Active Directory Interactive Authentication* is not supported in the connection dialog in *Server Explorer*, you must connect using SSDT with *SQL Server Object Explorer*.
74+
- *Active Directory Interactive Authentication* is only supported when connecting to the Azure SQL products that were listed at the start of this article. It is not supported for SQL Server (on-prem or on a VM).
75+
- *Active Directory Interactive Authentication* is not supported in the connection dialog in *Server Explorer*. You must connect by using SSDT with *SQL Server Object Explorer*.
5776
- Single sign-on integration with the currently logged in Visual Studio account is not supported for SSDT.
58-
- The SQLPackage.exe installed into the Extensions directory during Visual Studio installation is not meant to be used from that location. To use SQLpackage.exe with AAD go to https://www.microsoft.com/en-us/download/details.aspx?id=55088
59-
- SSDT Data Compare is not supported for AAD authentication including the new authentication method.
60-
61-
62-
77+
- The SQLPackage.exe that is installed into the Extensions directory during Visual Studio installation is not meant to be used from that location. To use SQLPackage.exe with Azure AD, go to [https://www.microsoft.com/download/details.aspx?id=55088](https://www.microsoft.com/download/details.aspx?id=55088)
78+
- SSDT Data Compare is not supported for Azure AD authentication.
6379

6480

6581
## See Also
82+
6683
[Multi-factor authentication](https://docs.microsoft.com/azure/sql-database/sql-database-ssms-mfa-authentication)
6784
[Azure Active Directory authentication with SQL Database](https://docs.microsoft.com/azure/sql-database/sql-database-aad-authentication-configure)
6885
[SQL Server Data Tools in Visual Studio](https://msdn.microsoft.com/library/hh272686(v=vs.103).aspx)

docs/t-sql/statements/alter-database-transact-sql-compatibility-level.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ This section describes new behaviors introduced with compatibility level 140.
169169
|Batch-mode queries that contain join operators are eligible for three physical join algorithms, including nested loop, hash join and merge join. If cardinality estimates are incorrect for join inputs, an inappropriate join algorithm may be selected. If this occurs, performance will suffer and the inappropriate join algorithm will remain in-use until the cached plan is recompiled.|There is an additional join operator called **adaptive join**. If cardinality estimates are incorrect for the outer build join input, an inappropriate join algorithm may be selected. If this occurs and the statement is eligible for an adaptive join, a nested loop will be used for smaller join inputs and a hash join will be used for larger join inputs dynamically without requiring recompilation. |
170170
|Trivial plans referencing Columnstore indexes are not eligible for batch mode execution. |A trivial plan referencing Columnstore indexes will be discarded in favor of a plan that is eligible for batch mode execution.|
171171
|The `sp_execute_external_script` UDX operator can only run in row mode.|The `sp_execute_external_script` UDX operator is eligible for batch mode execution.|
172-
|Multi-statement table-valued functions (TVF's) do not have interleaved execution |Interleaved execution for multi-statement TVFs to improve plan quality . |
172+
|Multi-statement table-valued functions (TVF's) do not have interleaved execution |Interleaved execution for multi-statement TVFs to improve plan quality.|
173173

174174
Fixes that were under trace flag 4199 in earlier versions of SQL Server prior to SQL Server 2017 are now enabled by default. With compatibility mode 140. Trace flag 4199 will still be applicable for new query optimizer fixes that are released after SQL Server 2017. For information about Trace Flag 4199, see [Trace Flag 4199](../../t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql.md#4199).
175175

@@ -178,16 +178,17 @@ This section describes new behaviors introduced with compatibility level 130.
178178

179179
|Compatibility-level setting of 120 or lower|Compatibility-level setting of 130|
180180
|--------------------------------------------------|-----------------------------------------|
181-
|The Insert in an Insert-select statement is single-threaded.|The Insert in an Insert-select statement is multi-threaded or can have a parallel plan.|
181+
|The INSERT in an INSERT-SELECT statement is single-threaded.|The INSERT in an INSERT-SELECT statement is multi-threaded or can have a parallel plan.|
182182
|Queries on a memory-optimized table execute single-threaded.|Queries on a memory-optimized table can now have parallel plans.|
183-
|Introduced the SQL 2014 Cardinality estimator **CardinalityEstimationModelVersion="120"**|Further cardinality estimation ( CE) Improvements with the Cardinality Estimation Model 130 which is visible from a Query plan. **CardinalityEstimationModelVersion="130"**|
184-
|Batch mode versus Row Mode changes with Columnstore indexes<br /><br /> Sorts on a table with Columnstore index are in Row mode<br /><br /> Windowing function aggregates operate in row mode such as `LAG` or `LEAD`<br /><br /> Queries on Columnstore tables with Multiple distinct clauses operated in Row mode<br /><br /> Queries running under MAXDOP 1 or with a serial plan executed in Row mode | Batch mode versus Row Mode changes with Columnstore indexes<br /><br /> Sorts on a table with a Columnstore index are now in batch mode<br /><br /> Windowing aggregates now operate in batch mode such as `LAG` or `LEAD`<br /><br /> Queries on Columnstore tables with Multiple distinct clauses operate in Batch mode<br /><br /> Queries running under Maxdop1 or with a serial plan execute in Batch Mode|
185-
| Statistics can be automatically updated. | The logic which automatically updates statistics is more aggressive on large tables. In practice, this should reduce cases where customers have seen performance issues on queries where newly inserted rows are queried frequently but where the statistics had not been updated to include those values. |
186-
| Trace 2371 is OFF by default in [!INCLUDE[ssSQL14](../../includes/sssql14-md.md)]. | [Trace 2371](https://blogs.msdn.microsoft.com/psssql/2016/10/04/default-auto-statistics-update-threshold-change-for-sql-server-2016/) is ON by default in [!INCLUDE[ssSQL15](../../includes/sssql15-md.md)]. Trace flag 2371 tells the auto statistics updater to sample a smaller yet wiser subset of rows, in a table that has a great many rows. <br/> <br/> One improvement is to include in the sample more rows that were inserted recently. <br/> <br/> Another improvement is to let queries run while the update statistics process is running, rather than blocking the query. |
187-
| For level 120, statistics are sampled by a *single*-threaded process. | For level 130, statistics are sampled by a *multi*-threaded process. |
188-
| 253 incoming foreign keys is the limit. | A given table can be referenced by up to 10,000 incoming foreign keys or similar references. For restrictions, see [Create Foreign Key Relationships](../../relational-databases/tables/create-foreign-key-relationships.md). |
183+
|Introduced the SQL 2014 Cardinality estimator **CardinalityEstimationModelVersion="120"**|Further cardinality estimation ( CE) Improvements with the Cardinality Estimation Model 130 which is visible from a Query plan. **CardinalityEstimationModelVersion="130"**|
184+
|Batch mode versus Row Mode changes with Columnstore indexes:<br /><ul><li>Sorts on a table with Columnstore index are in Row mode <li>Windowing function aggregates operate in row mode such as `LAG` or `LEAD` <li>Queries on Columnstore tables with Multiple distinct clauses operated in Row mode <li>Queries running under MAXDOP 1 or with a serial plan executed in Row mode</li></ul>| Batch mode versus Row Mode changes with Columnstore indexes:<br /><ul><li>Sorts on a table with a Columnstore index are now in batch mode <li>Windowing aggregates now operate in batch mode such as `LAG` or `LEAD` <li>Queries on Columnstore tables with Multiple distinct clauses operate in Batch mode <li>Queries running under MAXDOP 1 or with a serial plan execute in Batch Mode</li></ul>|
185+
|Statistics can be automatically updated. | The logic which automatically updates statistics is more aggressive on large tables. In practice, this should reduce cases where customers have seen performance issues on queries where newly inserted rows are queried frequently but where the statistics had not been updated to include those values. |
186+
|Trace 2371 is OFF by default in [!INCLUDE[ssSQL14](../../includes/sssql14-md.md)]. | [Trace 2371](https://blogs.msdn.microsoft.com/psssql/2016/10/04/default-auto-statistics-update-threshold-change-for-sql-server-2016/) is ON by default in [!INCLUDE[ssSQL15](../../includes/sssql15-md.md)]. Trace flag 2371 tells the auto statistics updater to sample a smaller yet wiser subset of rows, in a table that has a great many rows. <br/> <br/> One improvement is to include in the sample more rows that were inserted recently. <br/> <br/> Another improvement is to let queries run while the update statistics process is running, rather than blocking the query. |
187+
|For level 120, statistics are sampled by a *single*-threaded process.|For level 130, statistics are sampled by a *multi*-threaded process. |
188+
|253 incoming foreign keys is the limit.| A given table can be referenced by up to 10,000 incoming foreign keys or similar references. For restrictions, see [Create Foreign Key Relationships](../../relational-databases/tables/create-foreign-key-relationships.md). |
189189
|The deprecated MD2, MD4, MD5, SHA, and SHA1 hash algorithms are permitted.|Only SHA2_256 and SHA2_512 hash algorithms are permitted.|
190190
||[!INCLUDE[ssSQL15](../../includes/sssql15-md.md)] includes improvements in some data types conversions and some (mostly uncommon) operations. For details see [SQL Server 2016 improvements in handling some data types and uncommon operations](https://support.microsoft.com/help/4010261/sql-server-2016-improvements-in-handling-some-data-types-and-uncommon).|
191+
|The STRING_SPLIT function is not available.|The STRING_SPLIT function is available under compatibility level 130 or above. If your database compatibility level is lower than 130, [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] will not be able to find and execute STRING_SPLIT function.|
191192

192193
Fixes that were under trace flag 4199 in earlier versions of [!INCLUDE[ssNoVersion](../../includes/ssnoversion-md.md)] prior to [!INCLUDE[ssSQL15](../../includes/sssql15-md.md)] are now enabled by default. With compatibility mode 130. Trace flag 4199 will still be applicable for new query optimizer fixes that are released after [!INCLUDE[ssSQL15](../../includes/sssql15-md.md)]. To use the older query optimizer in [!INCLUDE[ssSDS](../../includes/sssds-md.md)] you must select compatibility level 110. For information about Trace Flag 4199, see [Trace Flag 4199](../../t-sql/database-console-commands/dbcc-traceon-trace-flags-transact-sql.md#4199).
193194

0 commit comments

Comments
 (0)