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: azure-sql/managed-instance/transact-sql-tsql-differences-sql-server.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -399,8 +399,8 @@ Operations:
399
399
-[Cross-instance](../database/elastic-transactions-overview.md) write transactions are supported only for SQL Managed Instances.
400
400
-`sp_dropserver` is supported for dropping a linked server. See [sp_dropserver](/sql/relational-databases/system-stored-procedures/sp-dropserver-transact-sql).
401
401
- The `OPENROWSET` function can be used to execute queries only on SQL Server instances. They can be either managed, on-premises, or in virtual machines. See [OPENROWSET](/sql/t-sql/functions/openrowset-transact-sql).
402
-
- The `OPENDATASOURCE` function can be used to execute queries only on SQL Server instances. They can be either managed, on-premises, or in virtual machines. Only the `SQLNCLI`, `SQLNCLI11`, and `SQLOLEDB` values are supported as a provider. An example is `SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee`. See [OPENDATASOURCE](/sql/t-sql/functions/opendatasource-transact-sql).
403
-
- Linked servers cannot be used to read files (Excel, CSV) from the network shares. Try to use [BULK INSERT](/sql/t-sql/statements/bulk-insert-transact-sql#e-importing-data-from-a-csv-file), [OPENROWSET](/sql/t-sql/functions/openrowset-transact-sql#g-accessing-data-from-a-csv-file-with-a-format-file) that reads CSV files from Azure Blob Storage, or a [linked server that references a serverless SQL pool in Synapse Analytics](https://devblogs.microsoft.com/azure-sql/linked-server-to-synapse-sql-to-implement-polybase-like-scenarios-in-managed-instance/). Track this requests on [SQL Managed Instance Feedback item](https://feedback.azure.com/d365community/idea/db80cf6e-3425-ec11-b6e6-000d3a4f0f84)|
402
+
- The [OPENDATASOURCE](/sql/t-sql/functions/opendatasource-transact-sql) function can be used to execute queries only on SQL Server instances. They can be either managed, on-premises, or in virtual machines. An example is `SELECT * FROM OPENDATASOURCE('SQLNCLI', '...').AdventureWorks2012.HumanResources.Employee`. Only the `SQLNCLI`, `SQLNCLI11`, `SQLOLEDB`, and `MSOLEDBSQL` values are supported as a provider. The [SQL Server Native Client](/sql/relational-databases/native-client/sql-server-native-client.md) (often abbreviated SNAC) has been removed from SQL Server 2022 and SQL Server Management Studio 19 (SSMS). The SQL Server Native Client (SQLNCLI or SQLNCLI11) and the legacy Microsoft OLE DB Provider for SQL Server (SQLOLEDB) are not recommended for new development. Switch to the new [Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server](/sql/connect/oledb/oledb-driver-for-sql-server.md) or the latest [Microsoft ODBC Driver for SQL Server](/sql/connect/odbc/microsoft-odbc-driver-for-sql-server.md) going forward.
403
+
- Linked servers cannot be used to read files (Excel, CSV) from the network shares. Try to use [BULK INSERT](/sql/t-sql/statements/bulk-insert-transact-sql#e-importing-data-from-a-csv-file), [OPENROWSET](/sql/t-sql/functions/openrowset-transact-sql#g-accessing-data-from-a-csv-file-with-a-format-file) that reads CSV files from Azure Blob Storage, or a [linked server that references a serverless SQL pool in Synapse Analytics](https://devblogs.microsoft.com/azure-sql/linked-server-to-synapse-sql-to-implement-polybase-like-scenarios-in-managed-instance/). Track this requests on [SQL Managed Instance Feedback item](https://feedback.azure.com/d365community/idea/db80cf6e-3425-ec11-b6e6-000d3a4f0f84)
404
404
405
405
Linked servers on Azure SQL Managed Instance support SQL authentication and [Azure AD authentication](/sql/relational-databases/linked-servers/create-linked-servers-sql-server-database-engine#linked-servers-with-azure-sql-managed-instance).
OPENROWSET supports bulk operations through a built-in BULK provider that enables data from a file to be read and returned as a rowset. OPENROWSET with non-Azure blob storage data source is not supported in Azure SQL Managed Instance.
419
419
420
420
**Recommendation**
421
-
Azure SQL Managed Instance cannot access file shares and Windows folders, so the files must be imported from Azure blob storage. Therefore, only blob type DATASOURCE is supported in OPENROWSET function. Alternatively, migrate to SQL Server on Azure Virtual Machine.
421
+
Azure SQL Managed Instance cannot access file shares and Windows folders, so the files must be imported from Azure Blob Storage. Therefore, only blob type DATASOURCE is supported in OPENROWSET function. Alternatively, migrate to SQL Server on Azure Virtual Machine.
422
422
423
423
More information: [Bulk Insert and OPENROWSET differences in Azure SQL Managed Instance ](../../managed-instance/transact-sql-tsql-differences-sql-server.md#bulk-insert--openrowset)
424
424
@@ -433,7 +433,9 @@ This method is an alternative to accessing tables in a linked server and is a on
433
433
434
434
435
435
**Recommendation**
436
-
OPENROWSET function can be used to execute queries only on SQL Server instances (either managed, on-premises, or in Virtual Machines). Only SQLNCLI, SQLNCLI11, and SQLOLEDB values are supported as provider. Therefore, the recommendation action is that identify the dependent database(s) from remote non-SQL Servers and consider moving these into the database being migrated.
436
+
OPENROWSET function can be used to execute queries only on SQL Server instances (either managed, on-premises, or in Virtual Machines). The providers `SQLNCLI`, `SQLNCLI11`, `SQLOLEDB`, and `MSOLEDBSQL` (recommended) are supported. The [Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server](/sql/connect/oledb/oledb-driver-for-sql-server.md) is recommended for new development.
437
+
438
+
The recommendation action is to identify the dependent database(s) from remote non-SQL Servers and consider moving these into the instance being migrated.
437
439
438
440
More information: [Bulk Insert and OPENROWSET differences in Azure SQL Managed Instance ](../../managed-instance/transact-sql-tsql-differences-sql-server.md#bulk-insert--openrowset)
Copy file name to clipboardExpand all lines: docs/ado/guide/appendixes/microsoft-ole-db-provider-for-sql-server.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ helpviewer_keywords:
16
16
The Microsoft OLE DB Provider for SQL Server, SQLOLEDB, allows ADO to access Microsoft SQL Server.
17
17
18
18
> [!IMPORTANT]
19
-
> The Microsoft OLE DB Provider for SQL Server (SQLOLEDB) remains deprecated and it is not recommended to use it for new development work. Instead, use the new [Microsoft OLE DB Driver for SQL Server](../../../connect/oledb/oledb-driver-for-sql-server.md) (MSOLEDBSQL) which will be updated with the most recent server features.
To connect to this provider, set the *Provider* argument to the [ConnectionString](../../reference/ado-api/connectionstring-property-ado.md) property to:
Copy file name to clipboardExpand all lines: docs/connect/connect-history.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: "Driver history for Microsoft SQL Server"
3
3
description: "This page describes Microsoft's historical data connection technologies for connecting to SQL Server."
4
4
author: David-Engel
5
5
ms.author: v-davidengel
6
-
ms.date: 12/08/2020
6
+
ms.date: 11/03/2022
7
7
ms.prod: sql
8
8
ms.technology: connectivity
9
9
ms.topic: conceptual
@@ -18,7 +18,7 @@ There are three distinct generations of Microsoft ODBC drivers for SQL Server. T
18
18
19
19
### SQL Server Native Client
20
20
21
-
SQL Server Native Client is a stand-alone library that is used for both OLE DB and ODBC. SQL Server Native Client (often abbreviated SNAC) was included in SQL Server 2005 through 2012. SQL Server Native Client can be used for applications that need to take advantage of new features introduced in SQL Server 2005 through SQL Server 2012. (Microsoft/Windows Data Access Components aren't updated for these new features in SQL Server.) For new features beyond SQL Server 2012, SQL Server Native Client won't be updated. Switch to the Microsoft ODBC Driver for SQL Server or the Microsoft OLE DB Driver for SQL Server if you want to take advantage of new SQL Server features going forward.
21
+
SQL Server Native Client was a stand-alone library that is used for both OLE DB and ODBC. SQL Server Native Client (often abbreviated SNAC) was included in SQL Server 2005 through 2012. SQL Server Native Client can be used for applications that need to take advantage of new features introduced in SQL Server 2005 through SQL Server 2012. (Microsoft/Windows Data Access Components aren't updated for these new features in SQL Server.) For new features beyond SQL Server 2012, SQL Server Native Client won't be updated. [!INCLUDE[snac-removed-oledb-and-odbc](../includes/snac-removed-oledb-and-odbc.md)]
22
22
23
23
For complete documentation of the SQL Server Native Client, see the [SQL Server Native Client documentation](../relational-databases/native-client/sql-server-native-client-programming.md).
24
24
@@ -28,7 +28,7 @@ After SQL Server 2012, the primary ODBC driver for SQL Server has been developed
28
28
29
29
## OLE DB
30
30
31
-
There are three distinct generations of Microsoft OLE DB providers for SQL Server. The first "Microsoft OLE DB Provider for SQL Server" (SQLOLEDB) still ships as part of [Windows Data Access Components](#microsoft-or-windows-data-access-components). This provider won't be updated with new features and it isn't recommended to use this driver for new development. Starting in SQL Server 2005, the [SQL Server Native Client](#sql-server-native-client) includes an OLE DB provider interface (SQLNCLI) and is the OLE DB provider that shipped with SQL Server 2005 through SQL Server 2017. It was [announced as deprecated in 2011](/archive/blogs/sqlnativeclient/microsoft-is-aligning-with-odbc-for-native-relational-data-access) and it isn't recommended to use this driver for new development. In 2017, OLE DB data access technology was later [undeprecated and a new planned release was announced](/archive/blogs/sqlnativeclient/announcing-the-new-release-of-ole-db-driver-for-sql-server) for 2018. The new OLE DB provider is called the "Microsoft OLE DB Driver for SQL Server" (MSOLEDBSQL) and is currently maintained and supported.
31
+
There are three distinct generations of Microsoft OLE DB providers for SQL Server. The first "Microsoft OLE DB Provider for SQL Server" (SQLOLEDB) still ships as part of [Windows Data Access Components](#microsoft-or-windows-data-access-components). This provider won't be updated with new features and it isn't recommended to use this driver for new development. Starting in SQL Server 2005, the [SQL Server Native Client](#sql-server-native-client) includes an OLE DB provider interface (SQLNCLI) and is the OLE DB provider that shipped with SQL Server 2005 through SQL Server 2017. It was [announced as deprecated in 2011](/archive/blogs/sqlnativeclient/microsoft-is-aligning-with-odbc-for-native-relational-data-access) and it isn't recommended to use this driver for new development. In 2017, OLE DB data access technology was later [undeprecated and a new planned release was announced](/archive/blogs/sqlnativeclient/announcing-the-new-release-of-ole-db-driver-for-sql-server) for 2018. The new [Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL)](../connect/oledb/oledb-driver-for-sql-server.md) is currently maintained and supported.
Copy file name to clipboardExpand all lines: docs/connect/oledb/ole-db-how-to/send-blob-data-to-sql-server-using-irowsetfastload-and-isequentialstream-ole-db.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,7 +19,7 @@ ms.topic: "reference"
19
19
20
20
In the source code, when you uncomment `#define USE_ISEQSTREAM`, the sample will use ISequentialStream. The stream implementation is defined in the sample, and can send any size BLOB data simply by changing MAX_BLOB. Stream data does not have to fit in memory or be available in one block. You call this provider by using IRowsetFastLoad::InsertRow. Pass a pointer using IRowsetFastLoad::InsertRow to the stream implementation in the data buffer (rgBinding.obValue offset) along with the amount of data available to read from the stream. Some providers might not have to know the length of the data when binding occurs. In this case, the length can be omitted from the binding.
21
21
22
-
The sample doesn't use the provider's stream interface to write data to the provider. Instead, the sample passes a pointer to the stream object that the provider will consume to read the data. Typically, Microsoft providers (SQLOLEDB, SQLNCLI, and MSOLEDBSQL) will read data in 1024-byte chunks. Providers read from the object until all data has been processed. None of SQLOLEDB, SQLNCLI, and MSOLEDBSQL have full implementations for allowing the consumer to write data to the provider's stream object. Only zero length data can be sent through the provider's stream object.
22
+
The sample doesn't use the provider's stream interface to write data to the provider. Instead, the sample passes a pointer to the stream object that the provider will consume to read the data. Typically, Microsoft providers (SQLOLEDB, SQLNCLI, and MSOLEDBSQL) will read data in 1024-byte chunks. Providers read from the object until all data has been processed. None of SQLOLEDB, SQLNCLI, and MSOLEDBSQL have full implementations for allowing the consumer to write data to the provider's stream object. Only zero length data can be sent through the provider's stream object. Only the [Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server](../oledb-driver-for-sql-server.md) is recommended for new development.
23
23
24
24
The consumer-implemented ISequentialStream object can be used with rowset data (IRowsetChange::InsertRow, IRowsetChange::SetData). Also, it can be used with parameters by binding a parameter as DBTYPE_IUNKNOWN.
Copy file name to clipboardExpand all lines: docs/connect/oledb/oledb-driver-for-sql-server.md
+5-8Lines changed: 5 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@ title: Microsoft OLE DB Driver for SQL Server
3
3
description: The Microsoft OLE DB Driver for SQL Server provides connectivity to SQL Server and Azure SQL Database via standard OLE DB APIs.
4
4
author: David-Engel
5
5
ms.author: v-davidengel
6
-
ms.date: 03/30/2022
6
+
ms.date: 11/03/2022
7
7
ms.prod: sql
8
8
ms.technology: connectivity
9
9
ms.topic: "reference"
@@ -27,9 +27,6 @@ The OLE DB Driver for SQL Server is a stand-alone data access application progra
27
27
> [!NOTE]
28
28
> 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).
29
29
30
-
> [!IMPORTANT]
31
-
> The previous [Microsoft OLE DB Provider for SQL Server](../../ado/guide/appendixes/microsoft-ole-db-provider-for-sql-server.md) (SQLOLEDB) and [SQL Server Native Client OLE DB](../../relational-databases/native-client/sql-server-native-client.md) provider (SQLNCLI) remains deprecated and it is not recommended to use either for new development work.
32
-
33
30
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).
34
31
35
32
ActiveX Data Object (ADO) applications may 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).
@@ -42,17 +39,17 @@ The OLE DB Driver for SQL Server is a stand-alone data access application progra
42
39
43
40
There are three distinct generations of Microsoft OLE DB providers for SQL Server.
44
41
45
-
### 1. Microsoft OLE DB Provider for SQL Server (SQLOLEDB)
42
+
### 1. Microsoft OLE DB Provider for SQL Server (SQLOLEDB)
46
43
47
-
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.
44
+
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.
48
45
49
46
### 2. SQL Server Native Client (SNAC)
50
47
51
48
[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)].
52
49
53
-
It was [announced as deprecated in 2011](/archive/blogs/sqlnativeclient/microsoft-is-aligning-with-odbc-for-native-relational-data-access) and it isn't recommended to use this driver for new development. For more information about the SNAC lifecycle and available downloads, see [SNAC lifecycle explained](/archive/blogs/sqlreleaseservices/snac-lifecycle-explained).
50
+
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).
54
51
55
-
### 3. Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL)
52
+
### 3. Microsoft OLE DB Driver for SQL Server (MSOLEDBSQL) (Recommended)
56
53
57
54
OLE DB was [undeprecated](/archive/blogs/sqlnativeclient/announcing-the-new-release-of-ole-db-driver-for-sql-server) and released in 2018.
Copy file name to clipboardExpand all lines: docs/database-engine/availability-groups/windows/replicate-track-change-data-capture-always-on-availability.md
0 commit comments