Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

PRB: SQL Server Link to Remote Database Fails with Error 7399


View products that this article applies to.

Symptoms

Under the following conditions:
  • User on computer A (either Windows NT or Windows 9x) is running SQL Enterprise Manager or Query Analyzer, managing a SQL Server on a Windows NT computer B.
  • The user creates a Linked Server, specifying a Microsoft Access, FoxPro, or other database on an NTFS share on computer C.
  • The user is logged into computer A using the same domain account the SQL Server is running under on computer B.
  • Computer B is registered in the computer A Enterprise Manager or Query Analyzer using Windows NT Authentication.
  • The NTFS share on computer C is configured to give full control to that same domain account.
if the user attempts to view the tables in the Linked Server that was just created, the user sees the following 7399 error (the exact content will vary depending on the remote database):
"Error 7399: OLE DB provider 'MSDASQL' reported an error. Driver's SQLSetConnectAttr failed The Microsoft jet database engine cannot open the file '(unknown)'. It is already opened exclusively by another user, or you need permission to view its data."
If the user moves to the SQL Server computer (computer B) and attempts the same operation, the user is able to view the tables without an error. If the user copies the remote database to the same computer as SQL Server (computer B) and attempts the same operation from computer A, the user is able to view the tables without an error.

↑ Back to the top


Cause

Windows NT does not support "double hop" authentication. The second computer, computer B, is unable to use computer A's authentication to connect to the NTFS share.

↑ Back to the top


Resolution

You can resolve this problem in the following ways:
  • Register the SQL Server on computer B in the Enterprise Manager on computer A using SQL Authentication. When server B relays the request to connect to the NTFS share on computer C, it uses its own domain authentication, which will work since it is a single hop access.
  • Upgrade all involved computers to Microsoft Windows 2000 using Kerberos security. See your Kerberos documentation on the settings necessary for passthrough authentication.

↑ Back to the top


Keywords: KB241267, kbprb

↑ Back to the top

Article Info
Article ID : 241267
Revision : 5
Created on : 2/12/2007
Published on : 2/12/2007
Exists online : False
Views : 608