我们的Microsoft SQL Server在Windows服务器上运行,这些服务器是Active Directory域的一部分。
为了便于用户pipe理,我们的SQL授权通过使用Active Directory用户组进行设置,如本文所述。
现在这个工作正常,只要每个人都在域内工作。 用户使用他们的AD证书login到他们的计算机,并可以通过使用“Windows身份validation”连接到SQL服务器。
问题是我们的用户也将在不属于Active Directory域的其他客户端计算机上工作(并且将它们添加到域中不是一个选项)。
我希望他们可以简单地继续使用他们的AD凭证login到服务器,通过使用SQL Serverlogin屏幕中提到的AD身份validation。
但是,这似乎并没有工作。
使用“活动目录密码身份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域,最有可能的。
您可能想尝试的一些解决方法:
TrustServerCertificate=True 。 这基本上是告诉SSMS,是的,你知道,就这样做。 runas /netonly /user:domain\username "C:\path_to\ssms.exe"我从来没有用SSMS做过这件事,但值得一试,因为OP似乎和你的情况相似我相信这个家伙回答)。 无论如何,希望这些解决方法之一将为你做的伎俩。