SQL Server 2012 中缺少系统表

use*_*149 3 sql-server-2005 sql-server sql-server-2000 sql-server-2012

我将 SQL Server 2000 数据库恢复到 2005 年,然后恢复到 2012 年。我现在看不到 SQL Server 2000 中存在的系统表。

为什么?

Aar*_*and 10

您应该使用目录视图而不是旧的系统表(例如,sys.objects代替sys.sysobjectssys.columns代替sys.syscolumns)。系统表仍然存在,但它们的存在只是为了向后兼容。其中一些已移至隐藏的系统数据库,mssqlsystemresource和/或仅在使用专用管理员连接连接时可见。当然,您需要一定的权限才能查看新的目录视图

请阅读旧文档的注释,例如sys.syscolumns

此 SQL Server 2000 系统表作为向后兼容性视图包含在内。我们建议您改用当前的 SQL Server 系统视图。若要查找等效的系统视图或视图,请参阅将 SQL Server 2000 系统表映射到 SQL Server 2005 系统视图。此功能将在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。

这是他们提到的映射文档的链接,但不要链接。这应该告诉你如何开始从,比如说使得过渡,syscolumnssys.columns

停止使用旧的系统表。学习新的元数据;它在这里停留。