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

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

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

在 Windows XP 中,我可以使用“管理网络密码”功能将我的远程计算机的用户名和密码存储在本地计算机上。这样做会导致 SQL Server Management Studio 在连接到该服务器时使用这些凭据,而不是我的本地凭据。这很有效,并且避免了我每次连接 SSMS 时都必须输入用户名或密码。

但是,天哪,升级到 Windows 7 后,我再也无法这样做了。在凭据管理器中添加我的远程域凭据无法产生所需的行为。SMSS 2008 R2 会忽略存储的凭据,而是始终发送我的本地凭据,导致每次登录都失败。在 SMSS 中甚至没有办法输入备用凭据,因此结果是我根本无法访问远程服务器!

如何才能使 Windows 7 上的 SMSS 像在 Windows XP 上一样工作?

答案1

您还可以将 SSMS 快捷方式(或第二个 SSMS 快捷方式)配置为在远程域的域帐户下运行。

更改快捷方式来运行此命令(您可能需要稍微调整路径,因为我已经安装了 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"

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

答案2

看起来 Windows 7 凭据管理器中有一个错误导致了此行为。经过大量的互联网研究,我发现了一些不太好的解决方法,但也发现了一个很好的解决方法:

在凭据管理器中,添加远程服务器的条目,但不要只添加服务器名称(如 database.contoso.com),而是添加带有 SQL Server 端口的服务器名称,如下所示:

数据库.contoso.com:1433

这会产生所需的行为,而且没有任何痛苦!

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

当然,还要记住,您需要在凭据管理器中将远程用户名加上远程域名作为前缀,如下所示:

数据库管理员

相关内容