Sql server 2008 用户管理

这里我们以studente数据库为例进行用户管理操作。本教程包含数据库登录名创建,用户创建,用户权限下发收回等操作。

下图便是我们的student数据库其中包含三张表分别是,student学生表,course课程表以及sc选课表。
Sql server 2008 用户管理_第1张图片

下面我们进行对数据库用户进行以下操作。

1.创建登录名
数据库登录名 可以用来连接到服务器
创建登录名应该是服务器级别的,也就是在用sa登陆的情况下,创建登录名的时候要使用master数据库进行创建。
语法: CREATE LOGIN [登录名] WITH PASSWORD=’[密码]’
由于我们创建的为服务器级别的登录名,所在在找的时候在服务器根目录一级展开的安全性中登录名文件夹就可以找到我们创建的登录名。注意登录名只可以登录到数据库不可以进行其他操作。
Sql server 2008 用户管理_第2张图片

下面我们关掉数据库用我们刚才创建的TOM进行登录验证。通过下图我们可以发现在我们面前的知识一些个系统中所存在的数据库,我们展开数据库我们将会发现没有任何的表而且还会告诉我们没有权限。所以我们创建的登录名仅仅只能够进行登录。并不能对数据库进行其他操作。
Sql server 2008 用户管理_第3张图片
包括建库我们都没有权限
Sql server 2008 用户管理_第4张图片

2.创建用户名
用户名是sql server 的使用者,一个数据库可以有多个用户名,一个用户名也可以访问多个数据库。

语法 CREATE USER [用户名] FOR LOGIN [登录名]

那么怎样才能访问到数据库中的表呢,我们大家都知道对于表的操作有很多吧,我们常用的新增,查询,修改等等,在数据库中我们就是通过这些个功能授权给哪些用户,之后才可以对表进行操作,接下来我们创建用户,并分配他们一些权限。

在sa登录情况下给student数据库登录名为Tom的家伙映射一个用户名叫做JOHN。
Sql server 2008 用户管理_第5张图片
然后我们切换tom登录,这时我们发现可以展开student这个数据库并且在该数据库用户中发现了我们创建的john。这时我们去展开student中的表,我们发现仍然是一片空白,所以这个用户只能对数据库进行操作,对于其中的表将会没有任何的操作权限。接下来就给我们的用户进行权限分配吧。
Sql server 2008 用户管理_第6张图片
然而其他几个数据库我们没有进行任何操作,我们还是不能进行访问。
Sql server 2008 用户管理_第7张图片

3,权限赋予
语法
use [数据库名字]
GRANT [什么权限] ON [哪一张表表名] TO [用户名]
在sa登录情况下对student数据库中用户John赋权限,insert,和select。登录Tom进行验证,在没有给权限之前我们是无法进行插入和选择的。给完权限流畅查询筛选。因为我们只给他student表插入选择的权限在这里数据库中的表只有一个student,其他表我们没有进行权限分配所以不进行显示。
Sql server 2008 用户管理_第8张图片

4.权限收回
其他的一些大家可以尝试一下,当然既然有权限的授予就应该有权限的收回下面我们将john的select权限收回看他还能进行查找吗?
语法
use [数据库名字]
GRANT [要收回的权限] ON [表名] TO [用户名]

Sql server 2008 用户管理_第9张图片

代码小结

--创建登录名----在sa登录下创建
CREATE LOGIN Tom WITH PASSWORD='123456';
--给student表中登录名为Tom的创建一个用户JOHN; 在sa登录情况下
USE Student_DB0102;
GO
CREATE USER JOHN FOR LOGIN Tom 
GO
--给用户John赋权插入和查看---在sa登录情况下
use Student_DB0102
GO
GRANT INSERT,SELECT ON Student TO JOHN
GO
----收回john在student表中的选择权限---在撒登录情况下操作。
USE Student_DB0102
GO
REVOKE SELECT ON Student to JOHN
GO
以上命令均在sa登录情况下操作,不要在自己创建完登录名登录后操作。

时间仓促,错误难免。请见谅,共同学习共同进步

你可能感兴趣的:(数据库干货)