dbo中的dbo是什么.有点道理

本文关键字:dbo 中的 是什么 | 更新日期: 2023-09-27 18:24:36

在本地或专用服务器上,当我创建一个表时,我会看到如下表名:

dbo.Foo

由于我从某个plesk环境中获得了一个数据库帐户,因此创建的表的名称为:

mydbuser.Foo

前缀对我的代码有什么影响?或者,如果我从备份中创建了一个表/还原表,我应该期待奇怪的结果吗?

dbo中的dbo是什么.有点道理

dbo是默认的模式,当您创建一个表并且没有显式分配模式时,它会被分配给一个表。数据库模式是对表、视图、存储过程等对象进行逻辑分组的一种方式

前缀对我的代码有什么影响?

如果您没有在代码中指定schema,那么它将使用dbo作为默认值。不过,如果您有一个表的模式不是dbo,那么您也必须在代码中指定,否则它将无法执行。

如果我从备份中创建了一个表/还原表,我应该期待奇怪的结果吗?

图式并不邪恶。如果你正确地指定了它们,一切都会好起来的。

dbo

它是模式。如果没有为用户帐户定义默认模式,SQL Server将假定dbo是默认模式。

根据MSDN

SQLServer2005引入了数据库模式的概念数据库对象和用户所有权之间的分离。一个对象数据库用户拥有的数据库不再与该用户绑定。对象现在属于一个模式&一个可以容纳许多数据库的容器对象。模式所有者可能拥有一个或多个模式。这个概念为公开数据库中的数据库对象创造了机会使用糟糕的查询技术,或者由所有者以外的用户删除。

要创建您自己的模式,您可以使用以下脚本:

CREATE SCHEMA [EnterSchemaNameHere] AUTHORIZATION [dbo]

您可以使用它们对表进行逻辑分组,例如通过为"创建schama;金融";信息和另一个用于";"个人";数据然后,您的表格将显示为:

金融.Foo

Personal.Foo