• 相关软件
    >sp_adduser 创建者:webmaster 更新时间:2006-02-16 15:51

    为当前数据库中的新用户添加安全帐户。包括此过程是为了向后兼容。请使用 sp_grantdbaccess



    语法


    sp_adduser [ @loginame = ] 'login'

        [ , [ @name_in_db = ] 'user' ]

        
    [ , [ @grpname = ] 'group' ]



    参数


    [@loginame =] 'login'



    用户的登录名称。login 的数据类型是 sysname,没有默认值。login 必须是现有 Microsoft® SQL Server™ 登录或 Microsoft Windows NT® 用户。



    [@name_in_db =] 'user'



    新用户的名称。user 的数据类型为 sysname,其默认值为 NULL。如果没有指定 user,则用户的名称默认为 login 名称。指定 user 即为新用户在数据库中给予一个不同于 SQL Server 上的登录 ID 的名称。



    [@grpname =] 'group'



    组或角色,新用户自动地成为其成员。group 的数据类型为 sysname,默认值为 NULL。group 必须是当前数据库中有效的组或角色。Microsoft SQL Server 7.0 使用角色而不是组。



    返回代码值


    0(成功)或 1(失败)



    注释


    SQL Server 用户名可以包含 1 到 128 个字符,包括字母、符号和数字。但是,用户名不能:


    • 含有反斜线符号 (\)。



    • 为 NULL,或为空字符串 ('')。



    在添加完用户之后,可以使用 GRANT、DENY 和 REVOKE 语句来定义权限,这些权限控制着用户进行的活动。



    使用 sp_helplogin 可显示有效登录名的列表。



    使用 sp_helprole 可显示有效角色名的列表。当指定一个角色时,用户会自动地获得为该角色定义的那些权限。如果没有指定角色,则用户获得的权限将是授予默认 public 角色的权限。若要将用户添加到角色,必须提供 username 的值(username 可与 login_id 相同)。



    为了访问数据库,必须使用 sp_addusersp_grantdbaccess 对登录授予访问权,或者数据库中必须存在 guest 安全帐户。



    不能在用户定义的事务内执行 sp_adduser



    权限


    只有 sysadmin 固定服务器角色的 dbo 和成员才能执行 sp_adduser



    示例


    A. 添加用户


    下面的示例使用现有的登录 Victoria,将用户 Victoria 添加到当前数据库中现有的 fort_mudge 角色中。



    EXEC sp_adduser 'Victoria', 'Victoria', 'fort_mudge'


    B. 添加用户名(使用相同的登录 ID)


    下面的示例为登录 Margaret 将默认用户名 Margaret 添加到当前数据库,该用户名属于默认的 public 角色。



    EXEC sp_adduser 'Margaret'


    C. 添加用户(使用不同的用户名)


    下面的示例将 Haroldq 登录添加到当前的数据库中并使用 Harold 用户名,该用户名属于 fort_mudge 角色。



    EXEC sp_adduser 'Haroldq', 'Harold', 'fort_mudge'
    相关文章
    本页查看次数: