2013-05-12 76 views
0

我怎么能创建一个user其在SQL Server中permission to create用户?db-owner是否有权创建用户?

我创建了db-owner角色的用户,但是当我尝试创建新用户,它说,我没有足够的权限

+0

[SQL Server 2005中'CREATE USER'所需的权限可能重复](http://stackoverflow.com/questions/372834/permissions-required-for-create-user-in-sql-server-2005 ) – Yuck 2013-05-12 14:57:29

+0

** [请参阅此链接](http://blog.sqlauthority.com/2008/12/27/sql-server-add-any-user-to-sysadmin-role-add-users-to-system-角色/)** – Luv 2013-05-12 15:04:22

回答

1

有两种类型的SQL Server中校长:

  • 一个服务器范围的登录。需要登录才能连接到数据库服务器。它存储用户凭证。服务器权限权限和服务器角色成员资格分配给登录名。
  • A 特定于数据库的用户。一个用户总是链接到一个登录。用户需要使用use [dbname]切换到数据库。将存储过程权限,视图和数据库角色的成员资格分配给用户。

Creating a user需要alter any user权限,或者db_accessadmindb_owner数据库角色的成员。根据定义,数据库所有者是db_owner角色的成员。

Creating a login需要alter any login权限。默认情况下,这被授予登录sysadminsecurityadmin服务器角色。

+0

创建用户不需要数据库所有权。假设登录已经存在,数据库用户只需要具有'db_accessadmin'或'ALTER ANY USER'以便将用户添加到数据库中。当然,可能需要进一步的权限才能将它们添加到某些角色。 – 2013-05-12 15:54:06

+0

@AaronBertrand:谢谢,“需要所有权”部分是来自[链接的MSDN页面](http://msdn.microsoft.com/en-US/library/ms181422%28v=sql.90%29。 aspx)我会更新答案。 – Andomar 2013-05-12 17:28:51

+0

公平,但你应该链接到['CREATE USER'](http://msdn.microsoft.com/en-US/library/ms173463(v = sql.90).aspx)和['CREATE LOGIN']( http://msdn.microsoft.com/zh-CN/library/ms189751(v=sql.90).aspx)文档,而不是'sp_adduser' /'sp_addlogin' - 这已被弃用。 – 2013-05-12 17:30:11

相关问题