1
数据库技术及应用
1.11.4.2 8.4.2 SQL Server权限设置
8.4.2 SQL Server权限设置

SQL Server权限主要用于控制登录用户对服务器的访问和数据库用户对数据库及其对象的访问与操作。权限的设置可以通过SQL Server Management Studio来实现,也可以通过T-SQL语句来实现。这里重点学习通过SQL Server Management Studio进行权限管理的方法。

1.登录用户权限管理

下面先以一个例子介绍如何利用SQL Server Management Studio实现对登录用户的权限管理。

【例8-6】使用SQL Server Management Studio将固定服务器角色serveradmin的权限分配给已经创建的登录用户user。

操作步骤如下:

(1)打开SQL Server Management Studio,在对象资源管理器中展开“安全性”文件夹。

(2)展开“登录名”→user节点,右击user节点,在弹出的快捷菜单中执行“属性”命令。

(3)弹出“登录属性user”窗口,选择左侧“选择页”窗格中的“服务器角色”选项卡,在右侧“服务器角色”列表框中列出了系统所有的固定服务器角色。选择需要为登录用户user授权的服务器角色,本例需要将serveradmin分配给登录用户user,因此选中serveradmin复选框,即选中此服务器角色,如图8-20所示。

(4)单击“确定”按钮,即可为登录用户user分配固定服务器角色serveradmin的权限。

图8-20 “登录属性-user”窗口

2.数据库用户权限管理

下面再以一个例子介绍如何利用SQL Server Management Studio实现对数据库用户权限的管理。

【例8-7】使用SQL Server Management Studio为Student数据库的用户dbuser授予备份数据库和创建表的权限。

操作步骤如下:

(1)打开SQL Server Management Studio,在对象资源管理器中展开“数据库”文件夹。

(2)展开Student→“安全性”→“用户”→dbuser节点,右击dbuser节点,在弹出的快捷菜单中执行“属性”命令。

(3)打开“数据库用户-dbuser”窗口,选择左侧“选择页”窗格中的“安全对象”选项,单击“搜索”按钮,如图8-21所示。

图8-21 “数据库用户-dbuser”窗口

(4)弹出“添加对象”对话框,选中“特定类型的所有对象”单选按钮,单击“确定”按钮,如图8-22所示。

(5)弹出“选择对象类型”对话框,选中“数据库”和“表”复选框,单击“确定”按钮,如图8-23所示。

(6)返回到“安全对象”选项卡,在“Student的权限”列表框中列出了所有的权限,选中授权列中与“备份数据库”和“创建表”对应的复选框,如图8-24所示。

图8-22 “添加对象”对话框

图8-23 “选择对象类型”对话框

图8-24 选中相应的复选框

(7)单击“确定”按钮,即可为Student数据库的用户dbuser授予备份数据库和创建表的权限。

实战演练——BBS数据库的安全管理

完成对已经创建的名称为BBS的数据库安全方案的规划,主要包括以下内容:

(1)设置SQL Server2008服务器登录身份验证模式为SQL Server和Windows身份验证模式。

(2)利用SQL Server Management Studio图形式操作界面创建两个登录账户:账户1名称为user1,密码为123456;账户2名称为user2,密码为654321。

(3)利用SQL Server Management Studio图形式操作界面为BBS数据库创建一个用户账号dbuser1。

(4)利用SQL Server Management Studio图形式操作界面为数据库用户dbuser1授予创建表和创建视图的权限。

(5)利用SQL Server Management Studio为BBS数据库创建一个数据库角色User_Role。

(6)删除登录账户user2。

(7)删除数据库用户dbuser1。

图8-25 执行“属性”命令

详细操作步骤如下:

1)设置服务器登录身份验证模式

具体操作步骤如下:

步骤1:打开SQL Server Management Studio。

步骤2:右键单击服务器,在弹出的快捷菜单上执行“属性”命令,如图8-25所示。

步骤3:打开“服务器属性”窗口,在左侧窗格中选择“安全性”选项,打开如图8-26所示的界面。根据实际需求,在“服务器身份验证”栏中选择需要的认证模式。

图8-26 选择服务器身份验证模式

步骤4:设置完成后,单击“确定”按钮,即完成身份验证模式的设置操作。

2)创建两个登录账户

具体操作步骤如下:

步骤1:打开SQL Server Management Studio,在对象资源管理器中展开“安全性”节点。

步骤2:右键单击“登录名”节点,在弹出的快捷菜单中执行“新建登录名”命令,如图8-27所示。

步骤3:打开“登录名新建”窗口,选择“常规”选项卡,如图8-28所示。

步骤4:在“登录名”文本框中输入“user1”,选中“SQL Server身份验证”单选按钮,在“密码”和“确认密码”文本框中均输入“123456”,如图8-29所示。

图8-27 执行“新建登录名”命令

图8-28 选择“常规”选项卡

图8-29 创建登录账户

步骤5:单击“确定”按钮,完成登录账户的创建操作。

