为什么不应该使用 INFORMATION_SCHEMA 视图来确定对象的架构?

McN*_*ets 10 schema sql-server metadata information-schema sql-server-2017

根据 MS-DOCS about System information schema views,架构列定义有一个警告说明:

**重要** 不要使用 INFORMATION_SCHEMA 视图来确定对象的架构。查找对象架构的唯一可靠方法是查询 sys.objects 目录视图。

为什么不能使用 INFORMATION_SCHEMA 视图来确定对象的架构?

这个信息有误吗?

Aar*_*and 9

是的,那里的说法是不准确的。我在这篇博文中谈到了这一点(并在这个古老的 Connect 项目中对此进行了抱怨),我恳请人们使用以下sys目录视图INFORMATION_SCHEMA

警告确实应该说明 INFORMATION_SCHEMA 视图不完整;上面的措辞暗示它们可能是不正确的,这本身就是不正确的。

2011年,他们说:

嗨,Aaron,
自 2005 年以来,这个特定的措辞一直在该主题中出现。但是,我明白你的意思。我们将修改措辞并尝试使其更加清晰。

现在我们可以提交对文档的建议更改的拉取请求,可能是时候让他们再次关注它了。13年够长了。