Answers:
如果要像在SQL Server 2000中一样重新使用dbo架构,则可以将表移回dbo架构:
ALTER SCHEMA dbo TRANSFER erpadmin.tablename;
如果您希望使用非dbo模式,则另一种方法是将用户的默认模式设置为,erpadmin
如果您不指定模式,它将使用默认模式。(sysadmin固定服务器角色的成员将忽略,DEFAULT_SCHEMA
并dbo
默认使用。)
ALTER USER erpadmin WITH DEFAULT_SCHEMA = erpadmin;
拥有两个部分的名称(schema.table)是一个很好的习惯,因此您可以明确指出要引用的表。某些功能要求您使用由两部分组成的名称,索引视图就是一个示例。
除了@AdamWenger答案。要创建用于转移到另一个模式的脚本,可以使用以下脚本
select 'ALTER SCHEMA dbo TRANSFER '+s.name+'.'+t.name
from sys.schemas s
join sys.tables t on t.schema_id=s.schema_id
where s.name='erpadmin'
select ... from table5 ;
)并获得不同结果的情况。这不利于计划缓存,也不利于故障排除(提示支持人员,“该查询在此处运行正常”)。此外,为函数和视图建立索引所需的模式绑定需要两个部分的名称。TLDR:不要再懒了-使用两个零件名称。