无法使用SSMS和Windows 7凭据管理器连接到不同域中的SQL Server

Bri*_*kel 14 sql-server ssms windows-authentication

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

在Windows XP中,我可以使用"管理网络密码"功能在我的本地计算机上存储我的远程计算机的用户名和密码.这样做会导致SQL Server Management Studio在连接到该服务器时使用这些凭据而不是我的本地凭据.这非常有效,并且每次与SSMS连接时都无法输入用户名或密码.

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

登录失败,并显示以下消息:

登录失败.登录来自不受信任的域,不能与Windows身份验证一起使用.(Microsoft SQL Server,错误:18452)

如何让Windows 7上的SMSS以与Windows XP相同的方式运行?

Bri*_*kel 26

看起来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中使用远程域名作为远程用户名的前缀,如下所示:

数据库管理员

  • 请注意,如果您尝试连接到命名实例,端口将不是1433.您可以使用http://msdn.microsoft.com/en-us上的说明找到当前动态端口或将其更改为固定端口/library/ms345327(v=sql.100).aspx (5认同)
  • 要扩展Greg的注释,您将创建一个类似于database.contoso.com:12345的凭据管理器条目(或者您的命名实例所在的任何奇怪的端口).但是,当您使用SSMS连接时,您将使用database.contoso.com,12345(请注意逗号而不是冒号). (5认同)