是否可以使用主数据库用户创建服务器登录名,该用户能够使用主数据库用户创建服务器登录名?
我无法做到这一点,我总是需要使用在创建服务器和第一个数据库时最初创建的管理员用户。
以下是一个例子:
使用主数据库连接并以管理员用户身份登录
CREATE LOGIN Admin_Test WITH PASSWORD = ''
CREATE USER Admin_Test FROM LOGIN Admin_Test
EXEC sp_addrolemember 'loginmanager', 'Admin_Test';
使用 Master DB 连接并以 Admin_test 用户身份登录
CREATE LOGIN User1 WITH PASSWORD = ''
CREATE USER User1 FROM LOGIN User1
失败原因:用户没有权限执行此操作。
似乎唯一允许在主数据库中创建用户的用户是使用在创建服务器和第一个数据库时创建的管理员用户?
答案1
“loginmanger”角色不授予创建/更改用户的权限。您需要授予“Admin_Test”“更改任何用户”的权限
GRANT ALTER ANY USER TO Admin_Test
不过,您应该检查是否需要逻辑主控中的用户创建新用户。虽然您可能有一个适用于此的模型,但您正在暴露额外的升级面,因此请做出明智的选择。
请参阅以下两个链接以获取更多信息: