提要:我在 SQL Server 中新建用户登录时,出现了三种错误,错误代码分别是 18456、15128、4064
----------------------------------- 正 文 -----------------------------------
一、实验环境
Windows 7
SQL Server 2008
数据库实例名为 TestDB,新建的用户名为 testUser
二、操作步骤
1、打开 SQL Server Management Studio,以 Windows身份认证方式登录
2、在对象资源管理器下,右键 Security ==> Logins ==> New Login
3、打开 新建登录名 对话框后,常规 右侧输入相应的登录名、密码和默认数据
用户映射选项卡下
状态选项卡下
输入完成后确认
4、对象资源管理器 下,右键 实例名称(不知道这么叫对不对),下图中蓝色背景的部分 ==> Properties
在 安全性 选项卡下选择 混合验证模式 后确定
5、重启 SQL Server 服务
此时新建用户成功。
三、几点说明
1、如果在 步骤3 常规 选项卡中勾选了 强制实施密码策略,则会出现 15128 错误
此时需要以 Windows身份认证方式 登录后 执行如下语句
- AlTER LOGIN testUser WITH PASSWORD = '新密码'
2、如果在 步骤3 用户映射 选项卡中没有将该用户映射到相应的数据库,则即使在 常规 选项卡中指定了 默认数据库,该用户也不能正常登陆了,此时报错 4064,我的理解是数据库用户列表中并没有该用户,所以用户登录时拒绝操作
3、如果在 步骤4 中没有指定 服务器身份验证 方式,则登录时会出现 18456 的错误
四、总结
1、此时的 testUser 用户所拥有的权限非常低,仅是 可以连接,权限配置在相应数据库的 属性 配置中
2、整个配置过程可以理解为 新建用户 ==> 将用户添加到相应的数据库用户列表中 ==> 配置用户权限 ==> 更改 SQL Server 的身份验证方式