Consider the following scenario:
- 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.
In this scenario, if non-privileged users logs into the SQL Server instance using Windows authentication and try to access the linked server, they will experience an error message that is similar to the following:
sg 7399, Level 16, State 1, Line 1
The OLE DB provider “PIOLEDB” for linked server “pi” 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 “PIOLEDB” for linked server “pi”.
Note: In this context a non-privileged user is a standard user who does not belong to a privileged access group at Windows level (for example: Administrators)