介绍一下sql server的安全性
1、两种登陆方式:
标准登陆方式(sqlserver和windows),采用sqlserver提供的用户名和密码登陆连接,可用 sp_denylogin ‘builtinadministrators'拒绝操作系统管理员登陆连接(sp_grantlogin ‘builtinadministrators'反转),也称非信任登陆机制;这种认证方式是两种方式中最安全的。
集成登陆方式(仅windows),将windows的用户和工作组映射为sqlserver的登陆方式,也称信任机制。
2、一个特殊帐户:sa,为系统默认帐户,不能删除,拥有最高的管理权限,可以执行sqlserver服务器范围内的所有操作,所以一定要给sa加上密码,密码推荐不少于6位,最后是字母、数字和特殊符号的组合。
3、两个特殊数据库用户:
dbo,数据库的拥有者,在安装sqlserver时,被设置到model数据库中,不能被删除,所以dbo在每个数据库中都存在。dbo是数据库的最高权力者,对应于创建该数据库的登陆用户,即所有的数据库的dbo都对应于sa帐户;
guest,这个用户可以使任何已经登陆到sqlserver服务器的用户都可以访问数据库,即使它还没有成为本数据库的用户。所有的系统数据库除model以外都有 guest用户。所有新建的数据库都没有这个用户,如果油必要添加guest用户,请用sp_grantdbaccess来明确建立这个用户。
4、还原数据库的时候之所以要删除本数据库的用户如user,然后在安全性→登陆里重新建这个用户和指定相应的访问权限,是因为这个用户在master里不存在。当然你也可以用sp_addlogin ‘user','resu'来新建user用户,sp_change_users_login ‘update_one','user','user'来指定在master中的对应。
5、具有system administrators服务器角色的成员拥有与sa一样的权限,具有db_owner数据库角色的用户具有对本数据库的完全操作权限。如果在创建 login的时候,选择了system administrators角色,那么该用户创建的对象都属于dbo用户。