sql中 dbo 是什么意思

创建存储过程中开头:如 create procedure[dbo].[p_usersAdd]
2024-11-28 19:28:50
推荐回答(5个)
回答1:

DBO是每个数据库的默认用户,具有所有者权限,即DbOwner。

通过用DBO作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称。比如:你以User1登录进去并建表Table,而未指定DBO,

当用户User2登进去想访问Table时就要知道这个Table是User1建立的,要写上User1.Table,如果不知道是User1建的,则访问会有问题。

如果建表时把所有者指给了Dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。不光表是如此,视图等等数据库对象建立时也要如此才算是好。

扩展资料

sql数据库中系统语言的作用

1、查询数据库中都有哪些数据库

select*fromdbo.sysdatabases

2、查询用户创建的数据库中有哪些用户创建的表

select*fromSysobjectswherextype='U'

3、查询用户创建的数据库中有哪些用户创建的存储过程

select*fromSysobjectswherextype='P'

4、批量生成删除数据库中所有用户表的sql语句

select'droptable'+namefromSysobjectswherextype='U'

参考资料来源:百度百科—sql

回答2:

dbo是一个构架(schema),与sql2000不同的是,在sql2005中,表的调用格式如下: "数据库名.构架名.表名" 同一个用户可以被授权访问多个构架,也可以被禁止访问某个或多个构架,这就是2005中提倡的"用户与构架分离"的概念。在2005中,如果在创建表时没有指定构架(schema),那么系统默认该表的构架是dbo,所以会出现很多表名前自动加上dbo.字符样式。 dbo是所有者,默认架构;sa登陆名,对应的数据库用户和默认架构是dbo;系统管理员的默认架构是dbo,所以为sa账号创建的对象都是有dbo的,可以更改,在安全性里选择登陆名更改。

回答3:

dbo是一个用户,系统管理员。

回答4:

刚刚说了,dbo是架构

回答5:

数据库所有者 (dbo)
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。
用创建该对象的用户名限定。