sql-server – SQL Server上不可靠的information_schema架构信息
SQL Server文档
here说,information_schema.tables的table_schema字段是“不可靠的”,获取对象模式的正确方法是查询sys.objects.
任何人都可以详细说明information_schema.tables报告的架构如何以及何时可能不正确? 解决方法遗憾的是,这个问题没有得到解决,只是部分地说出了贪婪,更重要的是要将它从未回答的队列中删除,我会在答案中提出几点意见.>文档中的措辞不准确,正在纠正中(见Connect #686118).我不确定他们是否会同时更正2005,2008和2008 R2文档,或者旧版本是否会更新.关键是我无法想象任何一个视图中的模式不正确的情况,但更重要的是,当sys.objects正确时,info_schema不正确.后者是不可能的 – info_schema视图完全基于sys.objects视图(只看SELECT OBJECT_DEFINITION(OBJECT_ID(‘INFORMATION_SCHEMA.TABLES’));),所以如果一个不正确,它们都是不正确的.可能有些模糊的情况,它们都可能不正确,但在当前版本中不是(例如,在SQL Server 2000中,配置选项允许更新启用,从sysusers中删除拥有对象的用户 – 今天不太相关或可能,而不是我愿意尝试的东西,但它是我能想象的唯一一个可以在任何时间点激发当前措辞的东西. 编辑我也在这里写了关于INFORMATION_SCHEMA不可靠性的博客: http://sqlblog.com/blogs/aaron_bertrand/archive/2011/11/03/the-case-against-information-schema-views.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |