Skip to content

Commit 9d3a958

Browse files
Merge pull request #34597 from MicrosoftDocs/main
Merged by Learn.Build PR Management system
2 parents 13a21f6 + 7c4aa80 commit 9d3a958

4 files changed

Lines changed: 39 additions & 43 deletions

File tree

docs/connect/oledb/oledb-driver-for-sql-server.md

Lines changed: 34 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ title: Microsoft OLE DB Driver for SQL Server
33
description: The Microsoft OLE DB Driver for SQL Server provides connectivity to SQL Server and Azure SQL Database via standard OLE DB APIs.
44
author: David-Engel
55
ms.author: davidengel
6-
ms.date: 09/24/2024
6+
ms.reviewer: randolphwest
7+
ms.date: 07/02/2025
78
ms.service: sql
89
ms.subservice: connectivity
910
ms.topic: "reference"
@@ -18,71 +19,64 @@ helpviewer_keywords:
1819
- "MSOLEDBSQL"
1920
- "native data access [OLE DB Driver for SQL Server]"
2021
---
22+
2123
# Microsoft OLE DB Driver for SQL Server
2224

2325
[!INCLUDE [sql-asdb-asdbmi-asa-pdw-fabricse-fabricdw-fabricsqldb](../../includes/applies-to-version/sql-asdb-asdbmi-asa-pdw-fabricse-fabricdw-fabricsqldb.md)]
2426

25-
[!INCLUDE[Driver_OLEDB_Download](../../includes/driver_oledb_download.md)]
27+
[!INCLUDE [Driver_OLEDB_Download](../../includes/driver_oledb_download.md)]
2628

27-
The OLE DB Driver for SQL Server is a stand-alone data access application programming interface (API), used for OLE DB, that was introduced in [!INCLUDE[ssVersion2005](../../includes/ssversion2005-md.md)]. OLE DB Driver for SQL Server delivers the SQL OLE DB driver in one dynamic-link library (DLL). It also provides new functionality above and beyond that supplied by the Windows Data Access Components (Windows DAC, formerly Microsoft Data Access Components, or MDAC). The OLE DB Driver for SQL Server can be used to create new applications or enhance existing applications that need to take advantage of features introduced in [!INCLUDE[ssVersion2005](../../includes/ssversion2005-md.md)], such as multiple active result sets (MARS), user-defined data types (UDT), query notifications, snapshot isolation, and XML data type support.
29+
The OLE DB Driver for SQL Server is a stand-alone data access application programming interface (API), that is part of [OLE DB](/cpp/data/oledb/ole-db-programming-overview). It was introduced in [!INCLUDE [ssVersion2005](../../includes/ssversion2005-md.md)]. The OLE DB Driver for SQL Server is delivered in one dynamic-link library (DLL). It provides new functionality beyond the SQL Server OLE DB provider supplied by the Windows Data Access Components (Windows DAC, formerly Microsoft Data Access Components, or MDAC). The OLE DB Driver for SQL Server can be used to create new applications or enhance existing applications that need to take advantage of features such as multiple active result sets (MARS), user-defined data types (UDT), query notifications, snapshot isolation, XML data type support, Microsoft Entra ID, and strict encryption.
2830

29-
> [!NOTE]
30-
> For a list of the differences between OLE DB Driver for SQL Server and Windows DAC, plus information about issues to consider before updating a Windows DAC application to OLE DB Driver for SQL Server, see [Updating an Application to OLE DB Driver for SQL Server from MDAC](../oledb/applications/updating-an-application-to-oledb-driver-for-sql-server-from-mdac.md).
31+
For a list of the differences between OLE DB Driver for SQL Server and Windows DAC, plus information about issues to consider before updating a Windows DAC application to OLE DB Driver for SQL Server, see [Updating an Application to OLE DB Driver for SQL Server from MDAC](applications/updating-an-application-to-oledb-driver-for-sql-server-from-mdac.md).
3132

32-
The OLE DB Driver for SQL Server can be used with OLE DB Core Services supplied with Windows DAC, but this use isn't a requirement; the choice to use Core Services or not depends on the requirements of the individual application (for example, if connection pooling is required).
33+
The OLE DB Driver for SQL Server can be used with OLE DB Core Services supplied with Windows DAC, but this use isn't a requirement. The choice to use Core Services depends on the requirements of the individual application (for example, if connection pooling is required).
3334

