Skip to content

Commit d723dc0

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/sql-docs-pr into release-version-labels
2 parents 1c5ceb2 + c4c4818 commit d723dc0

82 files changed

Lines changed: 175 additions & 170 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

docs/connect/php/connection-pooling-microsoft-drivers-for-php-for-sql-server.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "Connection Pooling (Microsoft Drivers for PHP for SQL Server) | Microsoft Docs"
33
ms.custom: ""
4-
ms.date: "08/01/2018"
4+
ms.date: "08/01/2020"
55
ms.prod: sql
66
ms.prod_service: connectivity
77
ms.reviewer: ""
@@ -22,7 +22,7 @@ The following are important points to note about connection pooling in the [!INC
2222

2323
- By default, connection pooling is enabled in Windows. In Linux and macOS, connections are pooled only if connection pooling is enabled for ODBC (see [Enabling/Disabling connection pooling](#enablingdisabling-connection-pooling)). When connection pooling is enabled and you connect to a server, the driver attempts to use a pooled connection before it creates a new one. If an equivalent connection is not found in the pool, a new connection is created and added to the pool. The driver determines whether connections are equivalent based on a comparison of connection strings.
2424

25-
- When a connection from the pool is used, the connection state is reset.
25+
- When a connection from the pool is used, the connection state is reset (Windows only).
2626

2727
- Closing the connection returns the connection to the pool.
2828

@@ -33,8 +33,12 @@ For more information about connection pooling, see [Driver Manager Connection Po
3333
You can force the driver to create a new connection (instead of looking for an equivalent connection in the connection pool) by setting the value of the *ConnectionPooling* attribute in the connection string to **false** (or 0).
3434

3535
If the *ConnectionPooling* attribute is omitted from the connection string or if it is set to **true** (or 1), the driver only creates a new connection if an equivalent connection does not exist in the connection pool.
36+
37+
> [!NOTE]
38+
> Multiple Active Result Sets (MARS) is enabled by default. When both MARS and pooling are in use, in order for MARS to work correctly, the driver requires a longer time to reset the connection on the *first* query, thus ignoring any query timeout specified. However, the query timeout setting will take effect in the subsequent queries.
3639
37-
For information about other connection attributes, see [Connection Options](../../connect/php/connection-options.md).
40+
If necessary, please check [How to: Disable Multiple Active Resultsets (MARS)](../../connect/php/how-to-disable-multiple-active-resultsets-mars.md). For information about other connection attributes, see [Connection Options](../../connect/php/connection-options.md).
41+
3842
### Linux and macOS
3943
The *ConnectionPooling* attribute cannot be used to enable/disable connection pooling.
4044

@@ -45,7 +49,7 @@ Setting `Pooling` to `Yes` and a positive `CPTimeout` value in the odbcinst.ini
4549
[ODBC]
4650
Pooling=Yes
4751
48-
[ODBC Driver 13 for SQL Server]
52+
[ODBC Driver 17 for SQL Server]
4953
CPTimeout=<int value>
5054
```
5155

@@ -55,9 +59,9 @@ Minimally, the odbcinst.ini file should look something like this example:
5559
[ODBC]
5660
Pooling=Yes
5761
58-
[ODBC Driver 13 for SQL Server]
59-
Description=Microsoft ODBC Driver 13 for SQL Server
60-
Driver=/opt/microsoft/msodbcsql/lib64/libmsodbcsql-13.1.so.3.0
62+
[ODBC Driver 17 for SQL Server]
63+
Description=Microsoft ODBC Driver 17 for SQL Server
64+
Driver=/opt/microsoft/msodbcsql17/lib64/libmsodbcsql-17.5.so.2.1
6165
UsageCount=1
6266
CPTimeout=120
6367
```
@@ -69,7 +73,7 @@ Pooling=No
6973
```
7074

7175
## Remarks
72-
- In Linux or macOS, all connections will be pooled if pooling is enabled in the odbcinst.ini file. This means the ConnectionPooling connection option has no effect. To disable pooling, set Pooling=No in the odbcinst.ini file and reload the drivers.
76+
- In Linux or macOS, connection pooling is not recommended with unixODBC < 2.3.7. All connections will be pooled if pooling is enabled in the odbcinst.ini file, which means the ConnectionPooling connection option has no effect. To disable pooling, set Pooling=No in the odbcinst.ini file and reload the drivers.
7377
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
7478
- for this reason, SQLSRV and PDO_SQLSRV drivers might not be able to properly fetch long data (such as xml, binary) as strings. Long data can be fetched as streams as a workaround. See the example below for SQLSRV.
7579

docs/database-engine/availability-groups/windows/always-on-client-connectivity-sql-server.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
title: "Driver and client connectivity support for availability groups"
33
description: "This topic describes considerations for client connectivity to Always On availability groups, including prerequisites, restrictions, and recommendations for client configurations and settings. "
44
ms.custom: "seodec18"
5-
ms.date: "04/26/2018"
5+
ms.date: "07/28/2020"
66
ms.prod: sql
77
ms.reviewer: ""
88
ms.technology: high-availability
@@ -34,8 +34,9 @@ ms.author: mathoma
3434
|SQL Native Client 11.0 OLEDB|No|Yes|Yes|No|No|
3535
|ADO.NET with .NET Framework 4.0 with connectivity patch*|Yes|Yes|Yes|Yes|Yes|
3636
|ADO.NET with .NET Framework 3.5 SP1 with connectivity patch**|Yes|Yes|Yes|Yes|Yes|
37-
|Microsoft JDBC driver 4.0 for SQL Server|Yes|Yes|Yes|Yes|Yes|
38-
|Microsoft OLE DB Driver for SQL Server|Yes|Yes|Yes|Yes|Yes|
37+
|[Microsoft ODBC Driver 13.1+ for SQL Server](../../../connect/odbc/microsoft-odbc-driver-for-sql-server.md)|Yes|Yes|Yes|Yes|Yes|
38+
|[Microsoft JDBC Driver 4.0+ for SQL Server](../../../connect/oledb/oledb-driver-for-sql-server.md)|Yes|Yes|Yes|Yes|Yes|
39+
|[Microsoft OLE DB Driver for SQL Server](../../../connect/jdbc/microsoft-jdbc-driver-for-sql-server.md)|Yes|Yes|Yes|Yes|Yes|
3940

4041
*Download the connectivity patch for ADO .NET with .NET Framework 4.0: [https://support.microsoft.com/kb/2600211](https://support.microsoft.com/kb/2600211).
4142

docs/database-engine/availability-groups/windows/cluster-dtc-for-sql-server-2016-availability-groups.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,30 +20,30 @@ This topic describes the requirements and steps for clustering the Microsoft Dis
2020

2121
## Checklist: Preliminary Requirements
2222

23-
||Task|Reference|
24-
|------|-----------------|----------|
25-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|Ensure all nodes, services and the Availability Group have been configured correctly.|[Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server)](../../../database-engine/availability-groups/windows/prereqs-restrictions-recommendations-always-on-availability.md)|
26-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|Ensure Availability Group DTC requirements have been met.|[Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server)](../../../database-engine/availability-groups/windows/transactions-always-on-availability-and-database-mirroring.md)
23+
|Task|Reference|
24+
|-----------------|----------|
25+
|Ensure all nodes, services and the Availability Group have been configured correctly.|[Prerequisites, Restrictions, and Recommendations for Always On Availability Groups (SQL Server)](../../../database-engine/availability-groups/windows/prereqs-restrictions-recommendations-always-on-availability.md)|
26+
|Ensure Availability Group DTC requirements have been met.|[Cross-Database Transactions and Distributed Transactions for Always On Availability Groups and Database Mirroring (SQL Server)](../../../database-engine/availability-groups/windows/transactions-always-on-availability-and-database-mirroring.md)
2727

2828
## Checklist: Clustered DTC Resource Dependencies
2929

30-
||Task|Reference|
31-
|------|-----------------|----------|
32-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|A shared-storage drive.|[Configuring the Shared-Storage Drive](https://msdn.microsoft.com/library/cc982358(v=bts.10).aspx). Consider using drive letter **M**.|
33-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|A unique DTC Network Name resource. The name will be registered as a cluster computer object in Active Directory.<br /><br />Make sure that either of the following is true:<br /><br />• The user who creates the DTC Network Name resource has the Create Computer objects permission to the OU or the container where the DTC Network Name resource will reside.<br /><br />• If the user does not have the Create Computer objects permission, ask a domain administrator to prestage a cluster computer object for the DTC Network Name resource.|[Prestage Cluster Computer Objects in Active Directory Domain Services](https://technet.microsoft.com/library/dn466519(v=ws.11).aspx)|
34-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|A valid available static IP address and the appropriate subnet mask for that IP address.||
30+
|Task|Reference|
31+
|-----------------|----------|
32+
|A shared-storage drive.|[Configuring the Shared-Storage Drive](https://msdn.microsoft.com/library/cc982358(v=bts.10).aspx). Consider using drive letter **M**.|
33+
|A unique DTC Network Name resource. The name will be registered as a cluster computer object in Active Directory.<br /><br />Make sure that either of the following is true:<br /><br />• The user who creates the DTC Network Name resource has the Create Computer objects permission to the OU or the container where the DTC Network Name resource will reside.<br /><br />• If the user does not have the Create Computer objects permission, ask a domain administrator to prestage a cluster computer object for the DTC Network Name resource.|[Prestage Cluster Computer Objects in Active Directory Domain Services](https://technet.microsoft.com/library/dn466519(v=ws.11).aspx)|
34+
|A valid available static IP address and the appropriate subnet mask for that IP address.||
3535

3636
## Cluster the DTC Resource
3737
Once you have created your Availability Group resource, create a clustered DTC resource and add it to the Availability Group. A sample script can be seen at [Create Clustered DTC for an Always On Availability Group](../../../database-engine/availability-groups/windows/create-clustered-dtc-for-an-always-on-availability-group.md).
3838

3939

4040
## Checklist: Post Clustered DTC Resource Configurations
4141

42-
||Task|Reference|
43-
|------|-----------------|----------|
44-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|Enable network access securely for the clustered DTC resource.|[Enable Network Access Securely for MS DTC](https://technet.microsoft.com/library/cc753620(v=ws.10).aspx)|
45-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|Stop and disable local DTC service.|[Configure How a Service Is Started](https://technet.microsoft.com/library/cc755249(v=ws.11).aspx)|
46-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|Cycle the SQL Server service for each instance in the Availability Group. Failover the Availability Group as needed.|[Perform a Planned Manual Failover of an Availability Group (SQL Server)](../../../database-engine/availability-groups/windows/perform-a-planned-manual-failover-of-an-availability-group-sql-server.md)<br /><br />[Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent, or SQL Server Browser Service](../../../database-engine/configure-windows/start-stop-pause-resume-restart-sql-server-services.md)|
42+
|Task|Reference|
43+
|-----------------|----------|
44+
|Enable network access securely for the clustered DTC resource.|[Enable Network Access Securely for MS DTC](https://technet.microsoft.com/library/cc753620(v=ws.10).aspx)|
45+
|Stop and disable local DTC service.|[Configure How a Service Is Started](https://technet.microsoft.com/library/cc755249(v=ws.11).aspx)|
46+
|Cycle the SQL Server service for each instance in the Availability Group. Failover the Availability Group as needed.|[Perform a Planned Manual Failover of an Availability Group (SQL Server)](../../../database-engine/availability-groups/windows/perform-a-planned-manual-failover-of-an-availability-group-sql-server.md)<br /><br />[Start, Stop, Pause, Resume, Restart the Database Engine, SQL Server Agent, or SQL Server Browser Service](../../../database-engine/configure-windows/start-stop-pause-resume-restart-sql-server-services.md)|
4747

4848
- If the server is Windows Server 2012 R2 the operating system must have [KB 3030373](https://support.microsoft.com/kb/3090973) applied.
4949

docs/database-engine/availability-groups/windows/configure-read-only-access-on-an-availability-replica-sql-server.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -175,10 +175,10 @@ Set-SqlAvailabilityReplica -ConnectionModeInPrimaryRole "AllowAllConnections" `
175175

176176
- To enable client applications to connect to readable secondary replicas:
177177

178-
||Prerequisite|Link|
179-
|-|------------------|----------|
180-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|Ensure that the availability group has a listener.|[Create or Configure an Availability Group Listener &#40;SQL Server&#41;](../../../database-engine/availability-groups/windows/create-or-configure-an-availability-group-listener-sql-server.md)|
181-
|![Checkbox](../../../database-engine/availability-groups/windows/media/checkboxemptycenterxtraspacetopandright.gif "Checkbox")|Configure read-only routing for the availability group.|[Configure Read-Only Routing for an Availability Group &#40;SQL Server&#41;](../../../database-engine/availability-groups/windows/configure-read-only-routing-for-an-availability-group-sql-server.md)|
178+
|Prerequisite|Link|
179+
|------------------|----------|
180+
|Ensure that the availability group has a listener.|[Create or Configure an Availability Group Listener &#40;SQL Server&#41;](../../../database-engine/availability-groups/windows/create-or-configure-an-availability-group-listener-sql-server.md)|
181+
|Configure read-only routing for the availability group.|[Configure Read-Only Routing for an Availability Group &#40;SQL Server&#41;](../../../database-engine/availability-groups/windows/configure-read-only-routing-for-an-availability-group-sql-server.md)|
182182

183183
**Factors that might affect triggers and jobs after a failover**
184184

0 commit comments

Comments
 (0)