本教案需配合视频教程学习,视频教程地址为:sql server 2008
SQL server中的安全管理,SQL server的安全认证模式包括两个阶段:身份认证阶段和权限认证阶段。
一、身份验证阶段:登录数据库时的身份验证,身份合法才允许连接到数据库。在SQLserver中包括两种登录数据库的方式:
1.WINDOWS身份验证模式,必须满足的条件:客户端必须有合法的服务器上的WINDOWS账户,服务器在域中或者信任域中能够验证该用户;或者服务器开启了GUEST账户。这两个条件满足一个就可以了。
这种验证模式即为只要成功登录WINDOWS就可以自动连接数据库,不需要SQL server的账户和密码。
2.SQL server身份验证:必须提供登录名和密码,一般情况下默认为sa和空,信息存储在syslogins表中,这个账户将区分用户账户在WINDOWS系统下是否可信,如果可信,则才用windows验证机制,否则将通过账户的存在性和密码的匹配性自动进行验证。
在企业管理器中可以对数据库的属性-安全选项卡设置验证方式。
二、权限认证阶段:登录连接数据库以后,不一定就能操作数据库,因为还需要操作的权限才能执行命令,这需要设置数据库的认证权限,数据库的所有者可以设置这些认证权限。
1.添加数据库安全登录账户和用户账户:
通过企业管理器:安全性-登录:常规,设置登录帐号和密码;服务器角色,设置所属的角色组;数据库访问,设置访问的范围。
通过SQL语句添加数据库安全登录账户:
Sp_addlogin:创建一个新的sql server验证模式和登录账户。
Sp_revokelogin:删除一个WINDOWS NT用户的登录信息。
Sp_denylogin:阻止WINDOWS NT用户连接到数据库。
Sp_droplogin:删除SQL server中的登录账户。
Sp_helplogins:显示每个数据库中的登录用户和相关用户信息。
Sp_granlogin:使一个WINDOWS NT用户使用WINDOWS身份验证模式登录SQL SERVER。
举例:sp_addlogin 'abc','123456','college'
效果截图:

使用SQL语句创建新的登录用户。
必须建立用户账户和登录帐号想关联,才能正常操作,用于管理用户账户的系统存储过程:
Sp_grantdbaccess:为用户添加安全登录账户,授予操作权限。
Sp_revokedbaccess:删除用户账户信息撤销与登录账户的关联。
Sp_helpuser:显示当前数据库的用户信息。
Sp_dropuser:删除数据库的用户账户。
举例:sp_grantdbaccess 'abc','def'
为登录账户abc建立了一个windows用户def与其关联。
效果截图:

向数据库登录账户abc授予访问权
2.删除安全登录账户和用户账户
删除用户账户语句:
Sp_dropdbaccess ‘def’
删除数据库登录账户语句:
Sp_revokelogin ‘abc’
SQL server中的权限管理
<!--[if !supportLists]-->
1. <!--[endif]-->
系统权限:数据库用户对数据库的特定操作权限。
Create database 建立数据库
Create table 建立表
Create view 建立视图
Create rule 建立规则
Create default 建立默认
Create procedure 建立存储过程
Backup database 备份数据库
Backup log 备份事务日志
管理员可以对用户设置系统权限。
2.对象权限:用户在指定的数据库对象上的指定操作。
表:select,update,insert,delete,reference
视图:select,update,insert,delete
列(字段):select,uodate
存储过程:exxcute
SQL server角色管理:
<!--[if !supportLists]-->1. <!--[endif]-->服务器角色

8个服务器角色截图
<!--[if !supportLists]-->2. <!--[endif]-->数据库角色
1.数据库标准角色

数据库标准角色截图
2.
应用程序角色