我现在有点困惑。有人可以用这个问题的简单答案来回答我吗?
我有一个用户 [user_test],并为一个数据库 [database_test] 分配了 [db_owner] 角色。用户的默认模式是 [user_test],几乎所有来自 [database_test] 的对象都是在模式 [user_test] 下创建的。在数据库中存在 3 个具有模式 [dbo] 的对象
用户有权访问两个模式:[dbo] 和 [user_test],而无需在对象引用前面的 select 语句中明确指定它们。
当用户 [user_test] 调用对象时,SQL 检查的第一个模式是什么?
我的意思是,如果 [user_test] 从 dbo 模式(前面没有模式)发出一个对象的选择,SQL 会首先检查它指定的默认模式然后在 dbo 中检查吗?
谢谢,
对于 SQL Server 2005 和 2008,搜索的第一个模式是用户默认模式。
来自SQL Server 最佳实践——数据库对象模式的实现
和
SQL Server 2005升级到 SQL Server 2005 和 DEFAULT_SCHEMA 设置中引入了默认架构