34-
ActiveX Data Object (ADO) applications can use the OLE DB Driver for SQL Server, but it's recommended to use ADO with the **DataTypeCompatibility** connection string keyword (or its corresponding **DataSource** property). OLE DB Driver for SQL Server allows ADO applications to exploit those new features introduced in [!INCLUDE[ssVersion2005](../../includes/ssversion2005-md.md)] that are available with OLE DB Driver for SQL Server via connection string keywords or OLE DB properties or [!INCLUDE[tsql](../../includes/tsql-md.md)]. For more information about the use of these features with ADO, see [Using ADO with OLE DB Driver for SQL Server](../oledb/applications/using-ado-with-oledb-driver-for-sql-server.md).
35+
ActiveX Data Object (ADO) applications can use the OLE DB Driver for SQL Server, but you should use ADO with the `DataTypeCompatibility` connection string keyword (or its corresponding `DataSource` property). The OLE DB Driver for SQL Server allows ADO applications to use features introduced in [!INCLUDE [ssVersion2005](../../includes/ssversion2005-md.md)], which are available with OLE DB Driver for SQL Server via connection string keywords or OLE DB properties or [!INCLUDE [tsql](../../includes/tsql-md.md)]. For more information about the use of these features with ADO, see [Using ADO with OLE DB Driver for SQL Server](applications/using-ado-with-oledb-driver-for-sql-server.md).
3536

36-
OLE DB Driver for SQL Server was designed to provide a simplified method of gaining native data access to SQL Server using OLE DB. It provides a way to innovate and evolve new data access features without changing the current Windows DAC components, which are now part of the Microsoft Windows platform.
37+
OLE DB Driver for SQL Server was designed to provide a simplified method of gaining native data access to SQL Server using OLE DB. It provides a way to innovate and evolve new data access features without changing the current Windows DAC components, which are now part of the Microsoft Windows platform.
3738

38-
While OLE DB Driver for SQL Server uses components in Windows DAC, it isn't explicitly dependent on a particular version of Windows DAC. You can use OLE DB Driver for SQL Server with the version of Windows DAC that is installed with any operating system supported by OLE DB Driver for SQL Server.
39+
While OLE DB Driver for SQL Server uses components in Windows DAC, it isn't explicitly dependent on a particular version of Windows DAC. You can use OLE DB Driver for SQL Server with the version of Windows DAC that is installed with any operating system supported by OLE DB Driver for SQL Server.
3940

4041
## Different generations of OLE DB Drivers
4142

4243
There are three distinct generations of Microsoft OLE DB providers for SQL Server.
4344

44-
### 1. Microsoft OLE DB Provider for SQL Server (SQLOLEDB)
45-
46-
The [Microsoft OLE DB Provider for SQL Server](../../ado/guide/appendixes/microsoft-ole-db-provider-for-sql-server.md) (SQLOLEDB) still ships as part of [Windows Data Access Components](/previous-versions/windows/desktop/ms692897(v=vs.85)). It isn't maintained anymore and it isn't recommended to use this driver for new development. The legacy Microsoft OLE DB Provider for SQL Server (SQLOLEDB) is not recommended for new development. Switch to the new Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server going forward.
47-
48-
### 2. SQL Server Native Client (SNAC)
49-
50-
[SQL Server Native Client (SNAC)](../../relational-databases/native-client/sql-server-native-client.md) was available starting with [!INCLUDE[ssVersion2005](../../includes/ssversion2005-md.md)]. SNAC includes an OLE DB provider interface (SQLNCLI) and is the OLE DB provider that shipped with [!INCLUDE[ssVersion2005](../../includes/ssversion2005-md.md)] through [!INCLUDE[ssSQL11](../../includes/sssql11-md.md)].
45+
### 1. Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) (recommended)
5146

52-
The [SQL Server Native Client](../../relational-databases/native-client/sql-server-native-client.md) (often abbreviated SNAC) has been removed from [!INCLUDE[sssql22-md](../../includes/sssql22-md.md)] and [!INCLUDE[ssManStudioFull](../../includes/ssmanstudiofull-md.md)] 19 (SSMS). The SQL Server Native Client OLE DB providers (SQLNCLI or SQLNCLI11) are not recommended for new development. Switch to the new Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server going forward. For more information about the SNAC lifecycle and available downloads, see [SNAC lifecycle explained](/archive/blogs/sqlreleaseservices/snac-lifecycle-explained).
47+
The newest generation of the OLE DB driver (MSOLEDBSQL) offers the latest features, including:
5348

54-
### 3. Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) (Recommended)
49+
- TLS 1.3 support
50+
- multiple language support
51+
- support for various SQL Server features for Availability Groups
52+
- Microsoft Entra ID support
5553

