本主题介绍了如何使用 SQL Server Management Studio 或 Transact-SQL 创建一个数据库用户,并将其映射到 SQL Server 2014 中的登录名。 数据库用户是在连接到数据库时使用的登录名。 数据库用户可以使用与登录名相同的名称,但这不是必需的。 本主题假定 SQL Server 中已存在登录名。 有关如何创建登录名的信息,请参阅 “创建登录名”。
本主题内容
准备工作:
若要创建数据库用户,请使用:
在您开始之前
背景
用户是数据库级安全主体。 登录名必须映射到数据库用户才能连接到数据库。 登录名可以映射至不同的数据库作为不同用户,但在每个数据库中只能映射为一个用户。 在部分包含的数据库中,可以创建没有登录名的用户。 有关包含的数据库用户的详细信息,请参阅 CREATE USER(Transact-SQL)。 如果启用了数据库中的来宾用户,则未映射到数据库用户的登录名可以输入数据库作为来宾用户。
重要
来宾用户通常处于禁用状态。 除非有必要,否则不要启用来宾用户。
作为安全主体,可以向用户授予权限。 用户的范围是数据库。 若要连接 SQL Server 实例上的特定数据库,登录名必须映射到数据库用户。 数据库内的权限是向数据库用户而不是登录名授予和拒绝授予的。
安全
权限
需要对数据库拥有 ALTER ANY USER
权限。
使用 SQL Server Management Studio
创建数据库用户
在对象资源管理器中,展开 “数据库” 文件夹。
展开数据库,以便为创建新的数据库用户做准备。
右键单击 “安全 ”文件夹,指向“ 新建”,然后选择“ 用户...”。
在“数据库用户 - 新建”对话框中,从“用户类型”列表中选择以下用户类型之一:具有登录名的 SQL 用户、没有登录名的 SQL 用户、映射到证书的用户、映射到非对称密钥的用户或 Windows 用户。
在 “用户名 ”框中,输入新用户的名称。 如果已从“用户类型”列表中选择 Windows 用户,也可以单击省略号(...)打开“选择用户或组”对话框。
在 “登录名 ”框中,输入用户的登录名。 或者,单击省略号 (...) 以打开 “选择登录 ”对话框。 如果你从“用户类型”列表中选择具有登录名的 SQL 用户或 Windows 用户,则登录名可用。
在 “默认架构 ”框中,指定将拥有此用户创建对象的架构。 或者,单击省略号 (...) 以打开 “选择架构 ”对话框。 如果选择具有登录名的 SQL 用户、没有登录名的 SQL 用户,或者从“用户类型”列表中选择 Windows 用户,则可以使用默认架构。
在 “证书名称 ”框中,输入要用于数据库用户的证书。 或者,单击省略号 (...) 以打开 “选择证书 ”对话框。 如果选择从“用户类型”列表中选择“映射到证书的用户”,则证书名称可用。
在 非对称密钥名称 框中,输入要用于数据库用户的密钥。 或者,单击省略号 (...) 以打开 “选择非对称密钥 ”对话框。 选择用户类型列表中的映射到非对称密钥的用户后,非对称密钥名称将可用。
单击 “确定” 。
其他选项
“ 数据库用户 - 新建 ”对话框还提供其他四个页面上的选项: 拥有的架构、 成员资格、 安全对象和 扩展属性。
“ 拥有的架构 ”页列出了可由新数据库用户拥有的所有可能架构。 若要向数据库用户添加或从数据库用户中删除架构,请在 此用户拥有的“架构”下,选中或清除架构旁边的复选框。
“ 成员身份 ”页列出了可由新数据库用户拥有的所有可能的数据库成员身份角色。 若要向数据库用户添加角色或删除角色,请在 “数据库角色成员身份”下选中或清除角色旁边的复选框。
“安全对象” 页将列出所有可能的安全对象以及可授予登录名的针对这些安全对象的权限。
“扩展属性”页允许您向数据库用户添加自定义属性。 此页上提供了以下选项。
数据库
显示所选数据库的名称。 此字段是只读的。排序规则
显示用于所选数据库的排序规则。 此字段是只读的。性能
查看或指定对象的扩展属性。 每个扩展属性由与对象关联的元数据的名称/值对组成。省略号 (...)
单击“值”后省略号(...)打开“扩展属性的值”对话框。 在此更大的位置键入或查看扩展属性的值。 有关详细信息,请参阅 “扩展属性”对话框的值。删除
删除所选扩展属性。
使用 Transact-SQL
创建数据库用户
在 “对象资源管理器” 中,连接到某个数据库引擎实例。
在标准栏上,单击“新建查询”。
将以下示例复制并粘贴到查询窗口中,然后单击 执行。
-- Creates the login AbolrousHazem with password '340$Uuxwp7Mcxo7Khy'. CREATE LOGIN AbolrousHazem WITH PASSWORD = '340$Uuxwp7Mcxo7Khy'; GO -- Creates a database user for the login created above. CREATE USER AbolrousHazem FOR LOGIN AbolrousHazem; GO
有关详细信息,请参阅 CREATE USER (Transact-SQL)。