Skip to content

Commit 7f9a778

Browse files
authored
Merge pull request #21123 from MicrosoftDocs/main
2/01 AM Publish
2 parents 1aba0c6 + 0a2b054 commit 7f9a778

19 files changed

Lines changed: 865 additions & 630 deletions

docs/connect/driver-feature-matrix.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: Driver feature support matrix
33
description: Learn which SQL Server features are supported in the drivers for .NET, ODBC, OLE DB, JDBC, Node.js, JavaScript, and Python.
44
ms.custom: ""
5-
ms.date: 01/07/2022
5+
ms.date: 01/31/2022
66
ms.prod: sql
77
ms.technology: connectivity
88
ms.topic: conceptual
@@ -53,7 +53,7 @@ We wish all drivers supported every feature and spend effort to ensure feature p
5353
| :-- | :-- | :-- | :-- | :-- |
5454
| [Always Encrypted](../relational-databases/security/encryption/always-encrypted-database-engine.md) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md) (v13.1+) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md) (v13.1+) | [Yes](jdbc/using-always-encrypted-with-the-jdbc-driver.md) (v6.0+) |
5555
| [Always Encrypted with secure enclaves](../relational-databases/security/encryption/always-encrypted-enclaves.md) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md#enabling-always-encrypted-with-secure-enclaves) (v17.4+) | [Yes](odbc/using-always-encrypted-with-the-odbc-driver.md#enabling-always-encrypted-with-secure-enclaves) (v17.4+) | [Yes](jdbc/using-always-encrypted-with-the-jdbc-driver.md) (v8.2+) | |
56-
| [Azure Active Directory Access Token authentication](/azure/active-directory/develop/access-tokens) | [Yes](odbc/using-azure-active-directory.md#authenticating-with-an-access-token) (v13.1+) | [Yes](odbc/using-azure-active-directory.md#authenticating-with-an-access-token) (v13.1+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md#connecting-using-access-token) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
56+
| [Azure Active Directory Access Token authentication](/azure/active-directory/develop/access-tokens) | [Yes](odbc/using-azure-active-directory.md#authenticating-with-an-access-token) (v13.1+) | [Yes](odbc/using-azure-active-directory.md#authenticating-with-an-access-token) (v13.1+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md#connect-using-access-token) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
5757
| [Azure Active Directory Password authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
5858
| [Azure Active Directory Integrated authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](odbc/using-azure-active-directory.md) (v13.1+) | [Yes](odbc/using-azure-active-directory.md) (v17.6+) | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v6.0+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.2+) |
5959
| [Azure Active Directory Interactive (MFA) authentication](/azure/sql-database/sql-database-aad-authentication) | [Yes](odbc/using-azure-active-directory.md) (v17.1+) | | [Yes](jdbc/connecting-using-azure-active-directory-authentication.md) (v9.2+) | [Yes](oledb/features/using-azure-active-directory.md) (v18.3+) |

docs/connect/jdbc/azure-key-vault-sample-version-9.2.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
22
title: Azure Key Vault sample
3-
description: This JDBC code example demonstrates how to use Azure Key Vault as your key store provider when using Always Encrypted.
3+
description: This JDBC code example demonstrates how to use Azure Key Vault as your key store provider for Always Encrypted.
44
ms.custom: ""
5-
ms.date: 07/30/2021
5+
ms.date: 01/31/2022
66
ms.prod: sql
77
ms.prod_service: connectivity
88
ms.reviewer: v-davidengel
@@ -17,7 +17,7 @@ ms.author: v-susanh
1717

1818
## Sample application using Azure Key Vault
1919

20-
This application is runnable using JDBC Driver 9.2 and above, Azure-Security-Keyvault (version 4.2.8), Azure-Identity (version 1.3.3), and their dependencies. The underlying dependencies can be resolved by adding these libraries to the Project Object Model (POM) file of the project. For more information on feature dependencies, see [Feature dependencies of the Microsoft JDBC Driver for SQL Server](feature-dependencies-of-microsoft-jdbc-driver-for-sql-server.md).
20+
This application is runnable using JDBC Driver 10.2 and above, Azure-Security-Keyvault (version 4.3.6), Azure-Identity (version 1.4.3), and their dependencies. To resolve the underlying dependencies, add these libraries to the Project Object Model (POM) file of the project. For more information on feature dependencies, see [Feature dependencies of the Microsoft JDBC Driver for SQL Server](feature-dependencies-of-microsoft-jdbc-driver-for-sql-server.md).
2121

2222
```java
2323
import java.net.URISyntaxException;

docs/connect/jdbc/connecting-to-an-azure-sql-database.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
---
2-
title: Connecting to an Azure SQL database
3-
description: This article discusses issues when using the Microsoft JDBC Driver for SQL Server to connect to an Azure SQL Database.
2+
title: Connect to an Azure SQL database
3+
description: This article discusses issues when you use the Microsoft JDBC Driver for SQL Server to connect to an Azure SQL Database.
44
ms.custom: ""
5-
ms.date: 12/18/2020
5+
ms.date: 01/31/2022
66
ms.prod: sql
77
ms.prod_service: connectivity
88
ms.reviewer: ""
@@ -12,38 +12,38 @@ ms.assetid: 49645b1f-39b1-4757-bda1-c51ebc375c34
1212
author: David-Engel
1313
ms.author: v-davidengel
1414
---
15-
# Connecting to an Azure SQL database
15+
# Connect to an Azure SQL database
1616

1717
[!INCLUDE[Driver_JDBC_Download](../../includes/driver_jdbc_download.md)]
1818

19-
This article discusses issues when using the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)] to connect to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)]. For more information about connecting to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], see:
19+
This article discusses issues when you use the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)] to connect to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)]. For more information to connect to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], see:
2020

2121
- [Azure SQL Database](/azure/sql-database/sql-database-technical-overview)
2222

2323
- [How to: Connect to Azure SQL Using JDBC](/azure/sql-database/sql-database-connect-query-java)
2424

25-
- [Connecting using Azure Active Directory Authentication](connecting-using-azure-active-directory-authentication.md)
25+
- [Connect using Azure Active Directory Authentication](connecting-using-azure-active-directory-authentication.md)
2626

2727
## Details
2828

29-
When connecting to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], you should connect to the master database to call **SQLServerDatabaseMetaData.getCatalogs**.
29+
To connect to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], you should connect to the master database to call **SQLServerDatabaseMetaData.getCatalogs**.
3030
[!INCLUDE[ssAzure](../../includes/ssazure_md.md)] doesn't support returning the entire set of catalogs from a user database. **SQLServerDatabaseMetaData.getCatalogs** use the sys.databases view to get the catalogs. Refer to the discussion of permissions in [sys.databases (Transact-SQL)](../../relational-databases/system-catalog-views/sys-databases-transact-sql.md) to understand **SQLServerDatabaseMetaData.getCatalogs** behavior on an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)].
3131

3232
## Connections dropped
3333

34-
When connecting to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], idle connections may be terminated by a network component (such as a firewall) after a period of inactivity. There are two types of idle connections, in this context:
34+
When you connect to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], idle connections may be terminated by a network component (such as a firewall) after a period of inactivity. There are two types of idle connections, in this context:
3535

3636
- Idle at the TCP layer, where connections can be dropped by any number of network devices.
3737

38-
- Idle by the Azure SQL Gateway, where TCP **keepalive** messages might be occurring (making the connection not idle from a TCP perspective), but not had an active query in 30 minutes. In this scenario, the Gateway will determine that the TDS connection is idle at 30 minutes and terminate the connection.
38+
- Idle by the Azure SQL Gateway, where TCP **keepalive** messages might be occurring (which makes the connection not idle from a TCP perspective), but not had an active query in 30 minutes. In this scenario, the Gateway will determine that the TDS connection is idle at 30 minutes and terminates the connection.
3939

4040
To address the second point and avoid the Gateway terminating idle connections, you can:
4141

42-
* Use the **Redirect** [connection policy](/azure/azure-sql/database/connectivity-architecture#connection-policy) when configuring your Azure SQL data source.
42+
* Use the **Redirect** [connection policy](/azure/azure-sql/database/connectivity-architecture#connection-policy) to configure your Azure SQL data source.
4343

44-
* Keep connections active via lightweight activity. This method is not recommended and should only be used if there are no other possible options.
44+
* Keep connections active via lightweight activity. This method isn’t recommended and should only be used if there are no other possible options.
4545

46-
To address the first point and avoid dropping idle connections by a network component, the following registry settings (or their non-Windows equivalents) should be set on the operating system where the driver is loaded:
46+
To address the first point and avoid dropping idle connections by a network component, set the following registry settings or their non-Windows equivalents on the operating system where the driver is loaded:
4747

4848
|Registry Setting|Recommended Value|
4949
|----------------------|-----------------------|
@@ -53,12 +53,12 @@ To address the first point and avoid dropping idle connections by a network comp
5353

5454
Restart the computer for the registry settings to take effect.
5555

56-
The KeepAliveTime and KeepAliveInterval values are in milliseconds. These settings will have the effect of disconnecting an unresponsive connection within 10 to 40 seconds. After a keep alive packet is sent, if no response is received, it will be retried every second up to 10 times. If no response is received during that time, the client-side socket is disconnected. Depending on your environment, you may want to increase the KeepAliveInterval to accommodate known disruptions (like virtual machine migrations) that might cause a server to be unresponsive for longer than 10 seconds.
56+
The KeepAliveTime and KeepAliveInterval values are in milliseconds. These settings will have the effect to disconnect an unresponsive connection within 10 to 40 seconds. If no response is received after a keep alive packet is sent, it will be retried every second up to 10 times. If no response is received during that time, the client-side socket is disconnected. Depending on your environment, you might want to increase the KeepAliveInterval to accommodate known disruptions (for example, virtual machine migrations), that might cause a server to be unresponsive for longer than 10 seconds.
5757

5858
> [!NOTE]
59-
> TcpMaxDataRetransmissions is not controllable on Windows Vista or Windows 2008 and higher.
59+
> TcpMaxDataRetransmissions isn't controllable on Windows Vista or Windows 2008 and higher.
6060
61-
To perform this configuration when running in Azure, create a startup task to add the registry keys. For example, add the following Startup task to the service definition file:
61+
To perform this configuration to run in Azure, create a startup task to add the registry keys. For example, add the following Startup task to the service definition file:
6262

6363

6464
```xml
@@ -81,13 +81,13 @@ shutdown /r /t 1
8181
:done
8282
```
8383

84-
## Appending the server name to the userId in the connection string
84+
## Append the server name to the userId in the connection string
8585

86-
Prior to the 4.0 version of the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)], when connecting to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], you were required to append the server name to the UserId in the connection string. For example, user@servername. Beginning in version 4.0 of the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)], it's no longer necessary to append @servername to the UserId in the connection string.
86+
Prior to the 4.0 version of the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)], to connect to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], you were required to append the server name to the UserId in the connection string. For example, user@servername. Beginning in version 4.0 of the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)], it's no longer necessary to append @servername to the UserId in the connection string.
8787

8888
## Using encryption requires setting hostNameInCertificate
8989

90-
Prior to the 7.2 version of the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)], when connecting to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], you should specify **hostNameInCertificate** if you specify **encrypt=true** (If the server name in the connection string is *shortName*.*domainName*, set the **hostNameInCertificate** property to \*.*domainName*.). This property is optional as of version 7.2 of the driver.
90+
Prior to the 7.2 version of the [!INCLUDE[jdbcNoVersion](../../includes/jdbcnoversion_md.md)], to connect to an [!INCLUDE[ssAzure](../../includes/ssazure_md.md)], you should specify **hostNameInCertificate** if you specify **encrypt=true** (If the server name in the connection string is *shortName*.*domainName*, set the **hostNameInCertificate** property to \*.*domainName*.). This property is optional as of version 7.2 of the driver.
9191

9292
For example:
9393

0 commit comments

Comments
 (0)