56-
OLE DB was [undeprecated](/archive/blogs/sqlnativeclient/announcing-the-new-release-of-ole-db-driver-for-sql-server) and released in 2018.
54+
The OLE DB provider was [undeprecated](/archive/blogs/sqlnativeclient/announcing-the-new-release-of-ole-db-driver-for-sql-server) and released in 2018. For details on improvements and fixes, see [Release notes](release-notes-for-oledb-driver-for-sql-server.md). Previously called OLE DB provider, the new name is the Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL). The new driver is updated with the most recent server features.
5755

58-
The new OLE DB provider is called the Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL). The new provider will be updated with the most recent server features going forward.
56+
You should use the new Microsoft OLE DB Driver for SQL Server with new and existing applications. Convert your existing applications connection strings from SQLOLEDB or SQLNCLI, to MSOLEDBSQL19 or MSOLEDBSQL.
5957

60-
> [!NOTE]
61-
> To use the new Microsoft OLE DB Driver for SQL Server in existing applications, you should plan to convert your connection strings from SQLOLEDB or SQLNCLI, to MSOLEDBSQL19 or MSOLEDBSQL.
62-
63-
## In this section
64-
65-
[When to use OLE DB Driver for SQL Server](../oledb/when-to-use-oledb-driver-for-sql-server.md)
66-
Discusses how OLE DB Driver for SQL Server fits in with Microsoft data access technologies, how it compares to Windows DAC and ADO.NET, and provides pointers for deciding which data access technology to use.
58+
### 2. SQL Server Native Client (SNAC)
6759

68-
[OLE DB Driver for SQL Server features](../oledb/features/oledb-driver-for-sql-server-features.md)
69-
Describes the features supported by OLE DB Driver for SQL Server.
60+
[SQL Server Native Client (SNAC)](../../relational-databases/native-client/sql-server-native-client.md) was available starting with [!INCLUDE [ssVersion2005](../../includes/ssversion2005-md.md)]. SNAC includes an OLE DB provider interface (SQLNCLI) and is the OLE DB provider that shipped with [!INCLUDE [ssVersion2005](../../includes/ssversion2005-md.md)] through [!INCLUDE [ssSQL11](../../includes/sssql11-md.md)].
7061

71-
[Building applications with OLE DB Driver for SQL Server](../oledb/applications/building-applications-with-oledb-driver-for-sql-server.md)
72-
Provides an overview of OLE DB Driver for SQL Server development, including how it differs from Windows DAC, the components that it uses, and how ADO can be used with it.
62+
The [SQL Server Native Client](../../relational-databases/native-client/sql-server-native-client.md) (often abbreviated SNAC) was removed from [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)] and [!INCLUDE [ssManStudioFull](../../includes/ssmanstudiofull-md.md)] 19 (SSMS). The SQL Server Native Client OLE DB providers (SQLNCLI or SQLNCLI11) aren't recommended for new development. Switch to the new Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server going forward. For more information about the SNAC lifecycle and available downloads, see [SNAC lifecycle explained](/archive/blogs/sqlreleaseservices/snac-lifecycle-explained).
7363

74-
This section also discusses OLE DB Driver for SQL Server installation and deployment, including how to redistribute the OLE DB Driver for SQL Server library.
64+
### 3. Microsoft OLE DB Provider for SQL Server (SQLOLEDB)
7565

76-
[System requirements for OLE DB Driver for SQL Server](../oledb/system-requirements-for-oledb-driver-for-sql-server.md)
77-
Discusses the system resources needed to use OLE DB Driver for SQL Server.
66+
The [Microsoft OLE DB Provider for SQL Server](../../ado/guide/appendixes/microsoft-ole-db-provider-for-sql-server.md) (SQLOLEDB) was the original OLE DB connectivity software for SQL Server applications. It still ships as part of [Windows Data Access Components](/previous-versions/windows/desktop/ms692897(v=vs.85)). It isn't maintained anymore and it isn't recommended to use this driver for new development. The legacy Microsoft OLE DB Provider for SQL Server (SQLOLEDB) isn't recommended for new development. Switch to the new Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server going forward.
7867

79-
[OLE DB Driver for SQL Server programming](../oledb/ole-db/oledb-driver-for-sql-server-programming.md)
80-
Provides information about using the OLE DB Driver for SQL Server.
68+
## In this section
8169

