SqlServer 中的 dbo
我正在将数据库从 Teradata 转换为 SqlServer。我注意到所有表和过程都以前缀“dbo”命名。 (例如“dbo.Table1”)。
我想知道是否以及如何摆脱“dbo”,因为它会使转换任务变得更加容易。
I'm converting database from Teradata to SqlServer. I've noticed all tables and procedures are named by the prefix "dbo." (e.g. "dbo.Table1").
I would like to know if and how I can get rid of "dbo" because it would make the conversion task a lot more easier.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
dbo
不是表名称的一部分。它是表和存储过程所附加到的架构的名称。dbo
是 SQL Server 中的默认架构,但您可以根据需要添加其他架构。请参阅这篇有关它们的 MSDN 文章。
dbo
is not part of the table name. It is the name of the schema that the tables and stored procedures are attached to.dbo
is the default schema in SQL server, though you can add others if needed.See this MSDN article about them.
dbo 是模式,如果您愿意,您可以指定新模式。 dbo 默认是 sql server。
dbo is the schema, you can specify a new schema if you like. dbo is default is sql server.
所有表都必须进入模式。正如 durilai 所说,dbo 是 SQL Server 的“默认”架构(它始终存在)。但请注意,不同的用户可以有不同的默认架构(如果存在多个)。
如果您在未指定架构的情况下引用表,则 SQL Server 将在您的默认架构中搜索它(对于任何其他对象也是如此)。
因此,如果您的默认架构是 dbo,则以下两个语句是等效的:
All tables have to go into a schema. As durilai says, dbo is the "default" schema for SQL Server (it always exists). However, note that different users can have different default schemas (if more than one exists).
If you make reference to a table without specifying the schema, then SQL Server will search in your default schema for it (and the same goes for any other objects).
So, if your default schema is dbo, the following two statements are equivalent:
如果用户未设置架构,则 dbo 是 SQL Server 中的默认架构,
如果您愿意,您可以创建新架构并为其创建表。
dbo is the default schema in SQL Server if no schema was set by user,
if you want you can create new schema and create tables to it.
模式很有用。例如,我曾经分别向每个存储过程授予应用程序登录执行权限。现在,我向包含所有存储过程的架构授予应用程序登录执行权限。这要容易得多。
Schemas are useful. For example, I used to grant an app login execute permission to every stored procedure separately. Now I grant the app login execute permission to the schema that contains all the stored procedures. This is much easier.