我需要连接到另一个 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
这会产生所需的行为,而且没有任何痛苦!
当然,还要记住,您需要在凭据管理器中将远程用户名加上远程域名作为前缀,如下所示:
数据库管理员