82-
[Finding more OLE DB Driver for SQL Server information](../oledb/finding-more-oledb-driver-for-sql-server-information.md)
83-
Provides more resources about OLE DB Driver for SQL Server, including links to external resources and getting further assistance.
70+
| Article | Description |
71+
| --- | --- |
72+
| [When to Use OLE DB Driver for SQL Server](when-to-use-oledb-driver-for-sql-server.md) | Discusses how OLE DB Driver for SQL Server fits in with Microsoft data access technologies, how it compares to Windows DAC and ADO.NET, and provides pointers for deciding which data access technology to use. |
73+
| [OLE DB Driver for SQL Server features](features/oledb-driver-for-sql-server-features.md) | Describes the features supported by OLE DB Driver for SQL Server. |
74+
| [Building applications with OLE DB Driver for SQL Server](applications/building-applications-with-oledb-driver-for-sql-server.md) | Provides an overview of OLE DB Driver for SQL Server development, including how it differs from Windows DAC, the components that it uses, and how ADO can be used with it. This section also discusses OLE DB Driver for SQL Server installation and deployment, including how to redistribute the OLE DB Driver for SQL Server library. |
75+
| [System requirements for OLE DB Driver for SQL Server](system-requirements-for-oledb-driver-for-sql-server.md) | Discusses the system resources needed to use OLE DB Driver for SQL Server. |
76+
| [OLE DB Driver for SQL Server Programming](ole-db/oledb-driver-for-sql-server-programming.md) | Provides information about using the OLE DB Driver for SQL Server. |
77+
| [Finding More OLE DB Driver for SQL Server Information](finding-more-oledb-driver-for-sql-server-information.md) | Provides more resources about OLE DB Driver for SQL Server, including links to external resources and getting further assistance. |
8478

8579
## Related content
8680

87-
- [Updating an application from SQL Server 2005 Native Client](../oledb/applications/updating-an-application-from-sql-server-2005-native-client.md)
88-
- [OLE DB how-to topics](../oledb/ole-db-how-to/ole-db-how-to-topics.md)
81+
- [Updating Applications from SQL Server 2005 Native Client](applications/updating-an-application-from-sql-server-2005-native-client.md)
82+
- [OLE DB How-to articles](ole-db-how-to/ole-db-how-to-topics.md)

docs/relational-databases/system-stored-procedures/sp-addlinkedserver-transact-sql.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -426,7 +426,7 @@ EXECUTE sp_addlinkedserver
426426
@provstr = N'Encrypt=No;';
427427
```
428428

429-
For more information, see [Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL)](../../connect/oledb/oledb-driver-for-sql-server.md#3-microsoft-ole-db-driver-for-sql-server-msoledbsql-recommended).
429+
For more information, see [Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) (recommended)](../../connect/oledb/oledb-driver-for-sql-server.md#1-microsoft-ole-db-driver-for-sql-server-msoledbsql-recommended).
430430

431431
## Related content
432432

docs/t-sql/functions/count-transact-sql.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ The *partition_by_clause* divides the result set produced by the `FROM` clause i
7777
- `COUNT(*)` without `GROUP BY` returns the cardinality (number of rows) in the resultset. This includes rows comprised of all-`NULL` values and duplicates.
7878
- `COUNT(*)` with `GROUP BY` returns the number of rows in each group. This includes `NULL` values and duplicates.
7979
- `COUNT(ALL <expression>)` evaluates *expression* for each row in a group, and returns the number of nonnull values.
80-
- `COUNT(DISTINCT *expression*)` evaluates *expression* for each row in a group, and returns the number of unique, nonnull values.
80+
- `COUNT(DISTINCT <expression>)` evaluates *expression* for each row in a group, and returns the number of unique, nonnull values.
8181

8282
`COUNT` is a deterministic function when used *without* the OVER and ORDER BY clauses. It is nondeterministic when used ***with*** the OVER and ORDER BY clauses. For more information, see [Deterministic and nondeterministic functions](../../relational-databases/user-defined-functions/deterministic-and-nondeterministic-functions.md).
8383

docs/t-sql/language-elements/kill-transact-sql.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,9 @@ The same status report can be obtained by repeating the same `KILL` statement wi
137137

138138
**[!INCLUDE [ssSDS](../../includes/sssds-md.md)]:** Requires the `KILL DATABASE CONNECTION` permission. The server-level principal login has the `KILL DATABASE CONNECTION` permission.
139139

140-
**[!INCLUDE [fabric](../../includes/fabric.md)]:** Requires Admin permissions.
140+
**[!INCLUDE [fabric](../../includes/fabric.md)] Data Warehouse:** Requires Write item permission.
141+
142+
**SQL database in [!INCLUDE [fabric](../../includes/fabric.md)]:** Requires Write item permission.
141143

142144
**Azure Synapse Analytics:** Requires Admin permissions.
143145

0 commit comments

Comments
 (0)