- You have a SQL Server instance that is installed on a system that is running Windows Vista or later Operating System.
- On this instance of SQL Server you configure a linked server to an OLEDB data source using an OLEDB provider for the data source.
- The OLEDB provider is configured to be instantiated outside the SQL Server process. Usually this is the default for most of the OLEDB providers except SQL Native Client. This can be controlled by the Allow inprocess option that can be set using the provider’s properties in SQL Server Mangement Studio.
- The linked server security is configured to use the be made using the login's current security context option.
The OLE DB provider <OLEDB provider name> for linked server <Linked server name> reported an error. The provider did not give any information about the error.
Msg 7330, Level 16, State 2, Line 1
Cannot fetch a row from OLE DB provider <OLEDB provider name> for linked server.
Workaround 1: Configure the OLEDB provider to run in-process.
Note: You cannot use this workaround for OLEDB providers that are based on .Net versions that are earlier than 4.0.
Workaround 2:Assign the users the "Create global objects" user right. To do this, follow these steps:
- Click Start, point to Administrative Tools, and then click Local Security Policy.
- Expand Local Policies, and then click User Rights Assignment.
- In the right pane, double-click Create global objects.
- In the Local Security Policy Setting dialog box, click Add.
- In the Select Users or Group dialog box, click the user accounts that you want to add, click Add, and then click OK.
- Click OK.
Status: Microsoft is currently working on fixing this issue in a future release of the product.