使用Active Directory凭据登录Microsoft SQL Server


13

我们的Microsoft SQL Server在Active Directory域的一部分Windows Server上运行。

为了方便用户的管理,我们的SQL授权使用Active Directory用户组在这个解释成立

现在,只要每个人都在域内工作,此方法就可以正常工作。人们使用其AD凭据登录到其计算机,并可以使用“ Windows身份验证”连接到SQL Server。

问题是我们的用户还将在不属于Active Directory域的其他客户端计算机上工作(并且不能将它们添加到该域中)。

我希望他们可以继续使用他们的AD凭据通过使用SQL Server登录屏幕中提到的AD身份验证来登录服务器。

SQL Server登录屏幕

但是,这似乎不起作用。

使用Acive Directory密码身份验证登录会出现证书问题。错误:“证书链是由不受信任的颁发机构颁发的。”

Cannot connect to x.x.x.x.

===================================

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - The certificate chain was issued by an authority that is not trusted.) (.Net SqlClient Data Provider)

------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft%20SQL%20Server&EvtSrc=MSSQLServer&EvtID=-2146893019&LinkId=20476 (page does not exist)

奇怪的是,如果我进入登录窗口的“选项”设置并选中“信任服务器证书”框。我突然无法连接到服务器,而我只是得到了错误。

Cannot connect to x.x.x.x.

===================================

Login failed for user ''. (.Net SqlClient Data Provider)

我要实现的设置可行吗?如果是这样,我该如何实现?:)

回顾: SQL Server在AD域中运行,用户具有AD凭据,但还需要能够使用其AD凭据从不属于AD域的客户端计算机登录。


打开C:\WINDOWS\system32\cliconfg.exe并检查是否启用了强制协议加密。如果禁用它
Drifter104 '17

不,它没有启用。
吉尔斯·莱斯雷

2
有趣的问题。这似乎是有效的:runas /netonly /user:domain\username "c:\path\ssms.exe" mssqltips.com/sqlservertip/3250/...
米哈尔Sokolowski

Answers:


10

错误消息是证书是由不受信任的颁发机构颁发的。那很有可能是您的AD域。

您可能要尝试几个解决方法:

  1. 这篇dba.stackexchange.com帖子建议在上方的连接窗口中单击选项按钮,然后TrustServerCertificate=True在“其他连接参数”下添加。这基本上是在告诉SSMS,是的,知道吧。
  2. 如果这不起作用,则此dba.stackexchange.com帖子建议使用runas来欺骗Windows。例如,runas /netonly /user:domain\username "C:\path_to\ssms.exe"我从未使用SSMS做到这一点,但是值得一试,因为OP似乎与您处于类似的情况(并且我相信那家伙回答)。

无论如何,希望这些解决方法之一可以为您解决问题。


1
第一个解决方案不起作用,在我的问题中已经解决了。第二种解决方案似乎可以正常工作,但登录时仍然说我的Windows名称位于连接旁边,如果它实际上是域帐户并且是否按预期正常工作,则必须进行一些测试。手指交叉。
吉尔斯·莱斯雷尔

如果运行方式有效,是否可以避免命令提示符?并非我们所有的用户都精通技术。
吉尔斯·莱斯雷

3
也许您可以创建一个自定义快捷方式?我实际上只是通过将自己添加runas /netonly /user:domain\username 到复制的快捷方式的开头字符串中来对此进行测试。尽管它还弹出了一个命令提示符,让他们输入凭据,但效果很好。
凯瑟琳·维尔德

或者使用Sysinternals的ShellRunAs
诺姆

1

最简单的方法是右键单击“ Microsoft SQL Server Management Studio”-“更多”选择“以其他用户身份运行”。它为我工作。我以为,如果我从登录屏幕中选择“ Active Directory-密码”,它将执行相同的工作,但是...不幸的是,它没有。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.