INFORMATION_SCHEMA vs sysobjects

Dis*_*ile 23 sql-server sql-server-2005 sql-server-2008

在SQL Server中:

INFORMATION_SCHEMA和sysobjects有什么区别?一个人提供的信息多于另一个,还是通常用于不同的事情?

sysobjects与sys.objects相同吗?如果没有,这些有什么区别?

Ran*_*der 34

INFORMATION_SCHEMA是SQL-92标准的一部分,因此它不太可能像sysobjects那样经常更改.

这些视图提供了SQL Server元数据的内部系统表独立视图.即使对底层系统表进行了重大更改,它们也能正常工作.

查询INFORMATION_SCHEMA总是好得多,因为它隐藏了sysobjects中对象的实现细节.


Sim*_*ier 7

INFORMATION_SCHEMA是ANSI标准,在SQL Server实现中有点夸张.sysobjects特定于SQL Server.旧版本的SQL Server不支持它.

因此INFORMATION_SCHEMA更易于移植(适用于其他数据库)并且比sysobjects更容易使用.如果它有你需要的信息,我会去INFORMATION_SCHEMA.

sys.objects sysobjects只适用于SQL 2000的可移植性.

  • 实际上:`sys.objects`是目录视图的新SQL Server 2005版本; `sysobjects`(无点)是旧的,向后兼容的SQL Server 2000目录表 (3认同)