A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夏雪锐 黑马帝   /  2011-11-4 19:49  /  2408 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在sqlserver Management中执行create table T_Test(id int not null,age int,Name nvarchar)后在左边
为什么显示成dbo.T_Test?这个dbo啥意思呀?

4 个回复

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

点评

很好!  发表于 2011-11-5 09:48
回复 使用道具 举报
dbo是拥有此数据库的用户的意思吗?是不是database owner?我猜的。
回复 使用道具 举报
我也不知道,求解答
回复 使用道具 举报
这个就不管了吧?  这都是sql里自己生成的, 你只要知道怎么用就可以了吧,. SQL2008 你点执行前1000行的时候 它自己生成的SQL语句也是这样带的.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马