我正在尝试使用 Windows 身份验证设置 SQL Server 登录名和用户。
到目前为止,我所做的如下:
在我的电脑上添加了一个名为“User1”的新非管理员帐户。PC 被称为“DESKTOP”,所以完整的用户名是“DESKTOP\User1”
使用“FROM WINDOWS”选项为该用户创建一个 SQL Server 登录名,将 SQL 登录名链接到我的 PC 登录名。用户被称为例如“DESKTOP\User1”。
使用“FOR LOGIN”选项为 SQL Server 登录创建数据库级用户,以将用户链接到 SQL Server 登录。
已验证新数据库用户不是“SysAdmins”组的成员,并且已启用登录并允许登录访问。
注销我的管理员 Windows 帐户并以“User1”身份登录。我成功登录了。
启动 SSMS,确保用户名设置为“DESKTOP\User1”并且选择了“Windows 身份验证”。
当我按下“连接”时,我看到了一个错误,事件日志中的内容如下:
Token based server access validation failed with an infrastructure error
Server Name: DESKTOP
Error Number: 18456
Severity: 14
State: 1
Line Number: 65536
阅读此内容后,有人建议这是 UAC 错误。所以我以管理员身份运行 SSMS。在 Windows 8.1 上,它会要求我使用系统管理员帐户登录 - 这很有效 - 但随后我以“DESKTOP\Administrator”而不是“DESKTOP\User1”身份登录到 SQL Server。
为什么 Windows 不能将我的非管理员凭据传递给 SQL Server 并让我登录?这样做的目的是(在未来的“域”中)用户可以使用非管理员权限并使用 Windows 身份验证访问 SQL Server。
提前致谢。