http://blogs.msdn.com/b/sql_protocols/archive/2006/12/02/understanding-kerberos-and-ntlm-authentication-in-sql-server-connections.aspx
我们经常在使用linked server是遇到这个问题。下面这篇文章说明了linked server需要具备的几个条件:
https://msdn.microsoft.com/en-us/library/ms189580%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396
下面这段话需要注意:
To illustrate the requirements for delegation, consider the following scenario: A user logs on to a client computer that connects to a server that is running an instance of SQL Server,
SQLSERVER1
. The user wants to run a distributed query against a database on a linked server,
SQLSERVER2
. This scenario, in which one computer connects to another computer to connect to a third computer, is called a
double hop.
double hop是更为复杂的情况,也就是说:
1,如果你有一个SQL ServerA上的一个定时job,需要连接到SQL ServerB查询数据。这种情况不是double hop。
2,如果你在其他机器BOX A用domain账户以及SSMS登陆了另外一个机器BOXB上的SQL ServerA,然后运行了一个query,这个query需要连接到BOXC上的SQL ServerB查询数据。这种情况才称为double hop。
如果double hop不工作,不防远程桌面到BOXB的sql server上,然后运行query试试看。