我正在将数据库从Teradata转换为SqlServer。我注意到所有的表和过程都使用前缀“dbo”命名。(例如"dbo.Table1")。
我想知道是否以及如何摆脱"dbo“,因为它将使转换任务变得更容易。
发布于 2010-03-31 14:21:14
dbo不是表名的一部分。它是表和存储过程附加到的架构的名称。dbo是SQL server中的默认架构,但您可以根据需要添加其他架构。
请参阅有关它们的this MSDN文章。
发布于 2010-03-31 14:17:24
dbo是模式,如果愿意,您可以指定一个新的模式。默认情况下,dbo为sql server。
发布于 2010-03-31 14:21:37
所有的表都必须进入一个模式。正如durilai所说,dbo是SQL Server的“默认”模式(它总是存在的)。但是,请注意,不同的用户可以有不同的默认模式(如果存在多个)。
如果在未指定架构的情况下引用表,则SQL Server将在默认架构中搜索该表(对于任何其他对象也是如此)。
因此,如果您的默认模式是dbo,则以下两个语句是等效的:
select * from Table1
select * from dbo.Table1https://stackoverflow.com/questions/2550854
复制相似问题