无法使用角色db_owner的用户登录

时间:2015-08-02 17:40:31

标签: sql-server

我正在运行以下脚本,不会收到任何错误或警告。我还验证用户实际上已创建。当我点击它时,我会看到角色(已选中成员 db_owner )。

create login normalLogin
  with password = 'normalpass',
  check_policy = off
create login adminLogin
  with password = 'adminpass',
  check_policy = off

create user common for login normalLogin;
create user admin for login adminLogin;

execute sp_addrolemember db_owner, admin

但是,当我尝试使用 admin 作为用户名并使用 adminpass 作为密码(SQL授权)登录服务器时,收到错误消息告诉我这个

  

用户'admin'登录失败。 (Microsoft SQL Server,错误:18456)

访问helping link,我得到两个可行的建议。

  1. 验证是否在混合身份验证模式下配置了SQL Server。
  2. 验证SQL Server登录是否存在以及您是否已正确拼写。
  3. 我确定(1)是正确的(仍然,我怎么能重新检查它?)所以怀疑落在(2)上。上面的脚本不够用吗?我觉得数据库级别的用户可能还不够,我需要在服务器级别创建它。是这样吗?我怎么编写这样的操作脚本?当然,我希望保持安全和隔离。

1 个答案:

答案 0 :(得分:1)

你可以试试这个:

  1. 打开SQL Server Management Studio。
  2. 数据库服务器右键单击并转到属性。
  3. 选择安全选项并检查SQL Server和Windows身份验证模式。
  4. 在SQL配置管理器中启用TCP / IP连接。
  5. 重新启动SQL Server服务。