SqlServer安全机制

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

现在大家就可以利用你自己的用户来管理和操作数据库中的数据了

你可能感兴趣的:(sqlserver)