码迷,mamicode.com
首页 > 数据库 > 详细

SQL Server之dbo

时间:2015-05-25 16:43:59      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

   背景

  当我们在执行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会提供给我们很多的方便。

SQL Server之dbo

标签:

原文地址:http://blog.csdn.net/u010955843/article/details/45969913

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!