SQL Server 2005的身份验证是系统最外层的安全保护策略,通过了安全身份验证只是表示与数据库建立了连接,并不代表用户可以访问数据库。用户只有在通过身份验证和获得数据库访问权限后才能对数据库对象进行各种操作。数据库的访问权限的设置是通过用户账号来实现的。
1.服务器的登录账号
在企业管理器中,展开“安全性”文件夹,单击“登录”选项,在右边的窗口中显示的是所有可登录服务器的登录账号,如图2-142所示。

图2-142 企业管理器登录窗口
在图2-142中,共有4个登录账号,包括内置的3个默认账号和1个当前系统的管理员账号。它们各自属于不同的用户类型,其中类型为“Windows用户”的是基于Windows身份验证模式的登录账号;类型为“标准”的是基于SQL Server身份验证模式的登录账号。当然,用户也可以新建各种不同类型的登录账号。
在企业管理器中新建两种身份验证模式登录账号的步骤如下。
(1)新建基于Windows身份验证模式的登录账号
1)打开企业管理器,单击要登录的服务器左边的“+”号,展开“安全性”文件夹。
2)用鼠标右键单击“登录”图标,从弹出的快捷菜单中选择“新建登录”选项,如图2-143所示。

图2-143 选择“新建登录”
3)出现“SQL Server登录属性—新建登录”对话框,如图2-144所示。在身份验证选项栏中选择新建的用户账号是Windows NT身份验证模式。

图2-144 “SQL Server登录属性—新建登录”对话框
4)单击“名称”右边的
图标,选择Windows系统用户组成员,如图2-145和图2-146所示,添加Power Users组的xxgl用户。设置好的界面如图2-147所示。

图2-145 选择Windows用户所在组

图2-146 选择Windows组成员用户

图2-147 新建基于Windows身份验证的登录账号
5)单击“确定”按钮,成功新建了基于“Windows用户”类型的登录账号,如图2-148所示。

图2-148 成功创建“Windows用户”类型的登录账号
创建完新的服务器登录账号后,用户可以验证新建的登录账号连接数据库的能力。注销系统,使用xxgl用户登录操作系统,启动SQL Server服务,连接数据库服务器。
(2)新建基于SQL Server身份验证模式的登录账号
1)在“SQL Server登录属性—新建登录”对话框中,选择“SQL Server身份验证”方式,如图2-149所示,在“名称”文本框输入新建登录账号,在“密码”文本框中设置初始密码。

图2-149 新建基于SQL Server身份验证的登录账号
2)单击“确定”按钮,出现“确认密码”对话框,在“确认新密码”文本框中重复输入上一步设置的密码,如图2-150所示。
3)单击“确定”按钮,成功创建新的基于SQL Server身份验证模式的登录账号,如图2-151所示。

图2-150 “确认密码”对话框

图2-151 成功创建“标准”类型的登录账号
同样,也可以验证新建的登录账号连接数据库的能力,验证步骤如下:
1)打开企业管理器,展开目录树,右键单击相应的SQL Server服务器,在弹出的快捷菜单中选择“编辑SQL Server注册属性”,如图2-152所示。
2)在弹出的对话框中,选择“使用SQL Server身份验证”,在“登录名”和“密码”文本框中分别输入刚刚新建的登录账号和密码,如图2-153所示。单击“确定”按钮完成,检验能否连接上数据库。

