使用Active Directory凭据的Microsoft SQL Serverlogin

我们的Microsoft SQL Server在Windows服务器上运行,这些服务器是Active Directory域的一部分。

为了便于用户pipe理,我们的SQL授权通过使用Active Directory用户组进行设置,如本文所述。

现在这个工作正常,只要每个人都在域内工作。 用户使用他们的AD证书login到他们的计算机,并可以通过使用“Windows身份validation”连接到SQL服务器。

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

我希望他们可以简单地继续使用他们的AD凭证login到服务器,通过使用SQL Serverlogin屏幕中提到的AD身份validation。

SQL Server登录屏幕

但是,这似乎并没有工作。

使用“活动目录密码身份validation”进行login会导致证书问题。 错误:“证书链是由不受信任的权限颁发的。”

Cannot connect to xxxx =================================== 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) 

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

 Cannot connect to xxxx =================================== Login failed for user ''. (.Net SqlClient Data Provider) 

我想达到的设置是可能的吗? 如果是这样,我该如何实现呢? 🙂

回顾一下: SQL服务器在AD域中运行,用户拥有AD凭据,但是也需要能够从客户端计算机(而不是AD域的一部分)以AD凭据login。

错误消息是证书是由不受信任的权威颁发的。 这将是你的AD域,最有可能的。

您可能想尝试的一些解决方法:

  1. 这dba.stackexchange.compostbuild议单击上面的连接窗口上的选项button,并在其他连接参数下添加TrustServerCertificate=True 。 这基本上是告诉SSMS,是的,你知道,就这样做。
  2. 如果这不起作用, 这个dba.stackexchange.compostbuild议使用runas来欺骗Windows。 例如, runas /netonly /user:domain\username "C:\path_to\ssms.exe"我从来没有用SSMS做过这件事,但值得一试,因为OP似乎和你的情况相似我相信这个家伙回答)。

无论如何,希望这些解决方法之一将为你做的伎俩。