You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/connect/php/connection-pooling-microsoft-drivers-for-php-for-sql-server.md
+12-8Lines changed: 12 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "Connection Pooling (Microsoft Drivers for PHP for SQL Server) | Microsoft Docs"
3
3
ms.custom: ""
4
-
ms.date: "08/01/2018"
4
+
ms.date: "08/01/2020"
5
5
ms.prod: sql
6
6
ms.prod_service: connectivity
7
7
ms.reviewer: ""
@@ -22,7 +22,7 @@ The following are important points to note about connection pooling in the [!INC
22
22
23
23
- 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.
24
24
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).
26
26
27
27
- Closing the connection returns the connection to the pool.
28
28
@@ -33,8 +33,12 @@ For more information about connection pooling, see [Driver Manager Connection Po
33
33
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).
34
34
35
35
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.
36
39
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
+
38
42
### Linux and macOS
39
43
The *ConnectionPooling* attribute cannot be used to enable/disable connection pooling.
40
44
@@ -45,7 +49,7 @@ Setting `Pooling` to `Yes` and a positive `CPTimeout` value in the odbcinst.ini
45
49
[ODBC]
46
50
Pooling=Yes
47
51
48
-
[ODBC Driver 13 for SQL Server]
52
+
[ODBC Driver 17 for SQL Server]
49
53
CPTimeout=<int value>
50
54
```
51
55
@@ -55,9 +59,9 @@ Minimally, the odbcinst.ini file should look something like this example:
55
59
[ODBC]
56
60
Pooling=Yes
57
61
58
-
[ODBC Driver 13 for SQL Server]
59
-
Description=Microsoft ODBC Driver 13 for SQL Server
- 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.
73
77
- unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
74
78
- 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.
Copy file name to clipboardExpand all lines: docs/database-engine/availability-groups/windows/always-on-client-connectivity-sql-server.md
+4-3Lines changed: 4 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
title: "Driver and client connectivity support for availability groups"
3
3
description: "This topic describes considerations for client connectivity to Always On availability groups, including prerequisites, restrictions, and recommendations for client configurations and settings. "
4
4
ms.custom: "seodec18"
5
-
ms.date: "04/26/2018"
5
+
ms.date: "07/28/2020"
6
6
ms.prod: sql
7
7
ms.reviewer: ""
8
8
ms.technology: high-availability
@@ -34,8 +34,9 @@ ms.author: mathoma
34
34
|SQL Native Client 11.0 OLEDB|No|Yes|Yes|No|No|
35
35
|ADO.NET with .NET Framework 4.0 with connectivity patch*|Yes|Yes|Yes|Yes|Yes|
36
36
|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|
39
40
40
41
*Download the connectivity patch for ADO .NET with .NET Framework 4.0: [https://support.microsoft.com/kb/2600211](https://support.microsoft.com/kb/2600211).
Copy file name to clipboardExpand all lines: docs/database-engine/availability-groups/windows/cluster-dtc-for-sql-server-2016-availability-groups.md
+14-14Lines changed: 14 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,30 +20,30 @@ This topic describes the requirements and steps for clustering the Microsoft Dis
20
20
21
21
## Checklist: Preliminary Requirements
22
22
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)
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)
27
27
28
28
## Checklist: Clustered DTC Resource Dependencies
29
29
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.||
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.||
35
35
36
36
## Cluster the DTC Resource
37
37
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).
38
38
39
39
40
40
## Checklist: Post Clustered DTC Resource Configurations
41
41
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)|
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)|
47
47
48
48
- If the server is Windows Server 2012 R2 the operating system must have [KB 3030373](https://support.microsoft.com/kb/3090973) applied.
Copy file name to clipboardExpand all lines: docs/database-engine/availability-groups/windows/configure-read-only-access-on-an-availability-replica-sql-server.md
- To enable client applications to connect to readable secondary replicas:
177
177
178
-
||Prerequisite|Link|
179
-
|-|------------------|----------|
180
-
||Ensure that the availability group has a listener.|[Create or Configure an Availability Group Listener (SQL Server)](../../../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 (SQL Server)](../../../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 (SQL Server)](../../../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 (SQL Server)](../../../database-engine/availability-groups/windows/configure-read-only-routing-for-an-availability-group-sql-server.md)|
182
182
183
183
**Factors that might affect triggers and jobs after a failover**
0 commit comments