无法使用 Windows 身份验证登录到 SQL Server 2008 R2

Ian*_*oyd 6 sql-server sql-server-2008-r2

当我尝试使用 Windows 身份验证连接到 SQL Server (2008 R2) 时:

在此处输入图片说明

我不能:

在此处输入图片说明

检查 Windows应用程序事件日志,我发现错误:

用户“AVATOPIA\ian”登录失败。原因:基于令牌的服务器访问验证因基础结构错误而失败。检查以前的错误。[客户: ]

  • 日志名称:应用程序
  • 来源: MSSQLSERVER
  • 事件 ID: 18456
  • 级别:信息
  • 用户: AVATOPIA\ian
  • 操作码:
  • 任务类别:登录

我可以使用 Windows 身份验证登录到计算机本身。我可以使用本地Windows 管理员帐户登录 SQL Server 。

我们可以使用 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

Matt找出了 Microsoft 所做的更改,以便 SQL Server 2008 R2在默认情况下破坏

管理员不再是管理员

在此处输入图片说明

剩下的就是弄清楚如何使管理员成为管理员。

其中一天,我将围绕 Microsoft 的“默认破坏”计划启动一系列更改。

重现问题的步骤

如何将组添加到sysadmin固定服务器角色?这是我尝试的步骤,但不起作用:

  1. 点击添加

    在此处输入图片说明

  2. 单击对象类型

    在此处输入图片说明

  3. 确保您无法添加组:

    在此处输入图片说明

    并单击确定

  4. Enter the object names to select 下,输入Administrators

    在此处输入图片说明

  5. 单击Check Names,并确保您不被允许添加组:

    在此处输入图片说明

    并点击取消

  6. 单击Browse...,并确保您无法添加组:

    在此处输入图片说明

您现在应该还没有向sysadmin角色添加任何组。

附加信息

  • SQL Server Management Studio 正在以管理员身份运行:

    在此处输入图片说明

  • SQL Server 设置为使用 Windows 身份验证:

    在此处输入图片说明

  • 尝试同时使用两个sa和唯一的其他 sysadmin 域帐户登录 SQL (可以为不相信的人提供屏幕截图)

Ian*_*oyd 3

@squillman 在一个单独的问题中提供了解决方案

这是 SQL Server 2008 和未来产品的一个已知问题。修复方法是运行:

CREATE LOGIN [BUILTIN\Administrators] FROM WINDOWS
go
sp_addsrvrolemember
      @LogiName='BUILTIN\Administrators',
      @RoleName='sysadmin'
Run Code Online (Sandbox Code Playgroud)

重要的一点是不能直接将“组”添加到服务器角色。您必须为该“组”添加“登录名”。然后你可以添加“登录”:

例如失败

BUILTIN\Administrators->系统管理员

作品

BUILTIN\Administrators-> 内置管理员 ->系统管理员