SQL Server之dbo

   背景

  当我们在执行sql查询语句的时候会自动给表名加上这么一个标识,如图:


那么为什么会加上dbo呢?什么是dbo呢?

   dbo简介

  Ø  定义

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

  Ø  举例

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

  也就是说通过用DBO作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称。

  Ø  好处

  我们知道无论是建表、存储过程、视图等数据库对象时,其对应的所有者是创建它的用户。它的所以的权限等等均属于是该用户的。别的用户要是想要引用等等,必须加上相关的前缀,这样造成了很多不必要的麻烦,并且可能因为引用的问题不对,造成程序的混乱和出错,故而问题的产生点却仅仅是一个很小的知识点,故而设置其权限是dbo会提供给我们很多的方便。

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值