sp_grantdbaccess (Transact-SQL)
将数据库用户添加到当前数据库。
重要提示: |
---|
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。请改用 CREATE USER。 |
语法
sp_grantdbaccess [ @loginame = ] 'login'
[ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ] ]
参数
- [ @loginame = ] **'**login '
映射到新数据库用户的 Windows 组、Windows 登录名或 SQL Server 登录名的名称。Windows 组和 Windows 登录名的名称必须按“域\登录名”的形式(例如, LONDON\Joeb)以 Windows 域名进行限定。登录名不能已映射到数据库中的用户。login 的数据类型为 sysname,无默认值。
- [ @name_in_db=] 'name_in_db' [ OUTPUT]
新数据库用户的名称。name_in_db 是 OUTPUT 变量,其数据类型为 sysname,默认值为 NULL。如果不指定,则使用 login。如果指定为值为 NULL 的 OUTPUT 变量,则 @name_in_db 将设置为 login。name_in_db 不得已存在于当前数据库中。
返回代码值
0(成功)或 1(失败)
备注
sp_grantdbaccess 调用 CREATE USER,后者支持其他选项。有关创建数据库用户的信息,请参阅 CREATE USER (Transact-SQL)。若要从数据库删除数据库用户,请使用 DROP USER。
不能在用户定义的事务中执行 sp_grantdbaccess。
权限
需要具有 db_owner 固定数据库角色或 db_accessadmin 固定数据库角色的成员身份。
示例
以下示例使用 CREATE USER
将 Windows 登录名 Edmonds\LolanSo
的数据库用户添加到当前数据库。新用户名为 Lolan
。这是创建数据库用户的首选方法。
CREATE USER Lolan FOR LOGIN [Edmonds\LolanSo];
GO
请参阅
参考
安全存储过程 (Transact-SQL)
CREATE USER (Transact-SQL)
DROP USER (Transact-SQL)
系统存储过程 (Transact-SQL)