SQLServer 2005为什么windows不能登陆,而sa却可以,错误:18456,注:win7系统,请大虾门帮帮忙···

2024-12-16 08:23:31
推荐回答(3个)
回答1:

1.问题描述

安装系统默认情况下administrator是本地账户,这是因为我装系统时就将本地的管理员直接加入域了,才导致这个问题

登陆SqlServer数据库引擎时,使用本地登陆,提示18456错误。也就是用户没有权限;原因是:SqlServer的本地登陆必须是本地的账户,而由于WIN7机器一开始就加入了域,所以没有本地账户。所以其实只要进入SqlServer在登陆角色中加入自己的域账户即可。用SA登陆进去也可

2.解决方案

打开本地用户和组策略,选择组,找到SQLServer2005MSSQLUser相关的项,双击,添加成员,将自己的域账户加入即可。

回答2:

用windows账号还是可以登录的。

查找问题的过程:
第一步: 启动所有与SQL有关的服务,问题依旧;
第二步: 查看windows防火墙,被默认启动了,不启动选择项被Disabled。两个提示“由于安全考虑,某些设置由组策略控制”“Windows防火墙正在使用您的域设置”,先用gpedit.msc打组策略编辑器,机算机配置--管理模板--网络--网络连接--Windows防火墙--标准配置文件,查看右边各选项属性,都是未配置状态,问题不在这里。
另外一个提示中提到域设置,域设置不可能禁用SQL Server,并且我查看本地开放端口(netstart -an),25,1433,1434都是开发状态。

晕,会不会是密码错误?

第三步:我用windows账号登录,连接成功后,, 选择"属性",
右键实例,在"属性"窗口中, 转到"Security"(安全性)项, 查看"服务器身份验证"中设置确为"SQL Server和Windows身份验证模式",
然后执行下面的语句启用sa用户, 同时更改sa的密码
EXEC sp_password 'sa',null,'sa'
ALTER LOGIN sa ENABLE

执行出错:
消息 15116,级别 16,状态 1,第 1 行
密码有效性验证失败。该密码太短,不符合 Windows 策略要求。

哈哈,问题找到。

本地设置可能被域设置覆盖。而域设置中指定了安全策略,密码必须有一定的复杂性。重新更改sa密码,
EXEC sp_password 'sa','Uiop_098Mn','sa'
ALTER LOGIN sa ENABLE

问题解决!

回答3:

一、服务器属性之连接内的是否允许远程连接是否勾上
二、登录者的权限是否足够
三、实例名是否正确