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中的权限管理

1.       系统权限:数据库用户对数据库的特定操作权限。

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角色管理

1.       服务器角色

 

 

8个服务器角色截图

 

 

2.       数据库角色

1.数据库标准角色

 

数据库标准角色截图

 

2.应用程序角色

posted @ 2016-08-23 16:04  华翎科技  阅读(911)  评论(0)    收藏  举报