版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第11章章 数据库的安全管理数据库的安全管理 本章内容本章内容11.1 SQL Server 的安全机制的安全机制11.2 登录账号管理登录账号管理11.3 数据库用户的管理数据库用户的管理11.4 角色管理角色管理11.5 权限管理权限管理11.1 SQL Server 的安全机制的安全机制第第1111章章 数据库的安全管理数据库的安全管理 11.1.1 身份验证身份验证11.1.2 身份验证模式的设置身份验证模式的设置11.1.1 身份验证身份验证11.1 SQL Server 11.1 SQL Server 的安全机制的安全机制nSQL Server的安全性管理是建立在的安全性管理是建
2、立在身份验证身份验证和和访访问许可问许可两者机制上的。两者机制上的。n身份验证是确定登录身份验证是确定登录SQL Server的用户的登录账的用户的登录账号和密码是否正确,以此来验证其是否具有连接号和密码是否正确,以此来验证其是否具有连接SQL Server的权限。的权限。n通过认证的用户必须获取访问数据库的权限,才通过认证的用户必须获取访问数据库的权限,才能对数据库进行权限许可下的操作。能对数据库进行权限许可下的操作。SQL Server身份验证模式身份验证模式 11.1.1 11.1.1 身份验证身份验证(1)Windows身份验证模式身份验证模式n该模式使用该模式使用Windows操作系
3、统的安全机制操作系统的安全机制验证用户身份,只要用户能够通过验证用户身份,只要用户能够通过Windows用户账号验证,即可连接到用户账号验证,即可连接到SQL Server而不再进行身份验证。而不再进行身份验证。n这种模式只适用于能够提供有效身份验证这种模式只适用于能够提供有效身份验证的的Windows操作系统。操作系统。 (2)混合身份验证模式混合身份验证模式11.1.1 11.1.1 身份验证身份验证n在该模式下,在该模式下,Windows身份验证和身份验证和SQL server验证两种模式都可用。对于可信任连验证两种模式都可用。对于可信任连接用户接用户(由由Windows验证验证),系统
4、直接采用,系统直接采用Windows的身份验证机制,否则的身份验证机制,否则SQL Server将通过账号的存在性和密码的匹配性将通过账号的存在性和密码的匹配性自行进行验证,即采用自行进行验证,即采用SQL Server身份验身份验证模式。证模式。 11.1.2 身份验证模式的设置身份验证模式的设置 11.1.1 11.1.1 身份验证身份验证n在该模式下,在该模式下,Windows身份验证和身份验证和SQL server验证两种模式都可用。对于可信任连验证两种模式都可用。对于可信任连接用户接用户(由由Windows验证验证),系统直接采用,系统直接采用Windows的身份验证机制,否则的身份
5、验证机制,否则SQL Server将通过账号的存在性和密码的匹配性将通过账号的存在性和密码的匹配性自行进行验证,即采用自行进行验证,即采用SQL Server身份验身份验证模式。证模式。 身份验证内容身份验证内容11.1.1 11.1.1 身份验证身份验证n包括确认用户的账号是否有效、能否访问包括确认用户的账号是否有效、能否访问系统、能访问系统的哪些数据库。系统、能访问系统的哪些数据库。11.1.2 身份验证模式的设置身份验证模式的设置 11.1 SQL Server 11.1 SQL Server 的安全机制的安全机制(1)打开企业管理器,在树打开企业管理器,在树型结构窗口中展开一个型结构窗
6、口中展开一个服务器组,选择要设置服务器组,选择要设置身份验证模式的服务器。身份验证模式的服务器。(2)在该服务器上单击鼠标在该服务器上单击鼠标右键,在弹出的菜单中右键,在弹出的菜单中选择选择“属性属性”项。项。(3)打开打开“属性属性”对话框,对话框,选择选择“安全性安全性”选项卡选项卡(4)在在“身份验证身份验证”处选择要设置的验证模式,处选择要设置的验证模式,同时可以在同时可以在“审核级别审核级别”处选择任意一个处选择任意一个单选按钮,来决定跟踪记录用户登录时的单选按钮,来决定跟踪记录用户登录时的哪种信息,例如登录成功或失败的信息。哪种信息,例如登录成功或失败的信息。(5)单击单击“确定确
7、定”按钮完成设置。按钮完成设置。 11.1.2 11.1.2 身份验证模式的设置身份验证模式的设置通过编辑通过编辑SQL Server注册属性来完成身份验注册属性来完成身份验证模式的设置证模式的设置11.1.2 11.1.2 身份验证模式的设置身份验证模式的设置(1)打开企业管理器,在打开企业管理器,在树型结构窗口中选择树型结构窗口中选择要设置身份验证模式要设置身份验证模式的服务器。的服务器。(2)在该服务器上单击鼠在该服务器上单击鼠标右键,在弹出菜单标右键,在弹出菜单中选择中选择“编辑编辑SQL Server注册属性注册属性”项项(3)打开打开“已注册已注册SQL Server属性属性”对话
8、框对话框(4)选择要设置的身份验证选择要设置的身份验证模式,单击模式,单击“确定确定”按按钮。钮。11.1.2 11.1.2 身份验证模式的设置身份验证模式的设置11.2 登录账号管理登录账号管理第第1111章章 数据库的安全管理数据库的安全管理 11.2.1 创建登录账户创建登录账户11.2.2 修改登录账户修改登录账户11.2.3 删除登录账户删除登录账户11.2 11.2 登录账号管理登录账号管理11.2.1 创建登录账户创建登录账户n创建登录账户的方法有两种:创建登录账户的方法有两种:一种是从一种是从Windows用户或组中创建登录账户用户或组中创建登录账户一种是创建新的一种是创建新的
9、SQL Server登录账户。登录账户。11.2.1 11.2.1 创建登录账户创建登录账户1. 通过通过Windows身份验证创建登录身份验证创建登录 (1)创建创建Windows用户用户以管理员身份登录到以管理员身份登录到Windows 2000,选择,选择“开始开始程序程序管理管理工具工具计算机管理计算机管理”选项。选项。 11.2.1 11.2.1 创建登录账户创建登录账户展开展开“本地用户和组本地用户和组”文文件夹,选择件夹,选择“用户用户”图标,图标,单击鼠标右键,在快捷菜单击鼠标右键,在快捷菜单中选择单中选择“新用户新用户”项,项,打开打开“新用户新用户”对话框,对话框,输入用户
10、名、密码,单击输入用户名、密码,单击“创建创建”按钮,然后单击按钮,然后单击“关闭关闭”按钮完成创建。按钮完成创建。11.2.1 11.2.1 创建登录账户创建登录账户(2)使用企业管理器将使用企业管理器将Windows 2000账号加入账号加入到到SQL Server中,创建中,创建SQL Server登录登录以管理员身份登录到以管理员身份登录到SQL Server,进入企,进入企业管理器,选择要访问的服务器。业管理器,选择要访问的服务器。展开展开“安全性安全性”文件夹,右键单击文件夹,右键单击“登录登录”项,在弹出菜单中选择项,在弹出菜单中选择“创建登录创建登录”项,项,打开打开“SQL
11、Server登录属性登录属性”对话框。对话框。11.2.1 11.2.1 创建登录账户创建登录账户在在“SQL Server登录登录属性属性”对话框的对话框的“常常规规”选项卡中,单击选项卡中,单击“名称名称”输入框旁的输入框旁的“浏览浏览”按钮,在弹按钮,在弹出对话框的出对话框的“名称名称”列表中选择名为列表中选择名为“xh001”的用户,单的用户,单击击“添加添加”按钮。按钮。11.2.1 11.2.1 创建登录账户创建登录账户单击单击“确定确定”按钮,按钮,返回返回“SQL Server登登录属性录属性”对话框,对话框,Windows用户用户xh001就就可以连接可以连接SQL Serv
12、er了。了。 11.2.1 11.2.1 创建登录账户创建登录账户对于已经创建的对于已经创建的Windows用户或组,可以使用户或组,可以使用系统存储过程用系统存储过程sp_grantlogin授予其登录授予其登录SQL Server的权限。的权限。n其语法格式如下:其语法格式如下:sp_grantlogin loginame= login 其中,其中,loginame= login 为要添加的为要添加的Windows用户或组的名称,名称格式为用户或组的名称,名称格式为“域名域名计算机名计算机名用户名用户名”。11.2.1 11.2.1 创建登录账户创建登录账户例例11-1 使用系统存储过程使
13、用系统存储过程sp_grantlogin将将Windows用户用户huang加入加入SQL Server中。中。EXEC sp_grantlogin jsjx-yphuang或或 EXEC sp_grantlogin jsjx-yphuang该操作授予了该操作授予了Windows用户用户jsjx-yphuang连连接到接到SQL Server的权限。的权限。11.2.1 11.2.1 创建登录账户创建登录账户EXEC sp_grantlogin BUILTINUsers该操作由于授予的是本地组中的用户,所该操作由于授予的是本地组中的用户,所以使用以使用BUILTIN关键字代替域名和计算机关键字
14、代替域名和计算机名。名。例例11-2 授予本地组授予本地组Users中的所有用户连接中的所有用户连接SQL Server的权限。的权限。11.2.1 11.2.1 创建登录账户创建登录账户n如果使用混合验证模式或不通过如果使用混合验证模式或不通过Windows用户或用户组连接用户或用户组连接SQL Server,则需要在,则需要在SQL Server下创建用户登录权限,使用户下创建用户登录权限,使用户得以连接使用得以连接使用SQL Server身份验证的身份验证的SQL Server实例。实例。2. 创建创建SQL Server登录登录11.2.1 11.2.1 创建登录账户创建登录账户打开企
15、业管理器,在树型结构窗口中展开要设置打开企业管理器,在树型结构窗口中展开要设置身份验证模式的服务器。展开身份验证模式的服务器。展开“安全性安全性”选项,选项,用鼠标右键单击其中的用鼠标右键单击其中的“登录登录”项,在弹出的快项,在弹出的快捷菜单中单击捷菜单中单击“新建登录新建登录”命令,打开命令,打开“新建登新建登录录”对话框,参见图对话框,参见图11-7。在在“新建登录新建登录”对话框的对话框的“常规常规”选项卡的选项卡的“名名称称”框中输入框中输入SQL Server登录的名称,例如登录的名称,例如ZG001。(1)使用企业管理器创建登录账户使用企业管理器创建登录账户 11.2.1 11.
16、2.1 创建登录账户创建登录账户选中选中“SQL Server身份验证身份验证”,在,在“密码密码”框中输入密码,例如框中输入密码,例如001。在在“数据库数据库”下拉框中选择登录到下拉框中选择登录到SQL Server实例后要连接的默认数据库,例如实例后要连接的默认数据库,例如master数据库。数据库。11.2.1 11.2.1 创建登录账户创建登录账户在在“语言语言”对话框中,选择显示给用户的对话框中,选择显示给用户的信息所用的默认语言。信息所用的默认语言。单击单击“确定确定”按钮,按钮,“确认密码确认密码”对话框对话框输入确认新密码,如输入确认新密码,如001,单击,单击“确定确定”按
17、按钮完成操作。钮完成操作。11.2.1 11.2.1 创建登录账户创建登录账户(2)使用系统存储过程使用系统存储过程sp_addlongin创建登录创建登录sp_addlogin语法格式如下:语法格式如下:sp_addlogin loginame= login, passwd= password , defdb= database, deflanguage= language , sid=sid, encryptopt= encryption_option 11.2.1 11.2.1 创建登录账户创建登录账户EXEC sp_addlogin ZG002,002,Sales例例11-3 使用系统
18、存储过程使用系统存储过程sp_addlongin创建登录,创建登录,新登录名为新登录名为“ZG002”,密码为,密码为“002”默认数据库为默认数据库为“Sales”。11.2.1 11.2.1 创建登录账户创建登录账户EXEC sp_addlogin ZG002,002,Sales例例11-3 使用系统存储过程使用系统存储过程sp_addlongin创建登录,创建登录,新登录名为新登录名为“ZG002”,密码为,密码为“002”默认数据库为默认数据库为“Sales”。11.2.1 11.2.1 创建登录账户创建登录账户EXEC sp_addlogin ZG003该操作为用户该操作为用户ZG0
19、03创建一个创建一个SQL Server登录名,没有指定密码和默认数据库,使登录名,没有指定密码和默认数据库,使用默认密码用默认密码NULL和默认数据库和默认数据库master。例例11-4 创建没有密码和默认数据库的登录,创建没有密码和默认数据库的登录,登录名为登录名为“ZG003”。 11.2.1 11.2.1 创建登录账户创建登录账户n创建了登录账户后,如果需要确定用户是创建了登录账户后,如果需要确定用户是否有连接否有连接SQL Server实例的权限,以及可实例的权限,以及可以访问哪些数据库的信息时,可以使用系以访问哪些数据库的信息时,可以使用系统存储过程统存储过程sp_helplog
20、ins查看。查看。nsp_helplogins的语法格式如下:的语法格式如下:sp_helplogins LoginNamePattern= login3. 查看用户查看用户11.2.1 11.2.1 创建登录账户创建登录账户例例11-5 查看账户信息。查看账户信息。EXEC sp_helplogins ZG002该操作查询有关登录该操作查询有关登录ZG002的信息的信息11.2 11.2 登录账号管理登录账号管理 sp_password的语法格式为:的语法格式为:sp_password old=old_password,new=new_password , loginame=loginsp_
21、defaultdb的语法格式为:的语法格式为:sp_defaultdb logname= login, defdb=databasessp_defaultlanguage的语法格式为:的语法格式为:sp_defaultlanguage loginame=login , language=language11.2.2 修改登录账户修改登录账户11.2 11.2 登录账号管理登录账号管理 11.2.3 删除登录账户删除登录账户 1使用企业管理器删除登录使用企业管理器删除登录其操作步骤如下:其操作步骤如下:(1)打开企业管理器,在树型结构窗口中展开一个服打开企业管理器,在树型结构窗口中展开一个服务器
22、组,选择服务器并展开。务器组,选择服务器并展开。(2)展开展开“安全性安全性”文件夹,单击文件夹,单击“登录登录”项。项。(3)在在“登录登录”详细列表中鼠标右键单击要删除的用详细列表中鼠标右键单击要删除的用户,这里选择户,这里选择“jsjx-ypxh001”,确定删除。,确定删除。11.2 11.2 登录账号管理登录账号管理 n删除登录账号有两种形式:删除删除登录账号有两种形式:删除Windows用户或用户或组登录和删除组登录和删除SQL Server登录。登录。(1)删除删除Windows用户或组登录用户或组登录sp_revokelogin的语法格式为:的语法格式为:sp_revokelo
23、gin liginame=login其中,其中,liginame=login为为Windows用户或组的用户或组的名称。名称。2. 使用使用Transact-SQL语句删除登录账号语句删除登录账号11.2 11.2 登录账号管理登录账号管理 EXEC sp_revokelogin jsjx-yphuang或或EXEC sp_revokelogin jsjx-yphuang例例11-7 使用系统存储过程使用系统存储过程sp_revokelogin删除删除例例11-1创建的创建的Windows用户用户jsjx-yp huang的的登录账号登录账号11.2 11.2 登录账号管理登录账号管理 n使用
24、使用sp_droplogin可以删除可以删除SQL Server登录。其登录。其语法格式如下:语法格式如下:sp_droplogin loginame= loginn例例11-8 使用系统存储过程使用系统存储过程sp_droplogin删除删除SQL Server登录账号登录账号ZG001。EXEC sp_droplogin ZG001(2)删除删除SQL Server登录登录11.3 数据库用户的管理数据库用户的管理 第第1111章章 数据库的安全管理数据库的安全管理 1. 使用企业管理器创建数据库用户使用企业管理器创建数据库用户n其操作步骤如下:其操作步骤如下:(1)打开企业管理器,选定要
25、访问的服务器。打开企业管理器,选定要访问的服务器。(2)展开展开“数据库数据库”文件夹,选定需要增加用户的数文件夹,选定需要增加用户的数据库。据库。(3)鼠标右键单击该数据库,从弹出的快捷菜单中选鼠标右键单击该数据库,从弹出的快捷菜单中选择择“新建新建数据库用户数据库用户”选项,打开选项,打开“数据库用数据库用户属性户属性”对话框。对话框。11.3 11.3 数据库用户的管理数据库用户的管理(4)打开打开“数据库用户属性数据库用户属性”对话框对话框 (4)在在“数据库用户属性数据库用户属性”对对话框的话框的“登录名登录名”下拉框下拉框中选择允许访问数据库的中选择允许访问数据库的登录账号,如登录
26、账号,如ZG001,并,并指定使用的用户名和该用指定使用的用户名和该用户所属的数据库角色等信户所属的数据库角色等信息,用户名与登录名可以息,用户名与登录名可以不同。不同。(5)单击单击“确定确定”完成该数据完成该数据库用户的创建。库用户的创建。2. 使用系统存储过程创建数据库用户使用系统存储过程创建数据库用户nSQL Server使用系统存储过程使用系统存储过程sp_grantdbaccess为数据库添加用户,其语为数据库添加用户,其语法格式如下法格式如下:sp_grantdbaccess loginame= login , name_in_db= name_in_db OUTPUT11.3
27、11.3 数据库用户的管理数据库用户的管理EXEC sp_grantdbaccess ZG002例例11-9 使用系统存储过程在当前数据库中增使用系统存储过程在当前数据库中增加一个用户加一个用户。11.3 11.3 数据库用户的管理数据库用户的管理(1)使用企业管理器删除数据库用户使用企业管理器删除数据库用户在在SQL Server企业管理器中,选中企业管理器中,选中“用户用户”图图标,在右面窗格中右键单击想要删除的数据库标,在右面窗格中右键单击想要删除的数据库用户,在弹出菜单中选择用户,在弹出菜单中选择“删除删除”项,则从当项,则从当前数据库中删除该数据库用户。前数据库中删除该数据库用户。(
28、2)使用系统存储过程删除数据库用户使用系统存储过程删除数据库用户sp_revokedbaccess的语法格式为:的语法格式为:sp_revokedbaccess name_in_db=name3. 删除数据库中的用户或组删除数据库中的用户或组11.3 11.3 数据库用户的管理数据库用户的管理EXEC sp_revokedbaccess ZG002例例11-10 使用系统存储过程在当前数据库中使用系统存储过程在当前数据库中删除指定的用户。删除指定的用户。11.3 11.3 数据库用户的管理数据库用户的管理11.4 角色管理角色管理 第第1111章章 数据库的安全管理数据库的安全管理 11.4.
29、1 SQL Server角色的类型角色的类型11.4.2 固定服务器角色管理固定服务器角色管理11.4.3 数据库角色管理数据库角色管理11.4.4 用户定义数据库角色用户定义数据库角色11.4 11.4 角色管理角色管理11.4.1 SQL Server角色的类型角色的类型SQL Server中有两种角色类型:固定角色和用户中有两种角色类型:固定角色和用户定义数据库角色。定义数据库角色。1. 固定角色固定角色n固定角色分为固定角色分为固定服务器角色:独立于各个数据库,具有固定的权固定服务器角色:独立于各个数据库,具有固定的权限。限。固定数据库角色:是指角色所具有的管理、访问数据固定数据库角色
30、:是指角色所具有的管理、访问数据库权限已被库权限已被SQL Server定义,并且定义,并且SQL Server管理者管理者不能对其所具有的权限进行任何修改。不能对其所具有的权限进行任何修改。 11.4.1 SQL Server11.4.1 SQL Server角色的类型角色的类型角色名称权 限Sysadmin系统管理员,可以在SQL Server服务器中执行任何操作Serveradmin服务器管理员,具有对服务器设置和关闭的权限。Setupadmin设置管理员,添加和删除链接服务器,并执行某些系统存储过程。Securityadmin安全管理员,管理服务器登录标识、更改密码、CREATE DA
31、TABASE权限,还可以读取错误日志。processadmin 进程管理员,管理在SQL Server服务器中运行的进程。Dbcreator数据库创建者,可创建、更改和删除数据库。Diskadmin管理系统磁盘文件bulkadmin可执行BULK INSERT语句,但必须有INSERT权限。表11-1 固定服务器角色11.4.1 SQL Server11.4.1 SQL Server角色的类型角色的类型表11-2 固定数据库角色角色名称权 限db_owner数据库的所有者,可以执行任何数据库管理工作,可以对数据库内的任何对象进行任何操作,如删除、创建对象,将对象权限指定给其他用户。该角色包含以
32、下各角色的所有权限。db_accessadmin数据库访问权限管理者,可添加或删除用户、组或登录标识。db_securityadmin管理角色和数据库角色成员、对象所有权、语句执行权限、数据库访问权限。db_ddladmin数据库DDL管理员,在数据库中创建、删除或修改数据库对象。db_backupoperator执行数据库备份权限。db_datareader能且仅能对数据库中任何表执行SELECT操作,从而读取所有表的信息。db_datawriter能对数据库中任何表执行INSERT、UPDATE、DELETE操作,但不能进行SELECT操作。db_denydatawriter不能对任何表进
33、行增、删、修改操作。db_denydatareader不能读取数据库中任何表的内容。public每个数据库用户都是public角色成员。因此,不能将用户、组或角色指派为public角色的成员,也不能删除public角色的成员。11.4.1 SQL Server11.4.1 SQL Server角色的类型角色的类型2. 用户定义数据库角色用户定义数据库角色n当某些数据库用户需要被设置为相同的权限,但是这些权当某些数据库用户需要被设置为相同的权限,但是这些权限不同于固定数据库角色所具有的权限时,就可以定义新限不同于固定数据库角色所具有的权限时,就可以定义新的数据库角色来满足这一要求,从而使这些用户
34、能够在数的数据库角色来满足这一要求,从而使这些用户能够在数据库中实现某一特定功能。据库中实现某一特定功能。n用户定义数据库角色的优点是:用户定义数据库角色的优点是:SQL Server数据库角色可数据库角色可以包含以包含Windows用户组或用户;同一数据库的用户可以具用户组或用户;同一数据库的用户可以具有多个不同的用户定义角色,这种角色的组合是自由的,有多个不同的用户定义角色,这种角色的组合是自由的,而不仅仅是而不仅仅是public与其他一种角色的结合;角色可以进行与其他一种角色的结合;角色可以进行嵌套,从而在数据库中实现不同级别的安全性。嵌套,从而在数据库中实现不同级别的安全性。11.4.
35、2 固定服务器角色管理固定服务器角色管理 11.4 11.4 角色管理角色管理n固定服务器角色不能进行添加、删除或修固定服务器角色不能进行添加、删除或修改等操作,只能将用户登录添加为固定服改等操作,只能将用户登录添加为固定服务器角色的成员。务器角色的成员。1. 添加固定服务器角色成员添加固定服务器角色成员 11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理(1)打开企业管理器,选择要访问的服务器并展开。打开企业管理器,选择要访问的服务器并展开。(2)展开展开“安全性安全性”文件夹,单击文件夹,单击“服务器角色服务器角色”项。项。例例11-11 使用企业管理器将登录使用企业管理器将
36、登录ZG001添加为添加为固定服务器角色固定服务器角色“Database Creators”成员。成员。11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理(3)在右窗格中,鼠标右键单击服务器角色在右窗格中,鼠标右键单击服务器角色“Database Creators”项,在弹出的快捷菜单项,在弹出的快捷菜单中选择中选择“属性属性”项,打开项,打开“服务器角色属性服务器角色属性”对话框对话框 11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理(4)单击单击“服务器角色属性服务器角色属性”对话框的对话框的“添加添加”按钮,打开按钮,打开“添加成员添加成员”对话框。在对话框
37、。在“选择选择要添加的登录要添加的登录”列表中选择登录列表中选择登录“ZG001”,单击单击“确定确定”按钮完成操作。按钮完成操作。11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理固定服务器角色成员的添加固定服务器角色成员的添加操作步骤如下:操作步骤如下:(1)在展开的服务器的在展开的服务器的“安全性安全性”文件夹中,单击文件夹中,单击“登录登录”项。项。11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理(2)在右窗格中选择登录成员在右窗格中选择登录成员“ZG001”,双击鼠标,打,双击鼠标,打开开“SQL Server登录属性登录属性”对话框。对话框。(3)在在
38、“SQL Server登录登录属性属性”对话框中选择对话框中选择“服务器角色服务器角色”选项选项卡,选中卡,选中“Database Creators”服务器角色服务器角色的复选框。单击的复选框。单击“确确定定”按钮完成操作。按钮完成操作。11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理sp_addsrvrolemember用于添加固定服务器角用于添加固定服务器角色成员色成员n语法格式为:语法格式为:sp_addsrvrolemember loginame= login, rolename= role11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理EXEC sp_
39、addsrvrolemember ZG002,sysadmin例例11-12 使用系统存储过程将登录使用系统存储过程将登录ZG002添加添加为固定服务器角色为固定服务器角色sysadmin的成员。的成员。11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理n删除固定服务器角色成员的语句是删除固定服务器角色成员的语句是sp_dropsrvrolemember,其语法格式为:,其语法格式为:sp_dropsrvrolemember loginame= login, rolename= role2. 删除固定服务器角色成员删除固定服务器角色成员11.4.2 11.4.2 固定服务器角色管
40、理固定服务器角色管理EXEC sp_dropsrvrolemember ZG002,sysadmin例例11-13 使用系统存储过程从固定服务器角使用系统存储过程从固定服务器角色色sysadmin中删除登录中删除登录ZG002。11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理n使用使用sp_helpsrvrole、sp_helpsrvrolemember可了可了解有关固定服务器角色及其成员的信息。解有关固定服务器角色及其成员的信息。n查看固定服务器角色查看固定服务器角色sp_helpsrvrole的语法格式为:的语法格式为:sp_helpsrvrole srvrolename=
41、 role srvrolename= role为固定服务器角色名称为固定服务器角色名称3. 查看固定服务器角色信息查看固定服务器角色信息11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理语法格式为:语法格式为:sp_helpsrvrolemember srvrolename= role sp_helpsrvrolemember查看固定服务器角色查看固定服务器角色成员成员11.4.2 11.4.2 固定服务器角色管理固定服务器角色管理EXEC sp_helpsrvrole sysadminGOEXEC sp_helpsrvrolemember sysadmin例例11-14 查看固
42、定服务器角色查看固定服务器角色sysadmin及其及其成员的信息。成员的信息。1. 添加数据库角色成员添加数据库角色成员使用系统存储过程使用系统存储过程sp_addrolemember向数向数据库角色中添加成员,其语法格式为:据库角色中添加成员,其语法格式为:sp_addrolemember rolename= role, membername= security_account11.4.3 数据库角色管理数据库角色管理11.4 11.4 角色管理角色管理USE SalesGOEXEC sp_grantdbaccess jsjx-ypxh001, xh001GOEXEC sp_addrolem
43、ember db_ddladmin, xh00111.4.3 11.4.3 数据库角色管理数据库角色管理例例11-15 向数据库向数据库Sales添加添加Windows用户用户“jsjx-ypxh001”。11.4.3 11.4.3 数据库角色管理数据库角色管理EXEC sp_addrolemember db_owner, ZG002例例11-16 向数据库添加例向数据库添加例11-3创建的创建的SQL Server用户用户ZG002为为db_owner角色成员。角色成员。11.4.3 11.4.3 数据库角色管理数据库角色管理n使用使用sp_droprolemember删除当前数据库角删除当
44、前数据库角色中的成员,其语法格式为:色中的成员,其语法格式为:sp_droprolemember rolename= role, membername= security_account2. 删除数据库角色成员删除数据库角色成员11.4.3 11.4.3 数据库角色管理数据库角色管理EXEC sp_droprolemember db_owner, ZG002例例11-17 删除数据库角色中的用户。删除数据库角色中的用户。11.4.3 11.4.3 数据库角色管理数据库角色管理n查看数据库角色及其成员的信息可以使用系统存查看数据库角色及其成员的信息可以使用系统存储过程储过程sp_helpdbfi
45、xedrole、sp_helprole和和sp_helpusersp_helpdbfixedrole的语法格式为:的语法格式为:sp_helpdbfixedrole rolename= role sp_helprole的语法格式为:的语法格式为:sp_helprole rolename= role sp_helpuser的语法格式为:的语法格式为:sp_helpuser name_in_db= security_account3. 查看数据库角色及其成员信息查看数据库角色及其成员信息11.4.3 11.4.3 数据库角色管理数据库角色管理例例11-18 查看当前数据库中所有用户及查看当前数据库
46、中所有用户及db_owner数据库角色的信息。数据库角色的信息。EXEC sp_helpuserEXEC sp_helpdbfixedrole db_owner11.4.4 用户定义数据库角色用户定义数据库角色1. 创建和删除用户定义数据库角色创建和删除用户定义数据库角色创建和删除用户定义数据库角色可以使用创建和删除用户定义数据库角色可以使用企业管理器和系统存储过程实现。企业管理器和系统存储过程实现。11.4 11.4 角色管理角色管理例例11-19 使用企业管理器创建用户定义数据使用企业管理器创建用户定义数据库角色。库角色。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色(1
47、)打开企业管理器,展开选定的数据库。打开企业管理器,展开选定的数据库。(2)右键单击右键单击“角色角色”项,在弹出的快捷菜单项,在弹出的快捷菜单中单击中单击“新建数据库角色新建数据库角色”命令,打开命令,打开“新建角色新建角色”对话框。对话框。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色(3)在在“名称名称”框中输入框中输入角色名角色名“wang”,在,在“数据库角色类型数据库角色类型”项下,选择项下,选择“标准角标准角色色”单选按钮。单选按钮。(4)单击单击“确定确定”按钮完按钮完成操作。成操作。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色例例11-2
48、0 使用企业管理器删除用户定义数据使用企业管理器删除用户定义数据库角色库角色“wang”。(1)打开企业管理器,展开打开企业管理器,展开选定的数据库,单击选定的数据库,单击“角色角色”项。项。(2)在若窗格中右键单击要在若窗格中右键单击要删除的数据库角色删除的数据库角色“wang”,在弹出的菜,在弹出的菜单中选择单中选择“删除删除”命令。命令。 (3)在弹出的对话框中单击在弹出的对话框中单击“是是”按钮,完成删除按钮,完成删除操作。操作。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色使用使用sp_addrole和和sp_droprole可以可以创建和删除用户定义数据库角色创建
49、和删除用户定义数据库角色其语法格式分别为:其语法格式分别为:nsp_addrole rolename= role , ownername= owner nsp_droprole rolename= role11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色Use SalesGOEXEC sp_addrole role01例例11-21 使用系统存储过程创建名为使用系统存储过程创建名为“role01”的用户定义数据库角色到的用户定义数据库角色到Sales数据库中。数据库中。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色USE SalesGOEXEC SP_drop
50、role role01例例11-22 使用系统存储过程删除数据库使用系统存储过程删除数据库Sales中名为中名为“role01”的用户定义数据库角色。的用户定义数据库角色。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色n添加和删除用户定义数据库角色成员可以添加和删除用户定义数据库角色成员可以使用企业管理器和系统存储过程来完成。使用企业管理器和系统存储过程来完成。2. 添加和删除用户定义数据库角色成员添加和删除用户定义数据库角色成员11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色例例11-23 使用企业管理器将成员添加到用户使用企业管理器将成员添加到用户定义数据
51、库角色定义数据库角色ZG001中。中。(1)打开企业管理器,展开打开企业管理器,展开Sales数据库。数据库。(2)单击单击“角色角色”项,在右项,在右窗格中,右键单击角色窗格中,右键单击角色“role01”,在弹出的菜,在弹出的菜单中选择单中选择“属性属性”项,项,打开打开“数据库角色属性数据库角色属性”对话框。对话框。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色(3)在在“数据库角色属性数据库角色属性”对对话框中单击话框中单击“添加添加”按钮,按钮,打开打开“添加角色成员添加角色成员”对对话框。话框。(4)在在“选择要添加的用户选择要添加的用户”列表中选择登录列表中选择
52、登录“ZG001”,单击单击“确定确定”按钮完成操按钮完成操作。作。11.4.4 11.4.4 用户定义数据库角色用户定义数据库角色例例11-24 使用系统存储过程将使用系统存储过程将ZG002添加为添加为Sales数据库的数据库的role01角色的成员。角色的成员。USE SalesGOEXEC sp_addrolemember role01,ZG00211.4.4 11.4.4 用户定义数据库角色用户定义数据库角色USE SalesGOEXEC sp_grantdbaccess ZG003,ZG003EXEC sp_addrolemember role01,ZG003例例11-25 将将S
53、QL Server登录账号登录账号“ZG003”添添加到加到Sales数据库中,其用户名为数据库中,其用户名为“ZG003”,然后再将然后再将ZG003添加为该数据库的添加为该数据库的role01角色角色的成员。的成员。11.5 权限管理权限管理 第第1111章章 数据库的安全管理数据库的安全管理 11.5.1 权限的种类权限的种类11.5.2 授予权限授予权限11.5.3 禁止与撤消权限禁止与撤消权限11.5.4 查看权限查看权限 11.5.1 权限的种类权限的种类11.5 11.5 权限管理权限管理n权限是指用户对数据库中对象的使用及操作的权权限是指用户对数据库中对象的使用及操作的权利,当
54、用户连接到利,当用户连接到SQL Server实例后,该用户要实例后,该用户要进行的任何涉及修改数据库或访问数据的活动都进行的任何涉及修改数据库或访问数据的活动都必须具有相应的权限,也就是用户可以执行的操必须具有相应的权限,也就是用户可以执行的操作均由其被授予的权限决定。作均由其被授予的权限决定。nSQL Server中的权限包括中的权限包括3种类型:对象权限、语种类型:对象权限、语言权限和隐含权限。言权限和隐含权限。1. 对象权限对象权限 11.5.1 11.5.1 权限的种类权限的种类n对象权限用于用户对数据库对象执行操作对象权限用于用户对数据库对象执行操作的权力,即处理数据或执行存储过程
55、的权力,即处理数据或执行存储过程(INSERT、UPDATE、DELETE、EXECUTE等等)所需要的权限,这些数据库所需要的权限,这些数据库对象包括表、视图、存储过程。对象包括表、视图、存储过程。表表11-3 对象及作用的操作对象及作用的操作 11.5.1 11.5.1 权限的种类权限的种类对 象操 作表SELECT、INSERT、UPDATE、DELETE、REFERANCES视图SELECT、INSERT、UPDATE、DELETE存储过程EXECUTE列SELECT、UPDATE2. 语句权限语句权限n语句权限主要指用户是否具有权限来执行语句权限主要指用户是否具有权限来执行某一语句,
56、这些语句通常是一些具有管理某一语句,这些语句通常是一些具有管理性的操作,如创建数据库、表、存储过程性的操作,如创建数据库、表、存储过程等。这种语句虽然也包含有操作等。这种语句虽然也包含有操作(如如CREATE)的对象,但这些对象在执行该语的对象,但这些对象在执行该语句之前并不存在于数据库中,所以将其归句之前并不存在于数据库中,所以将其归为语句权限范畴。为语句权限范畴。 11.5.1 11.5.1 权限的种类权限的种类表11-4 语句权限及其作用 11.5.1 11.5.1 权限的种类权限的种类语 句作 用CREATE DATABASE创建数据库CREATE TABLE在数据库中创建表CREAT
57、E VIEW在数据库中创建视图CREATE DEFAULT在数据库中创建默认对象CREATE PROCEDURE在数据库中创建存储过程CREATE RULE在数据库中创建规则CREATE FUNCTION在数据库中创建函数BACKUP DATABASE备份数据库BACKUP LOG备份日志3. 隐含权限隐含权限n隐含权限是指系统自行预定义而不需要授权就有隐含权限是指系统自行预定义而不需要授权就有的权限,包括固定服务器角色、固定数据库角色的权限,包括固定服务器角色、固定数据库角色和数据库对象所有者所拥有的权限。和数据库对象所有者所拥有的权限。n固定角色拥有确定的权限,例如固定服务器角色固定角色拥
58、有确定的权限,例如固定服务器角色sysadmin拥有完成任何操作的全部权限,其成员拥有完成任何操作的全部权限,其成员自动继承这个固定角色的全部权限。数据库对象自动继承这个固定角色的全部权限。数据库对象所有者可以对所拥有的对象执行一切活动,如查所有者可以对所拥有的对象执行一切活动,如查看、添加或删除数据等操作,也可以控制其他用看、添加或删除数据等操作,也可以控制其他用户使用其所拥有的对象的权限。户使用其所拥有的对象的权限。 11.5.1 11.5.1 权限的种类权限的种类11.5.2 授予权限授予权限1. 使用企业管理器授予用户或使用企业管理器授予用户或角色语句权限角色语句权限操作步骤如下:操作
59、步骤如下:(1)打开企业管理器,展开数据打开企业管理器,展开数据库。库。(2)在选择的数据库上单击鼠标在选择的数据库上单击鼠标右键,在弹出菜单中选择右键,在弹出菜单中选择“属性属性”项,打开项,打开“数据库数据库属性属性”对话框。对话框。(3)在在“数据库属性数据库属性”对话框中对话框中选择选择“权限权限”选项卡,进行选项卡,进行相应的语句权限设置。相应的语句权限设置。11.5 11.5 权限管理权限管理2. 使用企业管理器授予用户或角色对象权限使用企业管理器授予用户或角色对象权限11.5.2 11.5.2 授予权限授予权限(1)打开企业管理器,选打开企业管理器,选定数据库。定数据库。(2)选
60、择授予权限的对象选择授予权限的对象(如表如表employee),单,单击鼠标右键,选择菜击鼠标右键,选择菜单命令单命令“属性属性” 。(3)在在“表属性表属性”对话框中单击对话框中单击“权限权限”按钮,按钮,打开打开“对象属性对象属性”对话框。对话框。11.5.2 11.5.2 授予权限授予权限(4)在在“对象属性对象属性”对话框中对话框中授予对象权限。其中,授予对象权限。其中,表表示授予权限,示授予权限,表示禁止表示禁止权限,空表示撤消权限。权限,空表示撤消权限。(5)在选择一个特定用户或角在选择一个特定用户或角色后,单击色后,单击“列列”按钮,按钮,打开打开“列权限列权限”对话框,对话框,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年装箱单在应对外贸出口贸易救济措施中的策略合同3篇
- 二零二五版国际贸易特许经营合同主体欺诈风险管理与合同解除合同3篇
- 二零二五年电子显示屏广告租赁合同样本3篇
- 二零二五版代办房地产前期开发手续与建筑工程质量检测服务合同3篇
- 二零二五年采棉机驾驶员职业素养提升与劳动合同3篇
- 二零二五版能源行业冻库租赁合同含能源物资储备协议3篇
- 二零二五年酒店客房部服务员劳动合同书3篇
- 天津事业单位2025年度合同制聘用人员管理规范3篇
- 二零二五年度装修合同范本:环保装修保障您的生活品质6篇
- 二零二五版地产经纪居间合同纠纷处理指南3篇
- 【公开课】同一直线上二力的合成+课件+2024-2025学年+人教版(2024)初中物理八年级下册+
- 高职组全国职业院校技能大赛(婴幼儿照护赛项)备赛试题库(含答案)
- 2024年公安部直属事业单位招聘笔试参考题库附带答案详解
- 健康教育工作考核记录表
- 装饰工程施工技术ppt课件(完整版)
- SJG 05-2020 基坑支护技术标准-高清现行
- 汽车维修价格表
- 司炉岗位应急处置卡(燃气)参考
- 10KV供配电工程施工组织设计
- 终端拦截攻略
- 药物外渗处理及预防【病房护士安全警示教育培训课件】--ppt课件
评论
0/150
提交评论