SQL server 数据库中dbo的含义
- question
SELECT * FROM [database].[dbo].[t_1] where xh not (SELECTxh FROM [database1].[dbo].[t_1])
- df.
dbo是:每个数据库的默认用户,具有所有者权限,全称:datebaseOwner ,即DbOwner 。
所有者:在数据库中,新建对象时,默认对象的所有者为当前登录的账号。如果通过用dbo作为所有者来定义对象,能够使数据库中的任何用户引用而不必提供所有者名称;否则可能查不到表,存储过程等。
- ex.
你以User1登录进去并建表Table,而未指定dbo, 当用户User2登进去想访问Table时就得知道这个Table是你User1建立的,要写上User1.Table,如果他不知道是你建的,则访问会有问题。 如果你建表时把所有者指给了dbo,则别的用户进来时写上Dbo.Table就行了,不必知道User1。
不光表是如此,视图等数据库对象建立时也要如此才算是好。 所以在创建对象时,指定所有者为dbo,任何一个用户都可以引用。
建表、存储过程、视图等数据库对象时,其对应的所有者是创建它的用户。则除了该用户其他登录用户要引用这些东东时,都要加上前缀,很是麻烦。而且,程序因此易出错,你查来查去问题确出在这,浪费你时间。