转载:http://www.cnblogs.com/jackson-ou/archive/2009/05/27/1490990.html
这三个视图都是存在于SQL Server的每个数据库中。在SQL Server 2000中,它们都是系统表,而不是视图。
关于两个版本中系统表和系统的视图的对应关系,参考:http://technet.microsoft.com/zh-cn/library/ms187997.aspx
sys.all_objects:显示所有架构范围内的用户定义对象和系统对象,参考 http://technet.microsoft.com/zh-cn/library/ms178618.aspx
sys.sysobjects,sys.objects:在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行,参考http://technet.microsoft.com/zh-cn/library/ms177596.aspx
sys.objects 不显示 DDL 触发器,因为它们不是架构范围内的对象。所有触发器(包括 DML 和 DDL)均位于 sys.triggers 中。sys.triggers 支持对各种触发器应用混合名称范围规则。
在自己的数据库中测试发现,sys.objects,sys.sysobjects视图的内容是完全一致的。
这三个视图的结构比较类似,其中饱含type,id等属性。其中type的取值代表了各种不同的对象类型。对于触发器或者约束对象,parent_obj属性表示父表的id。
Name, ID相关的系统函数:
??? SCHEMA_NAME ( [ schema_id ] ):返回与架构 ID 关联的架构名称。
??? OBJECT_NAME ( object_id [, database_id ] ):返回架构范围内对象的数据库对象名称。
??? OBJECT_ID (object_name [,'object_type' ] )返回架构范围内对象的数据库对象标识号,比包括触发器等;若要返回 DDL 触发器的对象标识号,请使用 SELECT OBJECT_ID FROM sys.triggers WHERE name = 'DatabaseTriggerLog'。
?
select * from sys.objects --在数据库中创建的每个用户定义的架构范围内的对象在该表中均对应一行。
?
select * from sys.sysobjects--在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。
?
"sys.objects是sys.sysobjects的子集" 应该是正确的
?
?
一个是对象表,一个是对象表与其它表相连而形成的视图,便于查询。
下面是从 http://technet.microsoft.com/zh-cn/library/ms187997.aspx
系统表 系统视图或函数 视图或函数类型 sysaltfiles sys.master_files 目录视图 syscacheobjects sys.dm_exec_cached_plans sys.dm_exec_plan_attributes sys.dm_exec_sql_text sys.dm_exec_cached_plan_dependent_objects 动态管理视图 动态管理视图 动态管理视图 动态管理视图 syscharsets sys.syscharsets 兼容性视图 sysconfigures sys.configurations 目录视图 syscurconfigs sys.configurations 目录视图 sysdatabases sys.databases 目录视图 sysdevices sys.backup_devices 目录视图 syslanguages sys.syslanguages 兼容性视图 syslockinfo sys.dm_tran_locks 动态管理视图 syslocks sys.dm_tran_locks 动态管理视图 syslogins sys.server_principals sys.sql_logins 目录视图 sysmessages sys.messages 目录视图 sysoledbusers sys.linked_logins 目录视图 sysopentapes sys.dm_io_backup_tapes 动态管理视图 sysperfinfo sys.dm_os_performance_counters 动态管理视图 sysprocesses sys.dm_exec_connections sys.dm_exec_sessions sys.dm_exec_requests 动态管理视图 动态管理视图 动态管理视图 sysremotelogins sys.remote_logins 目录视图 sysservers sys.servers 目录视图