图2-152 在企业管理器中编辑SQL Server注册属性
2.数据库用户
当用户获得了登录账号后,只表明该账号通过了Windows身份认证或SQL Server身份认证,能够连接到SQL Server服务器,并不代表该用户能访问数据库中的数据及对象。连接数据库与访问数据库是两件不同的事情。用户只有进一步拥有用户账号后,才能访问数据库中的数据及其对象。(https://www.xing528.com)

图2-153 “已注册的SQL Server属性”对话框
在每个数据库中,用户账号用来唯一标识一个用户,通常被称做用户ID。用户访问数据库中的数据及其对象都是通过用户账号来控制的,数据库中数据及对象的访问权限都被映射到用户ID上。每个登录账号可以在一个或多个数据库中建立用户账号,不同的数据库也可以有相同的用户账号。例如,在安装SQL Server 2005时,系统自动为登录账号sa(system administrator)在每一个系统数据库中建立了名为dbo的用户账号。
通常,数据库用户账号总是由某一登录账号建立,只有guest用户账号例外,该账号被加入到master、tempdb、pubs和northwind数据库中,让那些没有建立用户账号的登录账号将guest作为其默认的用户账号,使得该登录账号能够访问具有guest用户账号的数据库。
在企业管理器中,可以查看到数据库的所有用户账号,同样也可以添加或删除用户账号。例如,要用前面新建的ccit-imd登录账号来访问“学生管理数据库”,就需要利用ccit-imd登录账号建立一个用户账号,方法如下:
1)打开企业管理器,展开目录树,选择“数据库”中的“学生管理数据库”,单击“用户”图标,在右边的窗口内用鼠标右键单击空白处,在弹出的快捷菜单中选择“新建数据库用户”选项,如图2-154所示。

图2-154 新建数据库用户
2)在弹出的“新建用户属性—新建用户”对话框中,在“登录名”右边的下拉列表框中选择已经创建的登录账号,在“用户名”文本框内输入要创建的用户账号名称db_user(用户名和登录名可以不同),在数据库角色成员中为该用户账号选择数据库角色,如图2-155所示。

图2-155 “数据库用户属性—新建用户”对话框
3)单击“确定”按钮完成数据库用户的创建,如图2-156所示。

图2-156 新建数据库db_user用户账户
3.数据库角色
在改进SQL Server 6.0系列所实现的安全机制的过程中,SQL Server建立了一种既灵活又强大的安全管理机制,它能够对用户访问SQL Server服务器系统和数据库的安全进行全面管理,其中,角色就是SQL Server 7.0引进的新概念,代替了以前版本中组的概念。
角色是权限的载体,可以给角色指定权限,其含义类似操作系统中组的含义。管理员可以将某些用户设置为某角色的成员,属于同一角色的用户拥有相同的权限,同时某一用户还可以属于多个角色,那么该用户就可以拥有多个角色权限的叠加。
在SQL Server 2005中,有两种内建的角色,一种是固定服务器角色(Fixed Server Role),另外一种是固定数据库角色(Fixed Database Role),用户不能修改这些内建角色的权限。除了这两种内建角色,用户还可以根据需要自定义数据库角色。在SQL Server中,可以利用企业管理器来管理角色。
(1)管理固定服务器角色
管理固定服务器角色的步骤如下:
1)打开企业管理器,展开指定服务器,单击“安全性”文件夹,选择“服务器角色”,如图2-157所示。

图2-157 企业管理器中的服务器角色
2)右键单击名称为“sysadmin”的服务器角色,在弹出的快捷菜单中选择“属性”选项,将弹出如图2-158所示的服务器角色属性—sysadmin”对话框,在该对话框中可以看到属于该角色的成员。

图2-158 “服务器角色属性—sysadmin”对话框
3)单击“添加”按钮则弹出如图2-159所示的“添加成员”对话框,可以选择(可多选)添加新的登录账号作为该角色的成员,这里选择“IMD\xxgl”和“ccit-imd”两个登录账号添加到sysadmin服务器角色中。单击“删除”按钮可从该角色中删除选定的登录账号。
(2)管理固定数据库角色
管理固定服务器角色的步骤如下:
1)企业管理器中,选择指定数据库“学生管理数据库”。
2)展开“学生管理数据库”,单击“角色”图标,在右边的窗口中显示的是本数据库所有固定数据库角色,如图2-160所示。

图2-159 添加成员对话框

图2-160 数据库角色
1)右键单击“db_owner”,在弹出的快捷菜单中选择“属性”选项,弹出如图2-161所示的“数据库角色属性—db_owner”对话框,可以看到系统自动为sa登录账号建立的用户dbo属于这个角色。
2)单击“添加”按钮,选择新的用户账号,将其添加到该数据库角色中,如图2-162所示。选择“db_user”,单击“确定”按钮完成数据库角色成员的添加。

图2-161 “数据库角色属性”对话框

图2-162 “添加角色成员”对话框
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
