您好,我是小DAI,专注于数据库管理员相关的技术问答,请问有什么可以帮您?

sp_adduser

说明

将新用户添加到当前数据库

语法


sp_adduser <loginame> [, <name_in_db> [, <grpname>]]

参数

<loginame>

是 master.dbo.syslogins 中的用户名。

<name_in_db>

是当前数据库中用户的新名称。

<grpname>

将用户添加到数据库的现有组中。

示例

示例 1

将“margaret”添加到数据库。她的数据库用户名与其 SAP ASE 登录名相同,她属于缺省组“public”:


sp_adduser margaret

示例 2

将“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”条目。