KB2993262 - FIX: Some rows are missing in the result when you run query to select data from Oracle linked server by using merge join

Applies To
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptoms

Assume that you execute a query to select data from an Oracle linked server by using a merge join in Microsoft SQL Server 2012 or SQL Server 2014. When there is a NUMBER type column that does not have a defined precision in the Oracle linked server, the query executes successfully, but some rows are missing in the result.

Note This issue only occurs if the merge join is automatically selected by SQL Server.

Resolution

The issue was first fixed in the following cumulative update of SQL Server.

Cumulative Update 4 for SQL Server 2014 /en-us/help/2999197

Cumulative Update 2 for SQL Server 2012 SP2 /en-us/help/2983175

About cumulative updates for SQL Server

Each new cumulative update for SQL Server contains all the hotfixes and all the security fixes that were included with the previous cumulative update. Check out the latest cumulative updates for SQL Server:

      

Workaround

To work around this issue, use a nested loops join or a hash join by using the Option command instead of the merge join.

Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

Third-party information disclaimer

The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.