sql中关于用户对象
(1)什么是用户:
我的理解是它向上承接着登录名,向下关联着数据库。是登录名和具体的数据的连接桥梁。
一个或多个登录对象在数据库中的映射,可以对用户对象进行授权,以便为登录对象提供对数据库的访问权限。用户定义信息存放在每个数据库的sysusers表中。
(2)作用:
SQLSERVER把登录名与用户名的关系称为映射。用登录名登录SQLSERVER后,在访问各个数据库时,SQLSERVER会自动查询此数据库中是否存在与此登录名关联的用户名,若存在就使用此用户的权限访问此数据库,若不存在就是用guest用户访问此数据库.
(1)用法规则:
一个登录名可以被授权访问多个数据库,但一个登录名在每个数据库中只能映射一次。即一个登录可对应多个用户,一个用户也可以被多个登录使用。好比SQLSERVER就象一栋大楼,里面的每个房间都是一个数据库.登录名只是进入大楼的钥匙,而用户名则是进入房间的钥匙.一个登录名可以有多个房间的钥匙,但一个登录名在一个房间只能拥有此房间的一把钥匙。
(2)常见的用户名:
(1) 服务器用户:
服务器用户 |
说明 |
Sysadmin |
Sql server的系统管理员,拥有最大的权限 |
Securityadmin |
管理登录与Create database命令的权限,可以读取错误记录文件 |
Serveradmin |
负责设置服务器范围的配置选项和关闭服务器 |
Setupadmin |
管理连接服务器的相关设置和存储过程 |
Processadmin |
管理这sql server的处理程序 |
Diskadmin |
管理这磁盘的数据文件 |
Dbcreator |
拥有创建、更改、分离数据库和更改数据库的属性的权限 |
Bulkadmin |
拥有执行bulkinsert命令的权限 |
(2)数据库用户:
数据库用户 |
说明 |
Public |
所用的用户都拥有此用户的的权限,可浏览数据表,视图和执行存储过程,当没有访问的权限 |
Db_owner |
数据库的所有者,默认的数据库用户dbo就属于此用户,拥有数据库的全部权限 |
Db_datareader |
用户拥有查询数据库记录的权限,也就是执行select的命令 |
Db_datawriter |
用户拥有数据表记录的新增、删除、和更新权限,也就是执行INSERT、DELECT和UPDATE的命令 |
Db_accesadmin |
此用户可以创建和管理数据库的用户
|
(2) 自己创建用户:
我们可以再数据库中创建我们自己的数据库用户,并且给予自己的数据库一定的权限。
(1) 新建用户:
常规中你可以创建一个用户名,并且将此用户名关联一个登陆名,选择数据用户架构()还有数据库的一些用户(系统的一些数据库)
(2) 数据库用户的安全对象:
这里可以对你的用户关联的信息赋予一些权限:
(3) 扩展属性: