最近新项目中接触SQL sever 数据库,可视化连接的过程中发现在数据库下存在两个特殊的类似数据库的层级
dbo、guest
查了一下资料这两者的具体含义:
dbo
database owner
数据库的创建者,创建该对象的用户
DBO是每个数据库的默认用户,具有所有者权限,即DbOwner ,通过用DBO作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称。
比如:你以User1登录进去并建表Table,而未指定DBO, 当用户User2登进去想访问Table时就得知道这个Table是你User1建立的,要写上User1.Table,如果他不知道是你建的,则访问会有问题。
如果你建表时把所有者指给了Dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。
不光表是如此,视图等等数据库对象建立时也要如此才算是好。
guest
顾客
能够访问数据库中对象的数据,
要求dbo分配权限给guest,
一般给他查看的权限select