sp_grantdbaccess (Transact-SQL)
适用于:SQL Server
将数据库用户添加到当前数据库。
重要
在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。 请改用 CREATE USER 。
语法
sp_grantdbaccess [ @loginame = ] 'login'
[ , [ @name_in_db = ] 'name_in_db' [ OUTPUT ] ]
参数
[ @loginame = ] 'login_ '
要映射到新数据库用户的 Windows 组、Windows 登录名或 SQL Server 登录名的名称。 Windows 组和 Windows 登录名的名称必须使用域登录形式的\ Windows 域名进行限定;例如,LONDON\Joeb。 登录名不能已映射到数据库中的用户。 login 是一个 sysname,没有默认值。
[ @name_in_db = ] 'name_in_db' [ OUTPUT]
新数据库用户的名称。 name_in_db是一个 OUTPUT 变量,其数据类型为 sysname,默认值为 NULL。 如果未指定, 则使用登录 名。 如果指定为值为 NULL 的 OUTPUT 变量, 则@name_in_db 设置为 登录名。 当前数据库中不存在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)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