日期:2014-05-16  浏览次数:20509 次

登录名、服务器角色、用户名和数据库角色

       登录名就是你可以登录该服务器的信息;服务器角色就是该登录名对该服务器具有的权力,权力有大小,所以角色是多种的,一个角色可以有多个登录名,就好像操作系统的一般用户可以有好几个。

固定服务器角色     描述 

sysadmin           可以在 SQL Server 中执行任何活动。
serveradmin        可以设置服务器范围的配置选项,关闭服务器。
setupadmin         可以管理链接服务器和启动过程。
securityadmin      可以管理登录和CREATE、DATABASE权限,还可以读取错误日志和更改密码。
processadmin       可以管理在 SQL Server 中运行的进程。
dbcreator          可以创建、更改和除去数据库。
diskadmin          可以管理磁盘文件。
bulkadmin          可以执行 BULK INSERT 语句。 
      用户名就是你是否可以登录上该数据库;数据库角色就是该用户名对该数据库具有的权力。
固定数据库角色     描述 
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(系统弄的),也就具有对所有用户创建的数据库中的数据进行一切的操作的权限,所以,一般我们感觉不到上述那些东西,但是,他们确实存在。一般我们通常创建用户名与登录名相同(如果我们不改变用户名称的话,系统会自动弄上登录名和用户名相同,这个不是强制相同的),例如创建了一个登录名称为“青山”,那么可以为该登录名“青山”在指定的数据库中添加一个同名用户,使登录名“青山”能够访问该数据库中的数据。一个登录名可以对应多个用户名,多个用户名的数据库角色可以分别选择,但是,一个登录名在一个数据库上最多可以创建一个用户名。

创建登陆名界面:


       一个登录名可以在多个数据库上建立用户名,但在每个数据库上最多有一个用户名,系统默认用户名和登录名相同,但是,自己也可以更改。

       一个SQL Server系统可以有多个登录者,但多个登录者对SQL Server中数据库的权限是不同;一个数据库可以有多个用户,但多个用户对数据库中对象是不同的。登录名和用户名可以有多个角色。
       我们对于登录者、服务器角色、用户名和数据库角色的应用只体现在登录者上,登录上了,就什么都有了,同时我们创建的时候,后者必须依靠着前者,也就是说最前者是根,如果没有登录者就没有后面的那些东西。
&nb