我们的 Microsoft SQL Server 在属于 Active Directory 域的 Windows Server 上运行。
为了方便用户管理,我们的 SQL 授权是使用 Active Directory 用户组设置的,如本文所述。
现在,只要每个人都在域内工作,它就可以正常工作。人们使用他们的 AD 凭据登录到他们的计算机,并且可以使用“Windows 身份验证”连接到 SQL 服务器。
问题是我们的用户还将在不属于 Active Directory 域的其他客户端计算机上工作(并且不能将它们添加到域中)。
我希望他们可以通过使用 SQL Server 登录屏幕中提到的 AD 身份验证继续使用他们的 AD 凭据登录到服务器。
但是,这似乎不起作用。
使用 Active 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 域的客户端计算机登录。
错误消息是证书是由不受信任的机构颁发的。那很可能是您的 AD 域。
您可能想尝试的一些解决方法:
TrustServerCertificate=True
在附加连接参数下添加。这基本上是在告诉 SSMS,是的,你知道的,就去做吧。runas /netonly /user:domain\username "C:\path_to\ssms.exe"
我从来没有用 SSMS 做过这个,但值得一试,因为 OP 似乎和你的情况相似(我相信那个回答的人)。无论如何,希望其中一种解决方法可以为您解决问题。
最简单的方法就是简单地以另一个用户身份运行 SQL Server。为此,请按照下列步骤操作:
Shift + Right-Click
捷径它对我有用。我认为如果我从登录屏幕中选择“Active Directory - 密码”,它会做同样的工作,但是......不幸的是它没有。