none
SQL Server域帐户问题 RRS feed

  • 问题

  • 大家好!

    我先把我的问题描述一下吧:公司安装了Project Server配置使用的数据库为SQL Server 2005,

    后来由于服务器升级的原因,我们把SQL Server服务器操作系统重新安装了,也重新安装了SQL Server2005;我将从之前服务器分离下来的数据库文件附加到了升级后的服务器(附加过程没有问题),在使用的过程中发现报错:

    Message
    Error: 18456, Severity: 14, State: 16.

    Login failed for user 'CN\zhanghaiyan'. [CLIENT: 149.208.111.23]

    环境如下:

    SQL Server服务器在域CN中

    Project Server服务器(149.208.111.23)也在域CN中,cn\zhanghaiyan登录149.208.111.23后连接SQL Server服务器报错。

     

    2010年7月19日 6:10

答案

  • 对于 <= sql 2005 的版本来说, 默认仅添加系统管理员组为 sql server 的 Login

    如果 cn\zhanghaiy 不在 administrators 组, 需要单独为它在 sql server 中创建 login 的授权.

    2010年7月20日 4:32
  • 对于 >= sql 2008的版本(或者你人为拿掉了 sql server 中 ...\administratos 的 Login), 那么你需要在 sql server 中对 Windows 用户单独创建 sql server login 并授权

    参考下面这个示例

     

    CREATE LOGIN [cn\zhanghaiyan] FROM WINDOWS;  -- 创建 Login

    EXEC sp_addservrolemember 'cn\zhanghaiyan', 'sysadmin' ;  -- 设置为管理员角色

    2010年7月20日 4:35
  • login属于instance级别的对象,存储在master数据库,

    分离后的数据库文件只包含user和数据信息,所以你无法使用原有的login进行登录.

     

    重新创建,并赋予权限就好了.

     

    也可以将原有的master数据库还原,或者将login信息导出


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年7月21日 2:02
    版主

全部回复

  • cn\zhanghaiyan 这个用户添加到sql server用户中。

    并赋予必要的权限

     


    family as water
    2010年7月19日 7:15
  • 对于 <= sql 2005 的版本来说, 默认仅添加系统管理员组为 sql server 的 Login

    如果 cn\zhanghaiy 不在 administrators 组, 需要单独为它在 sql server 中创建 login 的授权.

    2010年7月20日 4:32
  • 对于 >= sql 2008的版本(或者你人为拿掉了 sql server 中 ...\administratos 的 Login), 那么你需要在 sql server 中对 Windows 用户单独创建 sql server login 并授权

    参考下面这个示例

     

    CREATE LOGIN [cn\zhanghaiyan] FROM WINDOWS;  -- 创建 Login

    EXEC sp_addservrolemember 'cn\zhanghaiyan', 'sysadmin' ;  -- 设置为管理员角色

    2010年7月20日 4:35
  • login属于instance级别的对象,存储在master数据库,

    分离后的数据库文件只包含user和数据信息,所以你无法使用原有的login进行登录.

     

    重新创建,并赋予权限就好了.

     

    也可以将原有的master数据库还原,或者将login信息导出


    有dba的职位吗(北京的),请联系我 stswordman#hotmail.com
    2010年7月21日 2:02
    版主