我使用sql-server-2005,我的数据库包含很多表 当我浏览我的数据库时,我看到所有表名都以" dbo"为前缀。我想替换" dbo"数据库名称见下文:
答案 0 :(得分:2)
dbo是模式名称,它与数据库名称无关。 SQL Server使用4个部分名称:[ServerName]。[Database name]。[Schema name]。[Table / View / Trigger / SP / Function / etc Name]。默认架构为dbo
,但您可以根据需要在数据库后命名(详情请参阅http://msdn.microsoft.com/en-us/library/ms189462.aspx)
答案 1 :(得分:0)
正如其他人所说,dbo是默认架构。我不确定你为什么要创建一个与数据库同名的模式,但为了完成你所要求的,你必须做类似以下的事情:
使用CREATE SCHEMA语句
使用ALTER SCHEMA语句将表从默认架构移动到新架构。
一个例子是:
IF NOT EXISTS (SELECT * FROM sys.schemas WHERE name ='iMature_US')
EXEC dbo.sp_executesql @statement=N'CREATE SCHEMA iMature_US';
GO
ALTER SCHEMA iMature_US TRANSFER dbo.PODetail
GO
您可以使用INFORMATION_SCHEMA.TABLES视图中的数据编写脚本来传输所有表。