Sql server 在SQL Server跟踪中创建索引事件ID/名称

Sql server 在SQL Server跟踪中创建索引事件ID/名称,sql-server,Sql Server,是否有人知道创建索引的SQL Server跟踪事件ID或事件名称是什么,或者我在哪里可以找到答案?我怀疑它是“Alter User Table”,但我需要确定。在探查器中,您需要的是对象->对象:已创建。这将显示任何DDL事件。然后,在列过滤器中,将TextData列上的Like过滤器设置为Create Index% 对于跟踪,需要创建对象事件(eventId=46)。比如: sp_trace_setevent [your trace id] , @eventid = 46

是否有人知道创建索引的SQL Server跟踪事件ID或事件名称是什么,或者我在哪里可以找到答案?我怀疑它是“Alter User Table”,但我需要确定。

在探查器中,您需要的是对象->
对象:已创建
。这将显示任何DDL事件。然后,在列过滤器中,将
TextData
列上的
Like
过滤器设置为
Create Index%

对于跟踪,需要创建
对象
事件(eventId=46)。比如:

sp_trace_setevent [your trace id] 
          , @eventid = 46 -- Object:Created
          , @columnid = 1 -- TextData column
          , [ @on = ] on

sp_trace_setfilter [your trace id]
          , @columnid = 1 -- TextData column
          , @logical_operator = 0 -- AND
          , @comparison_operator = 6 -- LIKE
          , @value = 'Create Index%'

是的,文本过滤是唯一的方法。“Object:Created”事件甚至提到了CREATE INDEX,我将使用CREATE%INDEX%,尽管这是由于非聚集和唯一的用法,或者将它们添加为过滤器