我的一位同事注意到为插入的项目生成了不正确的 ID。最可能的原因:某些脚本发出如下命令:
dbcc checkident('dbo.table', reseed, 1)
我考虑过设置一个 DDL 触发器来捕获此命令,但此DDL 事件列表似乎不包含与重新播种相关的任何内容。
问题:有没有一种方法可以像 DDL 触发器捕获各种数据库模式更改一样捕获此类命令?
我的一位同事注意到为插入的项目生成了不正确的 ID。最可能的原因:某些脚本发出如下命令:
dbcc checkident('dbo.table', reseed, 1)
我考虑过设置一个 DDL 触发器来捕获此命令,但此DDL 事件列表似乎不包含与重新播种相关的任何内容。
问题:有没有一种方法可以像 DDL 触发器捕获各种数据库模式更改一样捕获此类命令?
当然,这些是由默认跟踪捕获的(也可能由扩展事件 system_health 会话捕获,不确定)。鉴于此答案中的警告(例如去年发布的命令不太可能仍然存在于跟踪中):
您可以在此处查看最近的 DBCC 事件:
请注意,这不仅会显示
CHECKIDENT
事件,还可以进一步过滤。另一方面,抽查正在运行(或未运行)的其他 DBCC 命令可能很有用。