将新用户添加到当前数据库
sp_adduser <loginame> [, <name_in_db> [, <grpname>]]
<loginame>
是 master.dbo.syslogins 中的用户名。
<name_in_db>
是当前数据库中用户的新名称。
<grpname>
将用户添加到数据库的现有组中。
将“margaret”添加到数据库。她的数据库用户名与其 SAP ASE 登录名相同,她属于缺省组“public”:
sp_adduser margaret
将“haroldq”添加到数据库。当“haroldq”使用当前数据库时,他的名称为“harold”。他属于 fort_mudge 组,也属于缺省组“public”:
sp_adduser haroldq, harold, fort_mudge
使用 sp_adduser 时,还存在一些其它注意事项:
数据库所有者执行 sp_adduser 将用户名添加到当前数据库的 sysusers 表中,从而使该用户可以用自己的名称访问当前数据库。
指定 <name_in_db> 参数可以在数据库中为新用户指定一个名称,该名称不同于其在 SAP ASE 中的登录名。为用户分配不同名称的功能是为方便操作而提供的。它不是别名(如 sp_addalias 所提供的),因为不会将它映射到另一个用户的标识和特权。
用户和组不能具有相同的名称。
除了缺省组“public”之外,用户只能是一个组的成员。每个用户都是缺省组“public”的成员。使用 sp_changegroup 来更改用户的组。
为了访问数据库,用户必须列在 sysusers 中(通过 sp_adduser)或被映射到 sysalternates 中的另一个用户(通过 sp_addalias),或者 sysusers 中必须有一个“guest”条目。