1.创建windows登录shuai用户,只能查看itet库中yuangong表的数据。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

步骤一.windows中创建用户shuai.
数据库安全性之使用命令来实现用户管理以及角色.十五
步骤二.创建登录。

语法为:create login 登录名 from windows

注意:[机器名\用户名] 只限于windows登录

数据库安全性之使用命令来实现用户管理以及角色.十五
步骤三.成为指定的数据库的合法用户。

语法为:

Create user 用户名昵称 for login 登录名

数据库安全性之使用命令来实现用户管理以及角色.十五
4.分配权限。

语法为:

Grant 权限 on 对象名 to 用户

数据库安全性之使用命令来实现用户管理以及角色.十五
测试在这里就不需要注销了,使用名令setuser

语法为:setuser    用户名

数据库安全性之使用命令来实现用户管理以及角色.十五
我们怎么知道登没登录呢?这怎么办呀,有一个命令可以查看当前是那个用户登录的。   Select user

数据库安全性之使用命令来实现用户管理以及角色.十五
用户权限分配成功。

数据库安全性之使用命令来实现用户管理以及角色.十五
切回管理员只使用setuser就可以了。

数据库安全性之使用命令来实现用户管理以及角色.十五
2.创建sql server登录。用户为juan

1.     创建sql登录。

Create login 登录名 with password=‘登录口令’

数据库安全性之使用命令来实现用户管理以及角色.十五
2.成为指定数据库的合法用户。

Create user 用户名昵称 for login 登录名

数据库安全性之使用命令来实现用户管理以及角色.十五
3.分配权限。能删除yuangong表的记录。

Grant 权限 on 对象名 to 用户名

数据库安全性之使用命令来实现用户管理以及角色.十五
测试用户juan登录数据库,进行删除yuangong表记录的操作,如下图所示成功删除了记录。

数据库安全性之使用命令来实现用户管理以及角色.十五
例:创建sql server登录:text只能修改yuangong表女同志的信息。

1.创建sql登录。

Create login 登录名 with password=‘登录口令’

数据库安全性之使用命令来实现用户管理以及角色.十五
2.成为指定数据库的合法用户。

Create user 用户名昵称 for login 登录名

数据库安全性之使用命令来实现用户管理以及角色.十五
3.创建视图。

语法为:create view 视图名

As

Select * from yuangong where 性别=‘女’

数据库安全性之使用命令来实现用户管理以及角色.十五
4.分配相应的权限。

Grant 权限 on 视图名 to 用户名

数据库安全性之使用命令来实现用户管理以及角色.十五
测试用用户text登录数据库,将所有女同志的年龄减去1岁。

数据库安全性之使用命令来实现用户管理以及角色.十五
修改后的情况。

数据库安全性之使用命令来实现用户管理以及角色.十五
一.撤销用户权限。

语法为:

Revoke 权限 on 对象名 from 用户名

1.撤销text用户对viewnv视图的update权限。

数据库安全性之使用命令来实现用户管理以及角色.十五
测试

数据库安全性之使用命令来实现用户管理以及角色.十五
二.删除用户

Drop user 用户名

数据库安全性之使用命令来实现用户管理以及角色.十五
三.删除登录名。

Drop login 登录名

数据库安全性之使用命令来实现用户管理以及角色.十五
四.角色:role 下面的例子就要用到角色了。

角色的功能同windows中的组相同。

例:现有10sql登录,都是只能查看yuangong表的数据。

1.     创建角色。

Create role

数据库安全性之使用命令来实现用户管理以及角色.十五
2.     加入用户。

Sp_addrolemember ‘角色名’,‘用户名’

一条一条的执行,

数据库安全性之使用命令来实现用户管理以及角色.十五
4.给角色分配权限。

Grant 权限 on 对象名 to 角色名

数据库安全性之使用命令来实现用户管理以及角色.十五
测试分别使用用户s1s2s3s4S5登录,在这里我就用s1登录看操作是否成功。如下图所示只有查看的权限。

数据库安全性之使用命令来实现用户管理以及角色.十五
5.撤销角色的权限。

Revoke 权限 on 对象名 from 角色名

在这条命令里fromto都可以用。

数据库安全性之使用命令来实现用户管理以及角色.十五
如下图所示角色里的查看权限以撤销,用s5登录测试。

数据库安全性之使用命令来实现用户管理以及角色.十五
6.删除角色中的成员。

Sp_addrolemember ‘角色名’,‘用户名’

例删除network角色中的s1用户。

数据库安全性之使用命令来实现用户管理以及角色.十五
7.删除角色。

Drop role 角色名

例删除角色network,角色空时才能删除。

数据库安全性之使用命令来实现用户管理以及角色.十五
Sql server 2005对于用户安全的新特性

1.     复杂性口令

2.     锁定策略

3.     架构

1.)通过组策略实现复杂性口令。

在运行里输入gpedit.msc打开组策略在windows设置→安全设置→账户策略→密码策略→启动密码必须符合复杂性要求。

数据库安全性之使用命令来实现用户管理以及角色.十五
数据库安全性之使用命令来实现用户管理以及角色.十五
设置密码最小值为7

数据库安全性之使用命令来实现用户管理以及角色.十五
2.)例:juan用户只允许登录3次,3次登录无效后锁定。

在运行里输入gpedit.msc打开组策略在windows设置→安全设置→账户策略→账户锁定策略

数据库安全性之使用命令来实现用户管理以及角色.十五
锁定时间为30分钟。

数据库安全性之使用命令来实现用户管理以及角色.十五
测试用户juan三次登录错误后,账户被锁定。

数据库安全性之使用命令来实现用户管理以及角色.十五
如下图在用户名属性里状态中,登录已锁定。

数据库安全性之使用命令来实现用户管理以及角色.十五
解锁:

Alter login 用户名 with password=‘用户名密码’unlock

数据库安全性之使用命令来实现用户管理以及角色.十五
如下图已解锁。

数据库安全性之使用命令来实现用户管理以及角色.十五
3.)架构:schema

Sql 2000以前的版本中描述对象为:

服务器名.数据库名.用户名.对象名

2005版本

服务器名.数据库名.架构名.对象名

注意:

1.     架构和用户没有从属关系。

2.     创建对象时,最好指定所属架构。

3.     如果某个对象不指定所属架构,则默认属于dbo架构。

4.     操作a.b对象,首先查看a架构,如果找不到再找dbo架构。

创建架构:

语法为:

Create schema 架构名

Create table 表名

Id int

Uname varchar8),

Sex char2

数据库安全性之使用命令来实现用户管理以及角色.十五
给架构分配一个查看权限。

Grant 权限 on schema ::架构名 to 用户名

数据库安全性之使用命令来实现用户管理以及角色.十五
测试查看t2表。只是里面没有放入记录。

数据库安全性之使用命令来实现用户管理以及角色.十五
更改用户的架构。

Alter user juan with default_schema=network

1.t2表的架构从network改为sales

先创建架构sales,然后在进行更改。

Create schema sales

Alter schema sales transfer network.t2

数据库安全性之使用命令来实现用户管理以及角色.十五
如下图所示架构更改成功。

数据库安全性之使用命令来实现用户管理以及角色.十五
2.更改用户的架构。把juan用户的架构改为sales

Alter user 用户名 with default_schema=架构名

数据库安全性之使用命令来实现用户管理以及角色.十五