我猜这在微软网站的某个地方有记录,但到目前为止我还没有找到它。
我正在尝试设置一个 Windows Server 2008 机器,让 SQL Server 2008 与 Windows 身份验证(实际上是混合模式,但无论如何)工作。我们有许多需要访问数据库的客户端机器,我想让配置尽可能简单。
这是我到目前为止所做的:
- 安装 SQL Server 2008 选择混合模式
- 创建一个名为“UserLogin”的新“标准”(而不是管理员)Windows 登录名(意图将其用作访问帐户)
- 为 Server\UserLogin 创建一个 SQL Server 登录名并为其分配“Windows 身份验证”
以 UserLogin 身份登录,检查我是否能够使用 WIndows 身份验证连接到 SQL Server,然后再次注销
在第一个客户端(Windows XPSP2、SQL Server 2005)上启动:
- 跑
C:\WINDOWS\system32\rundll32.exe keymgr.dll, KRShowKeyMgr
- 单击“添加”,在框中输入服务器名称,在 Username 中输入 Server\UserLogin,在 Password 字段中输入 UserLogin 的密码。单击“确定”,然后单击“关闭”
- 尝试使用 Windows 身份验证访问 SQL Server 2005。
成功。五彩纸屑!
在第二个客户端(Windows 7、SQL Server 2008)上启动:
- 跑
C:\WINDOWS\system32\rundll32.exe keymgr.dll, KRShowKeyMgr
- 单击“添加”,在框中输入服务器名称,在 Username 中输入 Server\UserLogin,在 Password 字段中输入 UserLogin 的密码。单击“确定”,然后单击“关闭”
- 尝试使用 Windows 身份验证访问 SQL Server 2008。
- 收到错误“登录失败。登录来自不受信任的域,不能用于 Windows 身份验证”
- 假设这转化为“你不能有来自同一个帐户的两个连接”(是的,我知道这没有意义,但我有点像那样)
- 返回服务器,创建第二个 Windows 帐户,为其授予 SQL Server 权限。
- 回到第二个客户端,为第二次登录创建一个新的密码,再次尝试登录。继续收到相同的错误。
这一切是否过于复杂,并且有一种简单的方法可以完成我想要完成的事情?还是我错过了一些超明显的步骤,可以让一切都按预期运行?当我尝试使用 Google 时,出现的大部分内容似乎都类似于“我的 ASP.NET 应用程序无法正常工作!”,这显然没有多大用处。
所有这些计算机都在 Windows 域上吗?如果是这样,您应该使用 Windows 域用户帐户,而不是听起来像本地计算机帐户的东西。