Skip to content

Commit c9570b1

Browse files
Merge pull request #34636 from MicrosoftDocs/main
Merged by Learn.Build PR Management system
2 parents f274e76 + 52d3b01 commit c9570b1

13 files changed

Lines changed: 348 additions & 361 deletions

docs/includes/entra-id-tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ Or,
103103
104104
1. For the **Method of certificate creation**, use **Generate**.
105105
106-
1. Add a certificate name and subject.
106+
1. Add a certificate name and subject. The certificate name must be unique. A certificate name that matches an existing certificate causes an error when the login is created.
107107
108108
1. The recommended validity period is at most 12 months. The rest of the values can be left as default.
109109

docs/relational-databases/performance/optimized-locking.md

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "Learn about the optimized locking enhancement to the database engi
44
author: MikeRayMSFT
55
ms.author: mikeray
66
ms.reviewer: randolphwest, peskount, praspu, dfurman
7-
ms.date: 04/14/2025
7+
ms.date: 07/07/2025
88
ms.service: sql
99
ms.subservice: performance
1010
ms.topic: conceptual
@@ -235,6 +235,19 @@ LAQ is disabled for the database if the percentage of the potentially wasted wor
235235

236236
If the wasted work and the number of restarted statements fall below their respective thresholds, LAQ is re-enabled for the database.
237237

