当我尝试使用 Windows 身份验证连接到 SQL Server (2008 R2) 时:
我不能:
检查窗户应用事件日志中我发现错误:
用户“AVATOPIA\ian”登录失败。原因:基于令牌的服务器访问验证因基础结构错误而失败。检查先前的错误。[客户端:]
- 日志名称:应用
- 来源:微软SQL服务器
- 事件 ID:18456
- 等级:信息
- 用户:AVATOPIA\ian
- 操作码:
- 任务类别:登录
我可以使用 Windows 身份验证登录到计算机本身。我可以使用当地的Windows 管理员帐户。
我们可以使用 Windows 身份验证连接到域中的其他 8 个 SQL Server。只有这一个,这是唯一一个2008 R2失败了。因此我推测这是 **2008 R2* 的一个错误。
笔记:我无法使用 Windows 身份验证在本地或远程登录。我可以使用 SQL Server 身份验证在本地和远程登录。
更新
笔记:它不仅限于 SQL Server Management Studio,使用 Windows 身份验证连接的独立应用程序:
失败:
笔记:这不是客户端问题,因为我们可以正常连接到其他(非 SQL Server 2008 R2 计算机):
我确信有一篇技术说明或知识库文章描述了为什么 SQL Server 2008 R2破碎的 经过 默认,但我找不到它。
更新 2
马特弄清楚微软对 SQL Server 2008 R2 所做的更改默认已损坏:
管理员不再是管理员
剩下的就是弄清楚如何让管理员成为管理员。
有一天我会开始列出微软“默认破坏”计划的变更清单。
重现问题的步骤
如何将群组添加到系统管理员修复了服务器角色?以下是我尝试过但不起作用的步骤:
点击添加:
点击对象类型:
确保您没有添加组的能力:
并点击好的。
在下面输入要选择的对象名称, 进入
Administrators
:点击检查姓名,并确保您无权添加组:
并点击取消。
点击浏览...,并确保您无法添加组:
您现在应该还没有将任何组添加到系统管理员角色。
附加信息
SQL Server Management Studio 正在以管理员身份运行:
SQL Server 设置为使用 Windows 身份验证:
尝试同时使用两个和唯一的其他 sysadmin 域帐户登录 SQL
sa
(可以为那些不相信的人提供屏幕截图)
答案1
正如 Matt 所说,您使用的 Windows 登录尚未设置,您需要使用属于 sysadmin 固定服务器角色成员的登录名来添加它。
您不需要成为 sysadmin 固定服务器角色的成员即可连接到 SQL Server 2008 R2 实例。
顺便说一句,在 R2 安装期间,可以指定需要添加到 sysadmin 固定服务器角色的登录名。
更新-如何在 SQL Server 安全性中启用组添加
包含组后,您可以使用“选择用户或组”弹出窗口中的“检查名称”找到它们(如果存在)。
答案2
@squillman 提供了解决方案在一个单独的问题中。
这是 SQL Server 2008 和未来产品的已知问题。修复方法是运行:
CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS
go
sp_addsrvrolemember
@LogiName='BUILTIN\Administrators',
@RoleName='sysadmin'
重点是不能直接将“组”添加到服务器角色。您必须添加“登录”为了那个“组”。然后你可以添加那个“登录”:
例如失败:
BUILTIN\Administrators
->系统管理员
作品:
BUILTIN\Administrators
-> 内置\管理员 ->系统管理员
答案3
- SQL 服务器是否与您的 PC 位于不同的域中
- 您是否已将您的用户添加为系统管理员角色?
(要执行此操作,请以 sa 身份登录到服务器 - 转至安全性 - 如果不存在,则添加域用户 - 打开用户的属性 - 转至服务器角色并选择 sysadmin)
然后就应该可以登录了。
答案4
以 sa 模式登录后运行此查询..
使用 Windows 创建登录 [您当前的电脑名称\用户名],默认数据库为 [master],默认语言为 [us_english] 开始
在所有情况下它都对我有效。