是否可以在特定时间段之间执行 DMV 查询?

时间:2021-06-24 16:14:28

标签: sql-server ssas

我们有一个 DMV 查询,它每 10 分钟执行一次并插入使用情况统计信息,例如 SESSION_CURRENT_DATABASE, SESSION_LAST_COMMAND_STARTTIME 等。据说过去 2 年一直运行良好。

今天,数据过度摄取团队通知我们最后显示的记录来自 6/10。所以我们发现这个工作已经被卡住了 14 天,没有执行新的统计数据。我们立即重新启动了这项工作,并且从早上开始就成功执行了,但基本上我们在这 14 天期间丢失了数据。有没有办法让我们在 6/10-6/24 之间在 $SYSTEM.DISCOVER 上执行这个 DMV 查询来恢复过去 14 天的数据?

还是所有的希望都破灭了?

DMV 查询:

SELECT [SESSION_ID]
      ,[SESSION_SPID]
      ,[SESSION_CONNECTION_ID]
      ,[SESSION_USER_NAME]
      ,[SESSION_CURRENT_DATABASE]
      ,[SESSION_USED_MEMORY]
      ,[SESSION_PROPERTIES]
      ,[SESSION_START_TIME]
      ,[SESSION_ELAPSED_TIME_MS]
      ,[SESSION_LAST_COMMAND_START_TIME]
      ,[SESSION_LAST_COMMAND_END_TIME]
      ,[SESSION_LAST_COMMAND_ELAPSED_TIME_MS]
      ,[SESSION_IDLE_TIME_MS]
      ,[SESSION_CPU_TIME_MS]
      ,[SESSION_LAST_COMMAND_CPU_TIME_MS]
      ,[SESSION_READS]
      ,[SESSION_WRITES]
      ,[SESSION_READ_KB]
      ,[SESSION_WRITE_KB]
      ,[SESSION_COMMAND_COUNT]
FROM $SYSTEM.DISCOVER_SESSIONS

1 个答案:

答案 0 :(得分:1)

除非实例已重新启动或数据库已分离,否则我不会说它“消失了”。例如,用于过程使用的 dmv 中应该仍然有数据,但您将无法专门重新创建 10 天前的样子。

通过回顾您已有的 2 年数据,您可以大致了解一下,并了解是否存在峰值或持续使用情况。然后,获取今天 DMV 的快照,并将其推回 14 天以大致了解使用情况。

相关问题