无法使用SSMS和Windows 7 Crendential Manager连接到不同域中的SQL Server

我需要连接到另一个Windows域中的SQL Server 2008实例来pipe理它。 我们只使用Windows身份validation。

在Windows XP中,我可以使用“pipe理networking密码”function在本地机器上存储远程机器的用户名和密码。 这样做会导致SQL Server Management Studio在连接到该服务器时使用这些凭据,而不是本地凭据。 这工作很好,并防止我必须input用户名或密码,每次我连接SSMS。

但是,圣牛升级到Windows 7后,我不能再这样做了。 在凭证pipe理器中添加我的远程域证书无法产生所需的行为。 SMSS 2008 R2将忽略存储的凭据,而是始终发送本地凭据,导致login每次都失败。 在SMSS中,甚至没有办法input备用凭证,所以结果是我根本无法访问远程服务器!

我如何才能在Windows 7上使用SMSS,就像在Windows XP上一样?

您也可以configuration您的SSMS快捷方式(或第二个SSMS快捷方式),以便在远程域的域帐户下运行。

更改快捷方式来运行此命令(您可能需要稍微调整path,因为我已经安装了SQL Server“Denali”CTP3)。

C:\Windows\System32\runas.exe /user:Domain\YourAccount /netonly "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe" 

运行快捷方式时,会提示您input当前密码(如果必须定期更改密码,则方便),然后正常运行SSMS,只需在远程域帐户下运行即可。

看起来像Windows 7 Credential Manager中存在导致此问题的错误。 经过大量的互联网调查,我发现了一些丑陋的解决方法,但也发现了一个很好的方法:

在Credential Manager中,为远程服务器添加一个条目,但不添加服务器名称(如database.contoso.com),而是使用SQL Server端口添加服务器名称,如下所示:

database.contoso.com:1433

这导致期望的行为,没有痛苦!

资料来源: http : //social.msdn.microsoft.com/Forums/en-US/sqlsecurity/thread/c05a90e4-cb16-46f6-9072-37083c65696d/

另外请记住,当然,您需要在Credential Manager中将远程用户名作为远程域名的前缀,如下所示:

数据库pipe理员