238+
#### LAQ limitations
239+
240+
Lock after qualification might not be used in the following scenarios:
241+
242+
- When disabled by [LAQ heuristics](#laq-heuristics).
243+
- When conflicting locking hints, such as `UPDLOCK`, `READCOMMITTEDLOCK`, `XLOCK`, or `HOLDLOCK` are used.
244+
- When the transaction isolation level is other than `READ COMMITTED`, or when the `READ_COMMITTED_SNAPSHOT` database option is disabled.
245+
- When the table being modified has a columnstore index.
246+
- When the DML statement includes variable assignment.
247+
- When the DML statement has an `OUTPUT` clause.
248+
- When the DML statement uses more than one index seek or scan operator to read the rows being modified.
249+
- In `MERGE` statements.
250+
238251
### <a id="behavior"></a> Query behavior changes with optimized locking and RCSI
239252

240253
Concurrent workloads under read committed snapshot isolation (RCSI) that rely on strict execution order of transactions might experience differences in query behavior when optimized locking is enabled.
@@ -304,7 +317,7 @@ The following improvements help you monitor and troubleshoot blocking and deadlo
304317
- Under each resource in the deadlock report `<resource-list>`, each `<xactlock>` element reports the underlying resources and specific information for locks of each member of a deadlock. For more information and an example, see [Optimized locking and deadlocks](../sql-server-deadlocks-guide.md#optimized-locking-and-deadlocks).
305318
- Extended events
306319
- The `lock_after_qual_stmt_abort` event fires when a statement is internally aborted and restarted because of a conflict with another transaction. For more information, see [Lock after qualification (LAQ)](#lock-after-qualification-laq).
307-
- In [!INCLUDE [sssql25-md](../../includes/sssql25-md.md)], the `locking_stats` event fires for every database every several minutes and provides aggregate locking statistics for the time interval, such as the number of lock escalations, whether TID locking and LAQ components of optimized locking are enabled, and the number of queries that were ineligible for LAQ for various reasons. This event fires even if optimized locking is disabled.
320+
- In [!INCLUDE [sssql25-md](../../includes/sssql25-md.md)], the `locking_stats` event fires for every database every several minutes and provides aggregate locking statistics for the time interval, such as the number of lock escalations, whether TID locking and LAQ components of optimized locking are enabled, and the number of queries where LAQ wasn't used for various reasons. This event fires even if optimized locking is disabled.
308321

309322
## Best practices with optimized locking
310323

docs/relational-databases/polybase/polybase-guide.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: PolyBase enables your SQL Server instance to process Transact-SQL q
44
author: MikeRayMSFT
55
ms.author: mikeray
66
ms.reviewer: hudequei, randolphwest
7-
ms.date: 04/29/2025
7+
ms.date: 07/08/2025
88
ms.service: sql
99
ms.subservice: polybase
1010
ms.topic: "overview"
@@ -55,7 +55,7 @@ PolyBase provides these same functionalities for the following SQL products from
5555
| --- | --- |
5656
| Native support for CSV, Parquet, & Delta <sup>1</sup> | PolyBase Query Service for External Data installation is no longer required to use OPENROWSET, CREATE EXTERNAL TABLE, or CREATE EXTERNAL TABLE AS SELECT with the following types of external data: Parquet, Delta, Azure Blob Storage (ABS), Azure Data Lake Storage (ADLS), or S3-Compatible Object storage. |
5757
| Use generic ODBC data sources on Linux | For more information, see [Configure PolyBase to access external data with ODBC generic types](polybase-configure-odbc-generic.md). |
58-
|TDS 8.0 Support|When using [Microsoft ODBC Driver 18 for SQL Server driver](/sql/connect/odbc/windows/features-of-the-microsoft-odbc-driver-for-sql-server-on-windows).<br /><br /> TDS 8.0 is not supported for sqlserver as [external data source](/sql/t-sql/statements/create-external-data-source-transact-sql).|
58+
| TDS 8.0 support | When using [Microsoft ODBC Driver 18 for SQL Server](../../connect/odbc/windows/features-of-the-microsoft-odbc-driver-for-sql-server-on-windows.md), TDS 8.0 isn't supported for [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] as an [external data source](../../t-sql/statements/create-external-data-source-transact-sql.md). |
5959

6060
<sup>1</sup> On [!INCLUDE [sssql25-md](../../includes/sssql25-md.md)], PolyBase Query Service for External Data is still required to connect with other databases. For example: SQL Server, Oracle, DB2, Teradata, MongoDB, or ODBC.
6161

@@ -69,7 +69,7 @@ PolyBase provides these same functionalities for the following SQL products from
6969
| Delta table format | PolyBase is now capable of querying (read-only) data from Delta Table format stored on S3-compatible object storage, Azure Storage Account V2, and Azure Data Lake Storage Gen2. For more information, see to [Virtualize delta table with PolyBase](virtualize-delta.md) |
7070
| Create External Table as Select (CETAS) | PolyBase can now use CETAS to create an external table and then export, in parallel, the result of a [!INCLUDE [tsql](../../includes/tsql-md.md)] SELECT statement to Azure Data Lake Storage Gen2, Azure Storage Account V2, and S3-compatible object storage. For more information, see [CREATE EXTERNAL TABLE AS SELECT (CETAS)](../../t-sql/statements/create-external-table-as-select-transact-sql.md). |
7171

72-
For more new features of [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)], see [What's new in SQL Server 2022?](../../sql-server/what-s-new-in-sql-server-2022.md)
72+
For more new features of [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)], see [What's new in SQL Server 2022](../../sql-server/what-s-new-in-sql-server-2022.md).
7373

7474
> [!TIP]
7575
> For a tutorial of PolyBase features and capabilities in [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)], see [Get started with PolyBase in SQL Server 2022](polybase-get-started.md).

docs/relational-databases/security/authentication-access/azure-ad-authentication-sql-server-setup-tutorial.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ monikerRange: ">=sql-server-ver16||>= sql-server-linux-ver16"
1515

1616
[!INCLUDE [SQL Server 2022](../../../includes/applies-to-version/sqlserver2022.md)]
1717

18-
[!INCLUDE [entra-id-tutorial](../../../includes/entra-id-tutorial.md)]
18+
[!INCLUDE [entra-id-tutorial](../../../includes/entra-id-tutorial.md)]

docs/relational-databases/security/encryption/sql-server-connector-maintenance-troubleshooting.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,15 @@ Versions 1.0.0.440 and older have been replaced and are no longer supported in p
4646
1. Start SQL Server service.
4747
1. Test encrypted databases are accessible.
4848

49+
If your database is in a `RECOVERY PENDING` state, you need to run an `ALTER` command on the cryptographic provider. Replace *AzureKeyVault_EKM* with the name of your actual cryptographic provider, which you can find in the [sys.cryptographic_providers](../../../relational-databases/system-catalog-views/sys-cryptographic-providers-transact-sql.md) system view.
50+
51+
``` sql
52+
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM DISABLE;
53+
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';
54+
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM ENABLE;
55+
```
56+
Restart the SQL Server service after modifying the cryptographic provider.
57+
4958
### Rollback
5059

5160
1. Stop SQL Server service using **SQL Server Configuration Manager**.

docs/relational-databases/security/encryption/sql-server-connector-registry-modification.md

Lines changed: 33 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This article describes enabling errors and logging for SQL Server C
44
author: VanMSFT
55
ms.author: vanto
66
ms.reviewer: vanto
7-
ms.date: 08/23/2021
7+
ms.date: 07/08/2025
88
ms.service: sql
99
ms.subservice: security
1010
ms.topic: how-to
@@ -27,44 +27,58 @@ Use the [Azure Key Vault forum](https://social.msdn.microsoft.com/Forums/AzureKe
2727
2828
## Upgrade SQL Server Connector to the latest version
2929

30-
To upgrade the SQL Server Connector (Version: 1.0.5.0 with a Date Published: September 2020) to the latest version DLL Crypto provider, follow these steps.
30+
To upgrade the SQL Server Connector (Version: 1.0.5.0 with a Date Published: January 2025) to the latest version DLL Crypto provider, follow these steps.
3131

3232
### Upgrade
3333

34-
1. Stop SQL Server service using SQL Server Configuration Manager
35-
1. Uninstall the old version using **Control Panel\Programs\Programs and Features**
34+
1. Stop SQL Server service using **SQL Server Configuration Manager**.
35+
1. Uninstall the old version using **Control Panel** > **Programs** > **Programs and Features**.
3636
1. Application name: SQL Server Connector for Microsoft Azure Key Vault
37-
1. Version: 15.0.300.96 (original 1.0.5.0 version)
38-
1. DLL file date: 01/30/2018 3:00 PM
39-
1. Install (upgrade) new SQL Server Connector for Microsoft Azure Key Vault
40-
1. Version: 15.0.2000.440 (or latest version)
41-
1. DLL file date: 09/11/2020 ‏‎5:17 AM (or later)
42-
1. Start SQL Server service
43-
1. Test encrypted DB(s) is/are accessible
37+
1. Version: 15.0.300.96 (or older)
38+
1. DLL file date: January 30 2018 (or older)
39+
1. Install (upgrade) new SQL Server Connector for Microsoft Azure Key Vault.
40+
1. Version: 15.0.2000.440
41+
1. DLL file date: November 9 2024
42+
1. Start SQL Server service.
43+
1. Test encrypted databases are accessible.
44+
45+
If your database is in a `RECOVERY PENDING` state, you need to run an `ALTER` command on the cryptographic provider. Replace *AzureKeyVault_EKM* with the name of your actual cryptographic provider, which you can find in the [sys.cryptographic_providers](../../../relational-databases/system-catalog-views/sys-cryptographic-providers-transact-sql.md) system view.
46+
47+
``` sql
48+
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM DISABLE;
49+
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM FROM FILE = 'C:\Program Files\SQL Server Connector for Microsoft Azure Key Vault\Microsoft.AzureKeyVaultService.EKM.dll';
50+
ALTER CRYPTOGRAPHIC PROVIDER AzureKeyVault_EKM ENABLE;
51+
```
52+
Restart the SQL Server service after modifying the cryptographic provider.
4453

4554
### Rollback
4655

47-
1. Stop SQL Server service using SQL Server Configuration Manager
48-
1. Uninstall the new version using **Control Panel\Programs\Programs and Features**
56+
1. Stop SQL Server service using **SQL Server Configuration Manager**.
57+
1. Uninstall the new version using **Control Panel** > **Programs** > **Programs and Features**.
4958
1. Application name: SQL Server Connector for Microsoft Azure Key Vault
5059
1. Version: 15.0.2000.440
51-
1. DLL file date: 09/11/2020 ‏‎5:17 AM
52-
1. Install old version of SQL Server Connector for Microsoft Azure Key Vault
60+
1. DLL file date: November 9 2024
61+
62+
1. Install old version of SQL Server Connector for Microsoft Azure Key Vault.
5363
1. Version: 15.0.300.96
54-
1. DLL file date: 01/30/2018 3:00 PM
55-
1. Start SQL Server service
56-
1. Test encrypted DB(s) is/are accessible
64+
1. DLL file date: January 30 2018
65+
1. Start SQL Server service.
66+
1. Check that the databases using TDE are accessible.
67+
68+
1. After validating that the update works, you can delete the old [!INCLUDE [ssNoVersion](../../../includes/ssnoversion-md.md)] **Connector** folder (if you chose to rename it instead of uninstalling in Step 3).
5769

5870
> [!NOTE]
5971
> - SQL Server Connector versions 1.0.0.440 and older have been replaced and are no longer supported in production environments. For more information on troubleshooting SQL Server Connector issues, see [SQL Server Connector Maintenance & Troubleshooting](../../../relational-databases/security/encryption/sql-server-connector-maintenance-troubleshooting.md).
6072
> - Starting with version 1.0.3.0, the SQL Server Connector reports relevant error messages to the Windows event logs for troubleshooting.
6173
> - Starting with [1.0.4.0: (version 13.0.811.168)](https://download.microsoft.com/download/8/0/9/809494f2-bac9-4388-ad07-7eaf9745d77b/SQL%20Server%20Connector%20for%20Microsoft%20Azure%20Key%20Vault%201.0.4.0.msi), there is support for private Azure clouds, including Azure operated by 21Vianet, Azure Germany, and Azure Government.
6274
> - There is a breaking change in version 1.0.5.0 in terms of the thumbprint algorithm. You may experience database restore failures after upgrading to 1.0.5.0. For more information, see [Error 33111 when restoring backups from older versions of SQL Server Connector for Microsoft Azure Key Vault](/troubleshoot/sql/database-engine/backup-restore/error-33111-restore-issues-sql-connector).
63-
> - **Starting with version [1.0.5.0 (with a file date of September 2020)](https://www.microsoft.com/en-us/download/details.aspx?id=45344), the SQL Server Connector supports filtering messages and network request retry logic.**
75+
> - Starting with version [1.0.5.0 (with a file date of September 2020)](https://www.microsoft.com/en-us/download/details.aspx?id=45344), the SQL Server Connector supports filtering messages and network request retry logic.
76+
> - Starting with version [1.0.5.0 (with a file date of November 2024)](https://www.microsoft.com/en-us/download/details.aspx?id=45344) and SQL Server 2022 CU17 and later versions., the SQL Server Connector supports authentication with Azure Key Vault using managed identity for SQL Server on Azure Virtual Machines.
6477
> - *The old version of the SQL Server Connector is also version: [1.0.5.0 (version 15.0.300.96) – File date January 2018](https://download.microsoft.com/download/8/0/9/809494f2-bac9-4388-ad07-7eaf9745d77b/1033_15.0.2000.367/SQLServerConnectorforMicrosoftAzureKeyVault.msi)*. Upgrade to the newest SQL Server Connector if you experience any issues.
6578
6679
**System Requirements** - Supported SQL Server versions:
6780

81+
- SQL Server 2022 RTM Enterprise or Standard 64-bit
6882
- SQL Server 2019 RTM Enterprise or Standard 64-bit
6983
- SQL Server 2017 RTM Enterprise 64-bit
7084
- SQL Server 2016 RTM Enterprise 64-bit

0 commit comments

Comments
 (0)