【教学课件】第11章SQLServer的安全性管理.ppt
第11章 SQL Server的安全性管理,11.1 SQL Server 2000的安全机制11.2 管理服务器的安全性11.3 管理数据库的用户11.4 管理数据库的角色11.5 权限管理,11.1 SQL Server 2000的安全机制,11.1.1 SQL Server 2000登录身份验证模式1SQL Server身份验证2Windows身份验证,11.1 SQL Server 2000的安全机制,11.1.2 SQL Server 数据库的安全性 用户成功登录SQL Server服务器后,并不自动拥有对所有数据库的访问权限。用户必须在想要访问的数据库中也有一个帐户。当需要访问某个数据库时,SQL Server的安全系统会根据这个帐户的权限决定是否允许用户访问该数据库。,11.1 SQL Server 2000的安全机制,11.1.3 SQL Server 数据库对象的安全性 在创建一个数据库对象时,创建者将自动拥有对该数据库对象的所有权,即可以完全控制该对象。当一个非数据库拥有者想要访问数据库中的对象时,必须事先由数据库拥有者赋予该用户对指定对象的操作权限。,本章首页,11.2 管理服务器的安全性,11.2.1 SQL Server 登录帐户 Windows用户帐户SQL Server 帐户,11.2 管理服务器的安全性,11.2.2 设置SQL Server 身份验证模式 可以使用企业管理器来设置SQL Server 身份验证模式。步骤如下:(1)在企业管理器中,展开SQL Server服务器组。(2)右击要设置身份验证模式的服务器,并在弹出的快捷菜单中选择“属性”。(3)选择“安全性”选项卡。,11.2 管理服务器的安全性,11.2.3 添加SQL Server身份验证登录帐户1使用企业管理器添加登录帐户2使用Transact-SQL语句添加登录帐户,11.2 管理服务器的安全性,11.2.4 添加Windows身份验证登录帐户1使用企业管理器添加登录帐户2使用Transact-SQL语句添加登录帐户,11.2 管理服务器的安全性,11.2.5 修改登录帐户属性 可以在添加了新的登录帐户后修改其属性,如默认数据库、默认语言等。使用企业管理器修改登录帐户属性,只需双击要修改属性的登录帐户,并在属性对话框中进行修改即可。,11.2 管理服务器的安全性,11.2.6 拒绝登录帐户1使用企业管理器拒绝登录帐户2使用Transact-SQL语句拒绝登录帐户,11.2 管理服务器的安全性,11.2.7 删除登录帐户1使用企业管理器删除登录帐户2使用Transact-SQL语句删除登录帐户,11.2 管理服务器的安全性,11.2.8 特殊帐户sa 当SQL Server安装完成后,SQL Server就建立了一个特殊的帐户sa(System Administrator)。sa帐户拥有服务器和所有的数据库,即sa拥有最高的管理权限,可以执行服务器范围内的所有操作。同时,sa帐户无法删除。,11.2 管理服务器的安全性,11.2.9 服务器角色1使用企业管理器更改服务器角色成员2使用Transact-SQL语句更改服务器角色成员,本章首页,11.3 管理数据库的用户,11.3.1 添加数据库用户1使用企业管理器添加数据库用户2使用Transact-SQL语句添加数据库用户,11.3 管理数据库的用户,11.3.2 删除数据库用户 删除数据库用户实际上就是删除一个登录帐户到一个数据库中的映射。在企业管理器中删除一个数据库用户可以用鼠标右击欲删除的用户,从弹出的快捷菜单中选择“删除”选项。,本章首页,11.4 管理数据库的角色,11.4.1 固定的数据库角色 SQL Server提供了十种常用的固定数据库角色,这些固定数据库角色信息存储在系统表sysusers中。,11.4 管理数据库的角色,11.4.2 创建用户自定义角色1使用企业管理器创建用户自定义角色2使用Transact-SQL语句创建用户自定义角色,11.4 管理数据库的角色,11.4.3 删除用户自定义角色 在企业管理器中,右击待删除角色,从弹出的快捷菜单中选择“删除”选项,并在随后弹出的确认对话框中选择“是”就可以删除一个用户自定义角色。但需注意,首先,系统固定的数据库角色不能被删除;其次,不能删除一个有成员的角色,即必须首先删除该角色的成员,否则系统将提示应先删除其成员。,本章首页,11.5 权限管理,11.5.1 使用企业管理器管理权限1.使用企业管理器管理语句权限2.使用企业管理器管理对象权限,11.5 权限管理,11.5.2 使用Transact-SQL 语句管理权限 T-SQL语句使用GRANT、DENY、REVOKE三种命令来管理权限。GRANT命令用于把权限授予某一用户,以允许该用户执行针对该对象的操作或允许其运行某些语句。DENY命令可以用来禁止用户对某一对象或语句的权限,它不允许该用户执行针对数据库对象的某些操作或不允许其运行某些语句。REVOKE命令可以用来撤销用户对某一对象或语句的权限,使其不能执行操作,除非该用户是角色成员,且角色被授权。,本章首页,