table 不在 information_schema 或 systables 中是如何发生的?

How does a table not being in information_schema or systables happen?

我经常 运行 访问 MSSQL 数据库,这些数据库的表比 information_schemasystables 中列出的要多得多。

例如,我是 querying a database right now,但只获取表 spt_fallback_dbspt_fallback_devspt_fallback_usgspt_monitorspt_values . (1)

这是怎么发生的?

而且 - 它可以轻松修复吗?

(1) 我应该澄清这不是权限问题,因为我是数据库的系统管理员;大约有 200 张桌子,我对所有桌子都有完全的权限。

@DeadZone 说对了,查询有一些问题。 我正在使用:

DECLARE @command varchar(1000) 
SELECT @command = 'SELECT * FROM sysobjects WHERE xtype=''U'' ' 
EXEC sp_MSforeachdb @command

但它只会显示系统表。因此,我切换到更直接的查询以查看发生了什么并能够查看表:

use MYDATABASENAME;
SELECT * FROM sysobjects WHERE xtype='U'