数据库所有者 (dbo)
dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 sysadmin
的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 sysadmin 的任何成员创建的任何对象都自动属于 dbo。
例如,如果用户 Andrew 是固定服务器角色 sysadmin 的成员,并创建表 T1,则表 T1 属于 dbo,并以 dbo.T1 而不是 Andrew.T1 进行限定。相反,如果 Andrew 不是固定服务器角色 sysadmin 的成员,而只是固定数据库角色 db_owner 的成员,并创建表 T1,则 T1 属于 Andrew,并限定为
Andrew.T1。该表属于 Andrew,因为该成员没有将表限定为 dbo.T1。
无法删除 dbo 用户,且此用户始终出现在每个数据库中。
只有由 sysadmin 固定服务器角色成员(或 dbo 用户)创建的对象才属于 dbo。由任何其他也不是 syadmin 固定服务器角色成员的用户(包括 db_owner 固定数据库角色成员)创建的对象:
属于创建该对象的用户,而不是 dbo。
用创建该对象的用户名限定。
DBO(即设计、建设、运营)——污水处理行业最新出现的DBO模式
DBO是个非常好的想法,因为市场化后,谁投资谁负责建设、运营,让投资人自己选择工艺,可以将投资、建设、运营一揽子考虑,政府已经选定的工艺可不一定就是造价最低、运营最优的工艺。
-------------------------------------------------------------------------------------------
固定服务器角色
固定服务器角色也是服务器级别的主体,其作用范围是整个服务器。固定服务器角色已经具备了执行指定操作的权限,可以把其他登录名作为成员添加到固定服务器角色中,这样该登录名可以继承固定服务器角色的权限。
什么是固定服务器角色
固定服务器角色也是服务器级别的主体,已经具备了执行指定操作的权限。Microsoft SQL Server
2008系统提供了9个固定服务器角色,这些角色及其功能如表4-1所示。
表4-1 固定服务器角色
固定服务器角色 |
描 述 |
bulkadmin |
块数据操作管理员,拥有执行块操作的权限, 即拥有ADMINISTER BULK OPERATIONS权限, 例如执行BULK INSERT操作 |
dbcreator |
数据库创建者,拥有创建数据库的权限,即拥有 CREATE DATABASE权限 |
diskadmin |
磁盘管理员,拥有修改资源的权限,即拥有 ALTER RESOURCE权限 |
processadmin |
进程管理员,拥有管理服务器连接和状态的权限, 即拥有ALTER ANY CONNECTION、 ALTER SERVER STATE权限 |
securityadmin |
安全管理员,拥有执行修改登录名的权限, 即拥有ALTER ANY LOGIN权限 |
serveradmin |
服务器管理员,拥有修改端点、资源、服务器状态 等权限,即拥有ALTER ANY ENDPOINT、ALTER RESOURCES、ALTER SERVER STATE、ALTER SETTINGS、SHUTDOWN和VIEW SERVER STATE权限 |
setupadmin |
安装程序管理员,拥有修改链接服务器权限, 即拥有ALTER ANY LINKED SERVER权限 |
sysadmin |
系统管理员,拥有操作SQL Server系统的所有权限 |
public |
公共角色,没有预先设置的权限,用户可以向该角色授权 |
固定服务器角色的权限是固定不变的(public角色除外),既不能被删除,也不能增加。在这些角色中,sysadmin固定服务器角色拥有的权限最多,可以执行系统中的所有操作。可以在SQL Server Management Studio的【对象资源管理器】窗口的【安全性】|【服务器角色】节点中查看这些固定服务器角色的名称,如图4-10所示。右击某个固定服务器角色,从弹出的快捷菜单中选择【属性】命令,可以查看该角色的成员等信息。
1、bulkadmin服务器级权限已授予:ADMINISTERBULKOPERATIONS
2、dbcreator服务器级权限已授予:CREATEDATABASE
3、diskadmin服务器级权限已授予:ALTERRESOURCESSqlServer2005固定服务器角色:
4、processadmin服务器级权限已授予:ALTERANYCONNECTION、ALTERSERVERSTATE
5、securityadmin服务器级权限已授予:ALTERANYLOGIN6、serveradmin服务器级权限已授予:ALTERANYENDPOINT、ALTERRESOURCES、ALTERSERVERSTATE、ALTERSETTINGS、SHUTDOWN、VIEWSERVERSTATE
7、setupadmin服务器级权限已授予:ALTERANYLINKEDSERVERSqlServer2005固定服务器角色:
8、sysadmin服务器级权限已使用GRANT选项授予:CONTROLSERVER
8的等级最高,相当于sqlserver的sa账户和Oracle的sysadmin,可以做一切操作,包括以下七种角色,事实上一般以下七种角色的权限都是他来指派的,企业中一般严禁这个账户登陆的,因为一旦误操作将会造成灾难性损失。
1管理数据库大小,数据空间大小以及数据日志大小等
2拥有建立数据库的权限
3对已经分配磁盘空间进行分配
4可以管理进程,比如剔除一些非法进程
5可以管理连接权限,用户权限等。
6这个可以启动服务器,对服务器的属性进行分配(连接池、cpu、内存空间等),貌似是sqlserver特有
7这个角色很多数据库是没有的,比如sqlserver就是没有的,oracle8以前好像也是没有的,可以安装数据库以及删除数据库(在非常安全控制地方这种账户是没有连接权限的,也就是说只能安装,但是不能读取里面的数据)
这些权限各不相同,所以很难说是对服务器的还是数据库的,比如7这种,根本说不上是不是服务器级别的,因为它只有安装权限,可以认为是系统级别的,事实上,只有sqlserver存在服务器和数据库的区别,一般的诸如db2和oracle中的所谓服务器指的是那台机器而不是一个sqlserver意义上的服务器,具体情况具体对待