1.介绍18456错误
在Microsoft SQL Server上运行时,当我们尝试使用错误的凭据进行身份验证时,会出现18456错误。这可以是由于错误的登录名或密码,或者可以是由于没有登录。这是一个非常常见的错误,解决它并不总是那么困难。
2.尝试连接时出现18456错误?
2.1.检查是否使用错误的用户名或密码
USE master;
GO
SELECT name FROM sys.server_principals WHERE type_desc = 'SQL_LOGIN'
使用以上查询可以检查是否正在使用正确的凭据登录,如果结果返回空,说明用户名或密码无效。
2.2.首次设置SQL Server时是否启用Windows身份验证
如果首次设置SQL Server时选择了Windows身份验证模式,而不是SQL Server身份验证模式,则可能会出现18456错误,因为Windows身份验证模式不允许SQL Server使用本地SQL Server身份进行验证。
2.3.检查数据库状态
在某些情况下,当数据库处于脱机或不可用状态时,可能会发生18456错误。因此,检查数据库的状态是检查是否存在此问题的另一种方法。
2.4.检查是否在正确的计算机上连接
如果将登录尝试指向不是MSSQL服务器的计算机,则不仅会出现18456错误,还将返回错误“未找到或访问被拒绝”。因此,请确保连接到正确的计算机。
3.解决18456错误的步骤
3.1.使用正确的凭据连接
首先请确保使用正确的用户名和密码尝试连接。如果您忘记了凭据,请重置它们,然后再次尝试连接。您还可以使用以下命令查询不同的用户:
select name from sys.sysusers where hasdbaccess = 1;
3.2.更改SQL Server身份验证模式
如果您使用的是SQL Server身份验证模式,请将其更改为Windows身份验证模式,然后再次尝试连接。这可以通过以下步骤完成:
在SQL Server Management Studio中,单击“服务器对象”文件夹,然后右键单击需要更改身份验证模式的服务器实例。
单击“属性”。在弹出的“属性”对话框中,单击“安全”。
将服务器身份验证更改为Windows身份验证模式。
3.3.重新启动SQL Server服务
有时候,即使我们已经使用正确的凭据连接到服务器,但服务器仍然会向我们返回18456错误。这可以通过重新启动SQL Server服务来解决。重新启动服务后,请等待几分钟,然后再尝试连接。
4.结论
在解决MSSQL 18456错误时,首先请确保使用正确的用户名和密码尝试连接。如果有必要,可以重置密码。您还可以更改身份验证模式或重新启动SQL Server服务。
如果这些步骤仍然无法解决问题,请检查MSSQL服务器的其他设置是否正确。如果问题仍然存在,请考虑升级MSSQL服务器版本,以便利用最新安全和身份验证功能。