Microsoft SQL Server 错误 18456 故障排除

Microsoft SQL Server (MSSQL) 的登录错误是一个相当常见的问题,可以通过一些基本的故障排除步骤轻松解决。 在我们深入研究之前,让我们看一下错误的详细信息以尝试确定原因。

Microsoft SQL Server 错误 18456 的解决方案

有时,错误显示为“用户 ‘‘ 登录失败”,此信息将帮助我们识别需要排除故障的用户。 从消息中,我们将知道错误号作为搜索后续步骤的参考。 在这种情况下,它是 Microsoft SQL Server,错误:18456。

其他时候,我们可能只会看到“Microsoft SQL Server 错误 18456”以及严重性和状态编号。 就其本身而言,州号可能意义不大,但它可以提供更多关于哪里出了问题以及下一步该去哪里寻找的细节。

这些错误状态 18456 是最常见的。 描述和潜在的解决方案提供了快速解释和潜在的故障排除指南。

mssql 错误和潜在的解决方案

第 1 步:使用远程桌面登录

故障排除和解决方案要求您登录到服务器或至少能够使用 Microsoft SQL Server Management Studio 与 MSSQL 建立 Windows 身份验证连接。 最常见和最简单的方法是使用远程桌面连接直接连接到服务器。 如果您需要有关远程桌面连接的更多信息,这些知识库文章将帮助您建立连接:

步骤 2:运行 Microsoft SQL Server 管理

登录到服务器后,您需要运行 Microsoft SQL Server Management Studio (SSMS)。 SSMS 是最适合配置、管理和管理 MSSQL 的工具。

mssql服务器管理

启动 SSMS 时,系统会要求您登录服务器。 默认情况下,大多数 MSSQL 服务器都启用了 Windows 身份验证,这意味着您必须使用 Windows 管理员或在安装和配置 MSSQL 时指定为 SQL 管理员的帐户登录。

连接到 mssql 服务器

除了 Windows 身份验证,MSSQL 还支持 SQL Server 身份验证。 根据 MSSQL 的版本以及它的安装和配置方式,您可能会或可能不会默认启用 SQL Server 身份验证。

第三步:检查服务器认证方式

一旦我们使用 Windows 身份验证登录到 SSMS,我们需要检查安全设置以确认 MSSQL 是否设置为允许 Windows 和 SQL 身份验证。

在 SSMS 中,右键单击 服务器名称 在对象资源管理器窗口的顶部并选择 特性.

接下来,单击 安全 页。

mssql 安全属性

如果你发现 Windows 身份验证 是唯一配置的模式,这可能是错误 18456,用户“<用户名>”登录失败的原因。

将服务器身份验证模式设置为允许 SQL Server 和 Windows 身份验证,您将能够使用 SQL 用户和密码或 Windows 用户和密码登录 MS-SQL。 进行此更改后,您将需要重新启动 SQL Server 服务。

第四步:重启 SQL 服务

在 SSMS 中,右键单击 服务器名称 在顶部 对象资源管理器 窗口并选择 重新开始 应用新的身份验证模式设置。

在上述 exampleWindows 身份验证模式是唯一配置的模式,并且出现错误 18456,因为用户 ‘sa’ 是 SQL 用户并且不允许 SQL Server 身份验证。

第 5 步:检查 SQL 用户权限

在检查 SQL 用户权限时,我们需要回答以下问题:

  • 用户是否允许登录?
  • 用户是否设置了有效密码?
  • 用户是否具有访问所需数据库所需的权限?

在 SSMS 中 对象资源管理器, 扩张 安全、登录. 找到登录失败的用户。 X on the user 表示该用户已禁用登录。

短信登录属性

要允许用户登录,请右键单击用户并选择 特性,然后单击 地位 页。 启用登录 为用户并单击 好的.

为用户启用登录

刷新列表用户登录后,我们可以确认用户不再有红色 x 存在。 这应该允许用户登录。在这个 exampleSQL 用户 ‘sa’ 登录失败,因为没有登录权限。

继续用户故障排除,右键单击用户并选择 特性,然后单击 一般的 页。 在这里你可以输入一个新的 密码 然后输入 确认密码. 点击 好的 保存新密码。 我们为用户设置了一个新密码,以便我们在尝试登录时确定密码。

sa 登录用户属性

第 6 步:将用户映射到数据库

我们对用户进行故障排除的最后一步是检查用户映射以验证用户有权访问所需的数据库并设置或验证他们在数据库中的角色。 右键单击用户并选择 特性,然后单击 用户映射 页。 选择 数据库 从数据库列表中。 从数据库角色成员中,选择所需/必需的成员。 点击 好的.

为用户启用登录

在这个 example,我们映射了用户 ‘产品 X709‘ 到数据库 量产 X709.2019 并授予他们数据库角色 db_owner. 在许多情况下,您只需要一个用户 db_datareaderdb_datawriter 角色能够读取和写入数据库。

结论

在这篇故障排除文章中,我们了解了如何识别错误 18456 的细节,以帮助我们找出问题的根本原因。 还在寻求支持? 我们的 MSSQL 数据库解决方案由我们的技术支持团队提供帮助。 了解我们的高可用性数据库如何为您服务!

今天就开始吧!

我们以成为 Hosting™ 中最有帮助的人而自豪!

我们的支持团队由经验丰富的 Linux 技术人员和才华横溢的系统管理员组成,他们对多种网络托管技术有着深入的了解,尤其是本文中讨论的技术。

如果您对此信息有任何疑问,我们将随时为您解答与本文相关问题的任何询问,每天 24 小时、每周 7 天、每年 365 天。

如果您是完全托管的 VPS 服务器, Cloud 专用,VMWare 私有 Cloud私有父服务器, 托管 Cloud 服务器或专用服务器所有者并且您对执行概述的任何步骤感到不舒服,可以通过电话@800.580.4985 联系我们, 聊天 或支持票以帮助您完成此过程。