首页 > 数据库 > MySQL > 正文

SQL提示Login failed for user#039;sa#039;错误的解决方案

2024-07-24 12:41:59
字体:
来源:转载
供稿:网友

  现象:---------------------------------------------------

  1、连接SQL Server数据库提示:Login failed for user 'sa'. Reason: Not associated with a trusted SQL Server connection 错误

  问题:-------------------------------------------------

  初步分析应该与用户权限有关,查阅帮助文件,微软官方给出的原因:

  当 SQL Server 2000 安全身份验证设置为“仅 Windows”, 并且存在下列情况之一时,就会发生此问题:

  您正在尝试使用 SQL Server 登录连接到 SQL Server 2000 数据库。

  您正在尝试使用信任的 SQL Server 连接来连接到安装在基于 Microsoft Windows 98 的计算机上的 SQL Server 2000 桌面引擎(也称为 MSDE 2000)数据库。

  您正在尝试从某 Windows 帐户连接到 SQL Server 2000 数据库,而该帐户没有足够的权限连接到服务器。

  解决:--------------------------------------------

  官方给出的解决办法:

  SQL Server 登录

  使用有效的 Windows 登录连接到 SQL Server。如果必须继续使用 SQL Server 登录,您可以将在 SQL Server 2000 中的安全身份验证模式更改为“SQL Server 和 Windows”。为此,请按照下列步骤操作:

  启动企业管理器。

  展开“Microsoft SQL Servers”,然后展开“SQL Server 组”。

  右键单击要更改为“SQL Server 和 Windows”身份验证的服务器,然后单击“属性”。

  在“SQL Server 属性”对话框中,单击“安全”选项卡,单击“SQL Server 和 Windows”,然后单击“确定”。

  当提示您重新启动 SQL Server 服务时,单击“是”。

  SQL Server 2000 桌面引擎 (MSDE 2000) 安装在基于 Microsoft Windows 98 的计算机上

  当 SQL Server 2000 桌面引擎安装在基于 Windows 98 的计算机上时,必须使用标准的 SQL Server 登录连接到数据库。当您在基于 Windows 98 的计算机上安装 SQL Server 2000 桌面引擎时,不支持“仅 Windows”身份验证模式。

  Windows 帐户权限不足

  要解决此问题,必须将 Windows 帐户添加到 SQL Server,然后为用户需要访问的每个数据库授予适当的权限。为此,请按照下列步骤操作:

  启动企业管理器。

  展开“Microsoft SQL Server”,然后展开“SQL Server 组”。

  展开您的服务器,然后展开“安全”。

  右键单击“登录”,然后单击“新建登录”。

  在“SQL Server 登录属性”对话框中,在“名称”框中输入 Windows 帐户名。在“域”列表中,选择该 Windows 帐户所属的域。

  单击“数据库访问”选项卡,为客户端设置适当的权限,然后单击“确定”

  注意:在添加帐户后,您仍然必须为用户需要访问的各个数据库对象授予访问权限。

  2、刚装完SQL Server 2008 Express,尝试使用sa账号登录,但总是出现Login failed for user 'sa' 错误。觉得应该是SQL Server的认证模式没设对,SQL Server Express默认是Windows Authentication模式,我必须设成Mixed Authentication Mode才可以。

  所以查了一下文档,微软的官方文档说只要把sa账号enable就可以了,但试过后同样的错误。后来截取了SQL Server Management Studio的脚本才发现还必须要改一个注册表键值才行。

  在我的机器上该键值是:HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10.SQLEXPRESSMSSQLServerLoginMode

  1 - Windows Authentication Mode

  2 - Mixed Authentication Mode

  改成2以后就能用sa账号登录了。

  *补充一下,必须得重启SQL Server的服务改动才能有效。

  3、在 SQL Server 2005 中,您将收到"登录错误: 18456"错误消息在您尝试登录到 SQL Server 2005 实例并且下列条件都为真时:

  •您尝试使用 SQL Server 身份验证的登录来登录到该实例。

  •在 SQL Server 服务配置服务的启动帐户使用域帐户。

  •SQL 身份验证登录接收"登录错误: 18456"错误消息被配置为使用 Windows 域密码策略实施。

  注意默认情况下,除非您显式设置创建登录语句的 CHECK_POLICY 子句为 OFF 时创建给定的登录启用 SQL 身份验证登录的 Windows 域密码策略实施。

  •SQL Server 启动服务的服务帐户已锁定或禁用域控制器上。

  如果配置登录审核失败登录事件写入错误日志的 SQL Server 实例,以下消息将写入 SQL Server 错误日志文件:

  错误消息 1

  日期时间登录错误: 18456,严重: 14 日状态: 10。

  解决方案

  可以从 Microsoft 获得支持的热修复补丁程序。但是,此修补程序仅能用于解决本文中描述的问题。此热修复补丁程序仅适用于正出现此特定问题的系统。此修补程序可能会接受进一步的测试。因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。

  如果此修补程序已可供下载,则此知识库文章顶部"提供修补程序下载"部分。如果未显示此节,请联系 Microsoft 客户服务和支持,以获取此修复程序。

  注意如果出现其他问题或需要任何故障诊断,您可能需要创建单独的服务请求。其他支持问题和事项,不适合于此特定的修补程序将收取照常收取支持费用。Microsoft 客户服务和支持电话号码,或创建单独的服务请求的完整列表,请访问下面的 Microsoft Web 站点:

  http://support.microsoft.com/contactus/?ws=support

  () http://support.microsoft.com/contactus/?ws=support

  注意"可用的热修补程序下载"表格显示此热修复补丁程序适用的语言。如果您看不到您的语言,这是因为热修复补丁程序不适用于该语言。

  先决条件

  您必须具有要应用此修补程序安装的 SQL 服务器 2005 Service Pack 1。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表