14.3.2 管理数据库用户 1 利用SQL Server Enterprise Manager管理数据库用户 创建新数据库用户利用SQL Server Enterprise Manager 创建一个新数据库用户要执行以下步骤: (1) 启动SQL Server Enterprise Manager, 单击登录服务器旁边的‘+’ 标志。 (2) 打开Database 文件夹,打开要创建用户的数据库。 (3) 右击User 图标,在弹出菜单中选择 New Database User, 弹出New Database User – New User 对话框。如图14-3 所示。 (4) 在Login 选择框内选择已经创建的登录账号、在User 选择框内输入数据库用户名称。 (5)在Database role membership 下的选项框中为该用户选择数据库角色(关于数据库角色将在角色一节中作详细介绍)。 (6)单击确定按钮。 当然,在创建一个SQL Server 登录账号时,就可以先为该登录账号定出其在不同数据库中所使用的用户名称,这实际上也完成了创建新的数据库用户这一任务。其操作步骤见“14.2.1 使用SQL Server Enterprise Manager 管理SQL Server 登录”。 在打开的SQL Server Properties – New Login 对话框中选择Database Access 标签页。见图14-4 所示。
角色管理简介 自SQL Server 7 版本开始引入了新的概念角色,从而替代以前版本中组的概念。和组一样,SQL Server 管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可实现对所有用户权限的设置,大大减少了管理员的工作量。在SQL Server 中主要有两种角色类型:服务器角色与数据库角色。
1 服务器角色 服务器角色是指根据SQL Server 的管理任务,以及这些任务相对的重要性等级来把具有SQL Server 管理职能的用户划分成不同的用户组,每一组所具有管理SQL Server的权限已被预定义。服务器角色适用在服务器范围内,并且其权限不能被修改。例如,具有sysadmin 角色的用户在SQL Server 中可以执行任何管理性的工作,任何企图对其权限进行修改的操作都将会失败。这一点与数据库角色不同
SQL Server 共有7 种预定义的服务器角色,各种角色的具体含义如表14-3 所示:
2 数据库角色 在SQL Server 中我们常会发现我们要将一套数据库专有权限授予给多个用户,但这些用户并不属于同一个NT 用户组,或者虽然这些用户可以被NT 管理者划为同一NT 用户组,但遗憾的是,我们却没有管理NT 账号的权限,这时我们就可以在数据库中添加新数据库角色或使用已经存在的数据库角色,并让这些有着相同数据库权限的用户归属于同一角色。 由此可见,数据库角色能为某一用户或一组用户授予不同级别的管理或访问数据库或数据库对象的权限,这些权限是数据库专有的。而且,还可以使一个用户具有属于同一数据库的多个角色。 SQL Server 提供了两种数据库角色类型:预定义的数据库角色、用户自定义的数据库角色。 预定义数据库角色 预定义数据库角色是指这些角色所有具有的管理、访问数据库权限已被SQL Server 定义、并且SQL Server 管理者不能对其所具有的权限进行任何修改。SQL Server 中的每一个数据库中都有一组预定义的数据库角色,在数据库中使用预定义的数据库角色可以将不同级别的数据库管理工作分给不同的角色,从而很容易实现工作权限的传递。例如,如果准备让某一用户临时或长期具有创建和删除数据库对象(表、视图、存储过程)的权限,那么只要把他设置为db_ddladmin 数据库角色即可。