zoukankan      html  css  js  c++  java
  • dbo与db_owner区别

    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           用创建该对象的用户名限定

     

     

     

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

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

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

     

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

     

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

     

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

     

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

     

     

  • 相关阅读:
    注释神器
    Q币直充-迅银渠道商(php 面向对象类)
    rsync 同步多台服务器项目目录
    wdcp 打开网页显示 Apache 2 Test Page powered by CentOS -- 来自辉哥博客
    elasticsearch批量修改,批量更新某个字段
    Ik分词器没有使用---------elasticsearch-analysis-ik 5.6.3分词问题
    spring-boot-starter-data-elasticsearch 整合elasticsearch 5.x详解
    FastJson--SerializerFeature.PrettyFormat 如何实现格式化源码查看
    由Premature end of Content-Length delimited message body因发的问题排查
    JVM的YoungGC日志查看
  • 原文地址:https://www.cnblogs.com/OpenCoder/p/5232771.html
Copyright © 2011-2022 走看看