SQL SERVER的三层安全模型
A、 身份验证
B、 数据库用户
C、 数据库中数据的权限设置
登录验证
A、 分类
SQL SERVER身份验证
Windows 身份验证
B、 创建登陆SQL SERVER的用户
通过企业管理器创建
通过查询分析器来创建
exec sp_addlogin ‘用户名’,’用户密码’[,’默认数据库’]
exec sp_addlogin ‘Wang’,’12345,’master’
删除登陆用户
exec sp_dropogin ‘用户名’
exec sp_droplogin ‘Wang’
查看SQL中的所有登陆用户信息
exec sp_helplogins
C、 创建Windows用户登陆
1首先创建Windows用户
我的电脑管理本地用户和组新建用户
2在SQL SERVER中登陆授权
exec sp_granlogin ‘机器名\用户名’
exec sp_granlogin ‘PC001\STU’
拒绝登陆
exec sp_denylogin ‘机器名\用户名’
exec sp_denylogin ‘PC001\STU’
删除登陆
exec sp_revokelogin ‘机器名\用户名’
exec sp_revokelogin ‘PC001\STU’
(拒绝和删除并不能阻止该用户的登陆)
现在您就可以使用上面两种方式创建的不同类型的登陆用户来登陆SQL SERVER,但是登陆了SQL SERVER并不等于就能访问SQL SERVER的数据库,因此我们还要为我们的登陆用户创建数据库用户.
数据库用户
1、 给SQLSERVER用户授权访问数据库
use 数据库
sp_grantddbaccess ‘用户名’
2、 给WindowsNT用户授权访问数据库
use 数据库
sp_grantdbaccess ‘机器名\用户名’
3、 查看当前数据库中的所有数据库用户
sp_helpuser
能够使用这个数据库,并不是一定就能访问这个数据库的数据,使用数据库中数据,需要为该用户分配相应的权限。
权限管理
1、 权限:操作和使用数据库的权利
2、 分类:
对象权限:对数据库中对象(表,视图,存储过程)的访问控制设置
语句权限:设置用户是否能够使用某一个语句(主要指在数据库中创建和删除对象)
3、 权限的设置
A、授权:
对象权限
授予所有权限:grant all on对象名 to 用户名
授予部分权限:
grant select,update,insert delete on对象名 to 数据库用户名
语句权限(授予)
授予所有权限:grant all to用户名
授予部分权限:
grant create database,create table to 用户名
B、删除
对象权限
删除所有权限:revoke all on 对象名 to 用户名
删除部分权限:revoke select,insert on 对象名 to 用户名
语句权限
删除所有权限:revoke all to 用户名
删除部分权限:revoke create database to 用户名
C、拒绝
语法规则和上面的两种都一样,使用的关键字deny
现在大家就可以利用你自己的用户来管理和操作数据库中的数据了