SQL server 数据库中dbo的含义

论坛 期权论坛 脚本     
已经匿名di用户   2022-5-29 19:30   938   0

最近在看SQL server 的存储过程,发现在新建存储过程有这样的格式操作:CREATE PROCEDURE [dbo].[proc_city_4_5],

不知所云何物。

百度搜索一下得知:

dbo是每个数据库的默认用户,具有所有者权限,全称:datebaseOwner ,即DbOwner 。

在数据库中,新建对象时,默认对象的所有者为当前登录的账号。

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

比如:你以User1登录进去并建表Table,而未指定dbo, 当用户User2登进去想访问Table时就得知道这个Table是你User1建立的,要写上User1.Table,如果他不知道是你建的,则访问会有问题。 如果你建表时把所有者指给了dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。

不光表是如此,视图等数据库对象建立时也要如此才算是好。 所以在创建对象时,指定所有者为dbo,任何一个用户都可以引用。

建表、存储过程、视图等数据库对象时,其对应的所有者是创建它的用户。则除了该用户其他登录用户要引用这些东东时,都要加上前缀,很是麻烦。而且,程序因此易出错,你查来查去问题确出在这,浪费你时间。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:81
帖子:4969
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP