为什么80%的码农都做不了架构师?>>>
登录名、服务器角色、用户名和数据库角色
登录名就是你可以登录该服务器的信息;服务器角色就是该登录名对该服务器具有的权力,权力有大小,所以角色是多种的,一个角色可以有多个登录名,就好像操作系统的一般用户可以有好几个。
固定服务器角色 描述
sysadmin 可以在 SQL Server 中执行任何活动。
serveradmin 可以设置服务器范围的配置选项,关闭服务器。
setupadmin 可以管理链接服务器和启动过程。
securityadmin 可以管理登录和CREATE、DATABASE权限,还可以读取错误日志和更改密码。
processadmin 可以管理在 SQL Server 中运行的进程。
dbcreator 可以创建、更改和除去数据库。
diskadmin 可以管理磁盘文件。
bulkadmin 可以执行 BULK INSERT 语句。
用户名就是你是否可以登录上该数据库;数据库角色就是该用户名对该数据库具有的权力。
固定数据库角色 描述 www.2cto.com
db_owner 在数据库中有全部权限。
db_accessadmin 可以添加或删除用户 ID。
db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。
db_ddladmin 可以发出ALL DDL,但不能发出GRANT、REVOKE或DENY语句。
db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。
db_datareader 可以选择数据库内任何用户表中的所有数据。
db_datawriter 可以更改数据库内任何用户表中的所有数据。
db_denydatareader 不能选择数据库内任何用户表中的任何数据。
db_denydatawriter 不能更改数据库内任何用户表中的任何数据。
我们一般用sa(登录名)或Windows administration(Windows 集成验证登陆方式)登陆,这种登录名具有最高的服务器角色,也就是可以对服务器进行任何一种操作,而这种登录名具有的用户名是dbo(系统弄的),也就具有对所有用户创建的数据库中的数据进行一切的操作的权限,所以,一般我们感觉不到上述那些东西,但是,他们确实存在。一般我们通常创建用户名与登录名相同(如果我们不改变用户名称的话,系统会自动弄上登录名和用户名相同,这个不是强制相同的),例如创建了一个登录名称为“青山”,那么可以为该登录名“青山”在指定的数据库中添加一个同名用户,使登录名“青山”能够访问该数据库中的数据。一个登录名可以对应多个用户名,多个用户名的数据库角色可以分别选择,但是,一个登录名在一个数据库上最多可以创建一个用户名。
创建登陆名界面:
www.2cto.com
一个登录名可以在多个数据库上建立用户名,但在每个数据库上最多有一个用户名,系统默认用户名和登录名相同,但是,自己也可以更改。
一个SQL Server系统可以有多个登录者,但多个登录者对SQL Server中数据库的权限是不同;一个数据库可以有多个用户,但多个用户对数据库中对象是不同的。登录名和用户名可以有多个角色。
我们对于登录者、服务器角色、用户名和数据库角色的应用只体现在登录者上,登录上了,就什么都有了,同时我们创建的时候,后者必须依靠着前者,也就是说最前者是根,如果没有登录者就没有后面的那些东西。
默认情况下,新建的数据库中没有guest用户账户。在查询编辑器里运行存储过程: 启用的话:sp_adduser 'guest' 禁用的话:sp_dropuser 'guest'。guest是一种特殊的登陆者,该登录者具有一定的权限,当然,这必须需要我们开启guest这个服务。