sp_grantlogin的用法请教,为何exec sp_grantlogin 'zhanggh\administrators' 错误呢?提示没有找到 Windows NT 用户或组 'zhanggh\administrators'。请再次检查该名称。
-------------------------
我的机器上,administrators是管理员组,这个名字我没有改过,一定是对的.但是为何执行
exec sp_grantlogin 'zhanggh\administrators'
就是报错呢?提示:没有找到 Windows NT 用户或组 'zhanggh\administrators'。请再次检查该名称。
可是执行 exec sp_grantlogin 'zhanggh\administrator'就可以成功,
可是按帮助说,sp_grantlogin 这个存贮过程,不仅可以为一个单独的用户授权,也可以为一个"组"授权呀,为何前者无效而后面的就行呢?前面就是为 administrators 这个组授权,不能通过,而后者仅是为一个用户授权,就可以通过,这是为什么呀?

解决方案 »

  1.   

    另外,再问:
    如果是这样,sp_grantlogin '计算机名\组名'
    即为一个组授权可以访问sqlserver,那么这个组中的所有用户都可以登录sqlserver,可以如果这个组中有多个用户的话,是不是这几个不同的用户,都是以一个相同的名称登录呢?
    如果一个组中的所有用户都会以相同的名称登录sqlserver,比如两台机器上,都以同一个组中用户的身份登录sqlserver,是不是这两个用户,sqlserver只会认为是一个用户呀?
      

  2.   

    exec   sp_grantlogin   'zhanggh\administrators'   
    以上用法应该是合法的呀.作用是将sql实例的登录名映射到windows中的管理员组上.管理员组的名称就是 administrators
      

  3.   

    对组授权时前不是机器名,而是:builtin
    命令如下:exec sp_grantlogin [builtin\administrators]
      

  4.   

    对组授权时前不是机器名,而是:builtin 
    命令如下: 
    exec sp_grantlogin [builtin\administrators]
    ---------------------------------
    谢谢指教,语法是
    sp_grantlogin [域名\组名或用户名]
    这里的域名是什么意思,为何机器名不行呢?我的机器没有域的环境.必须用 builtin 吗?代表什么意思?
      

  5.   

    sp_grantlogin   [域名\组名或用户名] 
    --------------
    我映射windows用户到sql实例时,域名的位置写机器名,是不报错的呀.
      

  6.   

    自已再顶一下。
    域名的位置可不可以写机器名呀。
    为何有时行有时不行,有时必须写 builtin,它与机器名有何区别呢?