首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果未指定dbo,则查询dbo是否为默认架构?

如果未指定dbo,则查询dbo是否为默认架构?
EN

Database Administration用户
提问于 2016-12-03 11:02:06
回答 1查看 1.7K关注 0票数 3

如果我查询一个存在于两种不同模式中但具有相同名称的表,那么是什么决定了使用哪个表呢?

例如,如果我执行下面返回的语句,则表Bar同时存在于dbofoo中:

代码语言:javascript
复制
SELECT * FROM Bar

我认为这是由用户默认模式决定的,但似乎并非如此。

我之所以这样问是因为我发现了其他人编写的查询,这些查询没有指定模式名称,但是被查询的数据库在不同的ETL模式中拥有相同的表。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2016-12-03 12:42:27

根据网上图书的说法:

如果用户是sysadmin固定服务器角色的成员,则忽略DEFAULT_SCHEMA的值。sysadmin固定服务器角色的所有成员都具有dbo的默认架构。

因此,默认模式不起作用的帐户似乎是sysadmin角色成员。dbo用户的默认架构总是dbo,不能更改。

最佳实践通常是对对象引用进行模式限定,以避免歧义和提高性能。

票数 6
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/157070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档