文档介绍:返回总目录
第 22 章系统表.............................................................................................................. 2
系统表............................................................................................................ 2
信息模式视图.............................................................................................. 76
第 22 章系统表
系统表
Microsoft SQL Server 使用的信息存放在某种特殊的表中,称为系统表。所
有的数据库都包含系统表,这些表包含 Microsoft SQL Server 和每个用户数据库
的信息。每个用户数据库都有自己的系统表集,主数据库包含许多系统表,主
数据库所包含的系统表用于服务器。
下列系统表位于主系统数据库中,而所有其他系统表都位于分布式系统数
据库( 或其他与复制有关的数据库) 的 msdb 系统数据库中,或位于用户数据库中:
· sysobjects · syslockinfo
· sysindexes · syslanguages
· syscolumns · syscharsets
· systypes · syscursorrefs
· ments · syscursors
· sysfiles1 · syscursorcolumns
· syspermissions · syscursortables
· sysusers · syscacheobjects
· sysdepends · sysaltfiles
· sysreferences · sysfiles
· sysfulltextcatalogs · sysfilegroups
· sysindexkeys · sysallocations
· sysforeignkeys · SYSREMOTE_PROVIDER_TYPES
· sysmembers · SYSREMOTE_TABLE_PRIVILEGES
· sysprotects · SYSREMOTE_COLUMN_PRIVILEGES
· sysdatabases · SYSREMOTE_PRIMARY_KEYS
· sysperfinfo · SYSREMOTE_FOREIGN_KEYS
· sysprocesses · SYSREMOTE_CATALOGS
· sysxlogins · SYSREMOTE_SCHEMATA
· syslocks · SYSREMOTE_TABLES
· sysdevices · SYSREMOTE_VIEWS
· sysmessages · SYSREMOTE_COLUMNS
· sysconfigures · SYSREMOTE_INDEXES
· syscurconfigs · SYSREMOTE_STATISTICS
· sysservers
使用 Allow Updates 选项将允许直接对系统表进行更新。在缺省情况下,该
选项是关闭的,故用户不能通过 ad hoc 更新来更新系统表。如果允许更新选项
没有打开(1),用户就只能用系统存储过程来更新系统表。当允许更新选项是关
闭的(0),则不允许进行更新。当允许更新选项打开时,那么拥有许可的任何用
户都可以用 ad hoc 更新直接对系统表进行更新,并可以创建更新系统表的存储
过程。
更新系统表可能阻止 SQL Server 启动,也可能导致出现不一致;所以
Microsoft 通常建议不使用更新系统表。另外,如果在创建存储过程的同时,允
许更新选项处于打开状态,那么,甚至在关闭允许更新选项后,这些存储过程
也可以更新系统表。用下述语法在命令提示行上启动 SQL Server 来直接更新系
统表时,可以阻止他人使用 SQL Server:
sqlservr_m
上述命令将以单用户模式启动 SQL Server,并打开 Allow Updates 选项。
Allow Updates 选项为动态选项,该选项打开或关闭时不需重启 SQL Server,
而只需使用 RECONFIGURE WIT