SQL Profiler EventClass & EventSubClass Column Descriptions

SQL Profiler EventClass & EventSubClass Column Descriptions

You can use SQL Profiler to store trace data into files or tables.If you configure SQL Profiler to store trace information into a SQL Server table, you will notice that the EventClass and EventSubClass descriptions are converted to numeric values instead of textual descriptions. This is because numeric values are language neutral, whereas SQL Server Profiler performs translations into the default locale of the current user.

The textual translations for the English are stored in "[Drive]:\Program Files\Microsoft SQL Server\MSSQL.X\OLAP\bin\Resources\1033\tracedefinitionXX.xml" where Xs corresponds to the installed version of SQL Server.

If you're like me, you've needed EventClass and EventSubClass column translations when storing SQL Profiler Trace data into a table.The SQL Script below creates two tables:dbo.ProfilerEventClass and dbo.ProfilerEventSubClass.These tables are populated with the 1033 translations.Also included in this post are the original, though somewhat crude, XSLT files used to transform the tracedefinition90.xml into SQL statements. For a similar article of DB Engine trace events, see How To: Use SQL Profiler.

INSERT INTO [dbo].[ProfilerEventClass] ([EventClassID],[Name],[Description]) VALUES (1, 'Audit Login', 'Collects all new connection events since the trace was started, such as when a client requests a connection to a server running an instance of SQL Server.')

INSERT INTO [dbo].[ProfilerEventClass] ([EventClassID],[Name],[Description]) VALUES (2, 'Audit Logout', 'Collects all new disconnect events since the trace was started, such as when a client issues a disconnect command.')

INSERT INTO [dbo].[ProfilerEventClass] ([EventClassID],[Name],[Description]) VALUES (12, 'Query Subcube Verbose', 'Query subcube with detailed information. This event may have a negative impact on performance when turned on.')

INSERT INTO [dbo].[ProfilerEventClass] ([EventClassID],[Name],[Description]) VALUES (60, 'Get Data From Aggregation', 'Answer query by getting data from aggregation. This event may have a negative impact on performance when turned on.')

INSERT INTO [dbo].[ProfilerEventClass] ([EventClassID],[Name],[Description]) VALUES (61, 'Get Data From Cache', 'Answer query by getting data from one of the caches. This event may have a negative impact on performance when turned on.')