重复以上5个步骤,创建登录账户2,名称为“user2”。

3)为BBS数据库创建一个用户账号dbuser1

具体操作步骤如下:

步骤1:打开SQL Server Management Studio,在对象资源管理器中展开“数据库”文件夹。

步骤2:展开BBS数据库文件夹中的“安全性”节点,右键单击其中的“用户”节点,在弹出的快捷菜单中执行“新建用户”命令,如图8-30所示。

步骤3:打开“数据库用户 新建”窗口,默认打开“常规”选项卡界面,如图8-31所示。

步骤4:单击“登录名”文本框右侧的按钮,打开“选择登录名”对话框,单击“浏览”按钮,如图832所示。

步骤5:打开“查找对象”对话框,在“匹配的对象”列表框中选中user1复选框,如图8-33所示。

步骤6:单击“确定”按钮,返回“选择登录名”对话框。再单击“确定”按钮,返回“数据库用户新建”窗口,在“用户名”文本框中输入“dbuser1”,“默认框架”文本框可以为空或者选择一个架构(通常选择dbo),如图8-34所示。

图8-30 执行“新建用户”命令

图8-31 “常规”选项卡界面

图8-32 “选择登录名”对话框

图8-33 “查找对象”对话框

步骤7:单击“确定”按钮,完成用户名为dbuser1的BBS数据库的整个创建过程。

4)为数据库用户dbuser1授予创建表和创建视图的权限

具体操作步骤如下:

步骤1:打开SQL Server Management Studio,在对象资源管理器中展开“数据库”文件夹。

步骤2:展开BBS→“安全性”→“用户”→dbuser1节点,右击dbuser1节点,在弹出的快捷菜单中执行“属性”命令。

步骤3:打开“数据库用户dbuser1”窗口,选择左侧“选择页”窗格中的“安全对象”选项卡,单击“搜索”按钮,如图8-35所示。

步骤4:弹出“添加对象”对话框,选中“特定类型的所有对象”单选按钮,单击“确定”按钮,如图8-36所示。

图8-34 新建数据库用户完成

图8-35 “数据库用户-dbuser1”窗口

图8-36 “添加对象”对话框

步骤5:弹出“选择对象类型”对话框,选中“数据库”、“表”和“视图”复选框,单击“确定”按钮,如图8-37所示。

图8-37 “选择对象类型”对话框

步骤6:返回到“安全对象”选项卡界面,在“BBS的权限”列表框中列出了所有的权限,选中“授予”列中与“创建表”和“创建视图”复选框,如图8-38所示。

步骤7:单击“确定”按钮,即可为BBS数据库的用户dbuser1授予创建表和创建视图的权限。

5)为BBS数据库创建一个数据库角色User_Role

具体操作步骤如下:

步骤1:打开SQL Server Management Studio,在对象资源管理器中展开“数据库”文件夹。

步骤2:展开BBS数据库文件夹中的“安全性”→“角色”→“数据库角色”节点,右键单击“数据库角色”节点,在弹出的快捷菜单中执行“新建数据库角色”命令,如图8-39所示。

步骤3:打开“数据库角色 新建”窗口,在“常规”选项卡界面中设置“角色名称”为User_Role,如图8-40所示。

图8-38 选中“创建表”和“创建视图”复选框

图8-39 执行“新建数据库角色”命令

图8-40 设置“角色名称”

步骤4:单击“所有者”右侧的按钮,打开“选择数据库用户或角色”对话框,单击“浏览”按钮,如图841所示。

图8-41 “选择数据库用户或角色”对话框

步骤5:弹出“查找对象”对话框,在“匹配的对象”列表框中选中dbuser1复选框,如图8-42所示。

图8-42 “查找对象”对话框

步骤6:两次单击“确定”按钮,返回到“数据库角色新建”窗口。最后单击“确定”按钮,完成数据库角色User_Role的创建。

6)删除登录账户user2

具体操作步骤如下:

步骤1:打开SQL Server Management Studio,在对象资源管理器中展开“安全性”节点。

步骤2:单击“登录名”节点,然后右键单击登录用户user2,在弹出的快捷菜单中执行“删除”命令,如图8-43所示。

图8-43 执行“删除”命令

步骤3:打开“删除对象”窗口,单击“确定”按钮,完成删除登录用户user2,如图8-44所示。

图8-44 删除登录用户user2

7)删除数据库用户dbuser1

具体操作步骤如下:

步骤1:打开SQL Server Management Studio,在对象资源管理器中展开“安全性”节点。

步骤2:展开名为BBS数据库文件夹中的“安全性”节点,右键单击数据库用户dbuser1,在弹出的快捷菜单中执行“删除”命令,如图8-45所示。

步骤3:弹出“删除对象”窗口,单击“确定”按钮,完成删除BBS数据库用户dbuser1的操作过程,如图8-46所示。

图8-45 执行“删除”命令

图8-46 删除BBS数据库用户dbuser1