首页 >> 大全

dbo与db_owner区别

2023-09-17 大全 29 作者:考证青年

dbo 是具有在数据库中执行所有活动的暗示性权限的用户。将固定服务器角色 的任何成员都映射到每个数据库内称为 dbo 的一个特殊用户上。另外,由固定服务器角色 的任何成员创建的任何对象都自动属于 dbo。

例如,如果用户 是固定服务器角色 的成员,并创建表 T1,则表 T1 属于 dbo,并以 dbo.T1 而不是 .T1 进行限定。相反,如果 不是固定服务器角色 的成员,而只是固定数据库角色 的成员,并创建表 T1,则 T1 属于 ,并限定为 .T1。该表属于 ,因为该成员没有将表限定为 dbo.T1。

无法删除 dbo 用户,且此用户始终出现在每个数据库中。

只有由 固定服务器角色成员(或 dbo 用户)创建的对象才属于 dbo。由任何其他也不是 固定服务器角色成员的用户(包括 固定数据库角色成员)创建的对象: 属于创建该对象的用户,而不是 dbo 用创建该对象的用户名限定

拥有数据库角色的用户将可以看到并操作该数据库下所有架构的对象

如果一个用户拥有数据库的权限,那么该用户将可以操作该数据库下所有架构的对象(也就是该数据库中所有的表、视图、存储过程等对象,拥有权限的用户都可以看到并进行操作),如果一个用户没有权限,那么该用户将只能看到该用户所拥有架构的数据库对象。

为了说明这一点我来举个例子,现在数据库里面有一个叫max的用户,他不拥有数据库的任何架构:

区别对待_区别词_

但是他拥有数据库的角色权限:

_区别词_区别对待

区别词_区别对待_

用max登陆数据库后,他可以看到并操作所有架构的表等对象(可以看到下图中max可以看到架构和dbo架构的所有表,但是他本身并不拥有这两个架构):

_区别词_区别对待

接下来我们用数据库管理员账户来取消用户max在数据库中的权限:

区别词__区别对待

然后再用max登陆数据库,现在发现他什么都看不到了,原因就是现在他失去了数据库的权限:

_区别对待_区别词

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了