【问题标题】:sys.spt_check_constbytable_rowset in SQL Server 2005SQL Server 2005 中的 sys.spt_check_constbytable_rowset
【发布时间】:2026-01-25 04:10:02
【问题描述】:

我有一个生产服务器(MS SQL Server 2005)上长时间运行的查询列表,最耗时的查询是这样的 - SELECT TABLE_CATALOG,TABLE_SCHEMA ... FROM sys.spt_check_constbytable_rowset

我一直试图在所有 DB(包括 sys DB)中找到任何名为 sys.spt_check_constbytable_rowset 的对象,但没有成功。

谁能提供一些关于这个sys.spt_check_constbytable_rowset的信息

这个列表是由客户提供的,所以我不确定他们是如何得到它的——数据库跟踪或其他。

提前致谢

【问题讨论】:

  • 当我尝试用谷歌搜索时,我唯一找到的是g-productions.nl/…,它没有提供任何有关它的信息
  • 回答问题或投票:D
  • 看起来它被存储过程sp_check_constbytable_rowset调用了。您只能通过 DAC 直接从该视图 (select * from sys.spt_check_constbytable_rowset) 中进行选择。
  • 而且该视图的定义看起来很无害,不太可能长时间运行,除非他们习惯于让长时间运行的未提交 DDL 事务保持打开状态。

标签: sql sql-server-2005


【解决方案1】:

我在生产服务器上遇到了同样的问题。

通过深入研究,我发现这种类型的查询来自 SSIS 包验证过程,它实际上是验证对象和其他架构信息,有时它还通过链接服务器从不同的服务器执行。

谢谢

【讨论】: