如何修复登录失败的Microsoft SQL Server错误:18456
如果服务器无法对连接进行身份验证,您可能会遇到 SQL Server 错误 18456,这可能是由于 SQL Server 的管理员权限不可用或在 SQL Server 设置中禁用了 TCP/IP 协议造成的。
当用户尝试连接到 SQL 服务器(本地或远程)但遇到错误 18456(具有不同状态)时,就会出现此问题。
您可以通过尝试以下解决方案来修复 SQL Server 错误 18456,但在此之前,请检查重新启动服务器、客户端计算机和联网计算机是否可以解决问题。此外,请确保您输入的用户名和密码正确(而不是复制粘贴地址)。
此外,检查您是否输入了正确的数据库名称(其中没有拼写错误)并确保您已相应地更新了配置文件。此外,检查解锁帐户(通过使用查询 ALTER LOGIN WITH PASSWORD= UNLOCK)是否解决了问题。如果您在 SQL 错误日志中看到错误,请确保您的SQL 服务器未受到攻击。最后但同样重要的是,确保服务器时钟和客户端计算机时钟设置正确。
以管理员身份启动 SQL Server 并在服务器上禁用 UAC
如果 SQL 服务器没有执行其操作的提升权限,您可能会遇到错误 18456,以管理员身份启动它(或禁用服务器上的 UAC 控件)可能会解决问题。
以管理员身份打开 SQL Server
- 单击Windows并键入SQL Server Management Studio。
- 现在右键单击 SMSS 并选择Run as Administrator。
- 然后单击是(如果收到 UAC 提示)并检查 SQL 服务器是否清除错误 18456。
- 如果不是,则检查在服务器计算机上禁用 UAC是否可以解决问题。
以单用户模式启动 SQL Server
- 单击Windows,键入并打开SQL Server Configuration Manager。
- 现在右键单击SQL Server服务(在 SQL Server 服务选项卡中)并选择Properties。
- 然后前往“启动参数”选项卡并在“指定启动参数”框中键入:
-m
- 现在单击添加并应用更改。
- 然后右键单击SQL Server服务并选择Restart。
- 现在单击Windows,键入:SQL Server Management Studio,右键单击SMSS,然后选择Run as Administrator。
- 现在检查您是否可以以管理员身份连接到 SQL Server。
- 如果是这样,则将域帐户添加到 SQL 服务器并为其分配SysAdmin角色。
- 现在返回SQL Server 配置管理器窗口并删除启动参数选项卡中的-m 参数。
- 然后重新启动SQL Server 服务(第 3 步)并检查 SQL Server 是否正常工作。
如果问题仍然存在,请检查启动参数或路径详细信息是否配置正确。如果问题仍然存在,请确保您的用户帐户对数据库/报告服务具有所需的权限,然后检查问题是否已解决。
在服务器配置管理器中启用 TCP/IP 协议
SQL 服务器中的错误代码 18456 表示服务器无法验证连接,如果在服务器配置管理器中禁用访问网络上的数据库所需的TCP/IP协议,就会发生这种情况。在这种情况下,在 SQL Server 配置管理器中启用 TCP/IP 可能会解决问题。
- 单击Windows并使用年份名称展开Microsoft SQL Server ,例如 2008(您可能需要滚动一下才能找到该选项)。
- 现在打开SQL Server 配置管理器并单击是(如果收到 UAC 提示)。
- 然后,展开SQL Server 网络配置并在左窗格中选择(服务器/数据库名称)的协议。
- 现在,在右窗格中,双击TCP/IP并在Enabled的下拉列表中选择Yes。
- 然后应用您的更改并单击Windows。
- 现在键入Services,右键单击Services 的结果,然后选择Run as Administrator。
- 然后右键单击SQL Server(带有服务器名称)并选择Restart。
- 现在检查 SQL 服务器是否清除错误 18456。
如果那没有解决问题,请确保连接到SQL 服务器的正确端口(特别是如果您在多服务器环境中使用该服务器)。
更改SQL Server的认证方式
如果 SQL Server 的身份验证方法配置不正确(例如:您尝试使用 SQL Server 身份验证登录,而服务器配置为使用 Windows 身份验证),则 SQL Server 可能会显示错误 18456。在这种情况下,更改SQL Server 的身份验证方法可能会解决问题。在继续之前,请确保已启用当前用户(例如 SA)的状态登录。
- 在Microsoft SQL Server Management Studio 的对象资源管理器中,右键单击您的服务器并选择Properties。
- 现在,在左窗格中选择Security,然后在右窗格中选择SQL Server 和 Windows Authentication(反之亦然)。
- 然后应用您的更改,并在对象资源管理器中,右键单击服务器。
- 现在选择重新启动,重新启动后,检查是否可以连接到数据库而不会出现错误 18456。
如果您无法登录 SQL,则可以安装 MS Power Tools并在提升的命令中运行以下命令:
psexec.exe -i -s ssms.exe
之后可以使用SQL的安装账号进行修改,同时确保SA账号没有被禁用:
启用SA账户并重置账户密码
如果无法连接到SQL Server,那么启用SQL Server的SA账户并重置其密码可能会解决问题。
- 启动Microsoft SQL Server Management Studio(您可能必须使用域管理员帐户)并展开Security。
- 然后双击登录并打开SA 。
- 现在输入新密码并确认密码(确保使用强密码)。
- 然后前往服务器角色选项卡并确保选择以下角色:
民众
系统管理员
- 现在转到Status选项卡并在右窗格中选择Enabled(在 Login 下)。
- 然后应用您的更改并单击Windows按钮。
- 现在键入服务并右键单击它。
- 然后选择以管理员身份运行并转向SQL Server 服务。
- 现在右键单击它并选择Restart。
- 重启服务后,检查SQL Server的18456错误是否清除。
创建新登录名并重新启动 Reporting Services
如果您无法使用任何帐户连接到数据库,那么创建一个新的登录名并重新启动报告服务可能会解决问题。
- 启动Microsoft SQL Server Management Studio 并展开其安全选项卡。
- 然后展开登录并右键单击它。
- 如果使用 SQL Server 身份验证,现在选择新登录并输入凭据(在登录名中选择计算机帐户)。
- 然后确保取消选中“用户必须在下次登录时更改密码”并选择数据库。
- 现在转到服务器角色选项卡并选择公共角色。
- 然后,在User Mapping选项卡中,确保选择数据库并选择db_owner。
- 现在应用您的更改并单击Windows。
- 然后键入服务并右键单击服务结果。然后选择以管理员身份运行。
- 现在右键单击SQL Server Reporting Service并选择Restart。
- 然后重新连接数据库,查看SQL server是否没有报错18456。
如果是这样,请确保您已经在BUILTIN\administrators中创建了一个用户,然后您就可以使用该用户来管理 SQL Server。如果您已从备份恢复数据库,最好删除并重新添加用户以清除所有旧用户条目。如果您想以不同用户身份运行 SQL Server,请在 Windows 搜索中键入 Microsoft SQL Server,按住Shift 键并右键单击SQL Server,然后选择以不同用户身份运行。最后但同样重要的是,检查将Azure Data Studio与 SQL 服务器结合使用是否可以解决问题。
以上是 如何修复登录失败的Microsoft SQL Server错误:18456 的全部内容, 来源链接: utcz.com/dzbk/941296.html