Profiler allows a DBA to monitor numerous events - actions generated within SQL Server engine. These events are grouped by the event categories summarized in the following table:
| Event Category and Description | Event | Event Description | Event Number |
| Cursors - this category shows you who has been using server side cursors, how and when | CursorClose | Previously opened T-SQL cursor is closed | 78 |
| Cursors | CursorExecute | Previously prepared cursor is executed | 74 |
| Cursors | CursorImplicitConversion | Cursor is converted from one type to another | 76 |
| Cursors | CursorOpen | Cursor is opened | 53 |
| Cursors | CursorPrepare | Cursor is prepared for use by ODBC, OLE-DB or DB-LIBRARY | 70 |
| Cursors | CursorRecompile | Cursor has been recompiled either directly or through a schema change | 75 |
| Cursors | CursorUnprepare | Previously used cursor is unprepared (deleted) | 77 |
| Database - this category lets you monitor growing and shrinking of database and transaction log files | Data File Auto Grow | Data file was extended by auto grow option | 92 |
| Database | Data File Auto Shrink | Data file was condensed by auto shrink option | 94 |
| Database | Log File Auto Grow | Transaction log file was extended by auto grow option | 93 |
| Database | Log File Auto Shrink | Transaction log file was condensed by auto shrink option | 95 |
| Errors and Warnings - This category is a catchall for various types of errors and warnings. Some events display errors logged in the event log and SQL Server error log. Others show the errors returned to the users and OLEDB errors. | Attention | This error is logged when client interrupt request or broken client connections occur | 16 |
| Errors and Warnings | ErrorLog | Shows errors logged in SQL Server error log | 22 |
| Errors and Warnings | EventLog | Shows errors logged to the Event Viewer application log | 21 |
| Errors and Warnings | Exception | Indicates that an exception has occurred | 33 |
| Errors and Warnings | Execution Warnings | Shows any warnings (such as NULL value being excluded from an aggregate calculation) that occur during SQL statement's execution | 67 |
| Errors and Warnings | Hash Warning | This event shows that a hashing operation, such as HASH JOIN has reverted to an alternate plan. This could happen due to poorly written queries or trace flags being turned on | 55 |
| Errors and Warnings | Missing Column Statistics | Informs you that a set of column statistics that could help the query is not available | 79 |
| Errors and Warnings | Missing Join Predicate | Means that a join clause for two tables is missing. This can result in rather dangerous Cartesian join returning all possible combination of rows from all tables involved | 80 |
| Errors and Warnings | OLEDB Errors | OLEDB error has occurred | 61 |
| Errors and Warnings | Sort Warnings | Means that the sorting operation initiated by an ORDER BY clause did not fit into memory | 69 |
| Locks - this category shows lock acquisitions, release, escalation and deadlocks | Lock: Acquired | A lock was acquired on a particular resource, such as data row or page. | 24 |
| Locks | Lock: Cancel | Lock acquisition was cancelled, potentially due to a deadlock. Trace this event when troubleshooting blocking locks or deadlocks. | 26 |
| Locks | Lock: Deadlock | Deadlock has been encountered. A deadlock happens when two transactions are waiting on each other's lock resource that the other transaction holds. Very useful event for troubleshooting deadlocks. | 25 |
| Locks | Lock: Deadlock Chain | One occurrence of this event is generated for each statement leading to the deadlock. Very useful event for troubleshooting deadlocks. | 59 |
| Locks | Lock: Escalation | Occurs when a finer grained lock is escalated. For instance, a page lock is escalated to a table level lock. Very useful event for troubleshooting deadlocks and blocking locks. | 60 |
| Locks | Lock: Released | Lock has been released | 23 |
| Locks | Lock: Timeout | Lock request has timed out due to blocking. Very useful for troubleshooting blocking locks. | 27 |
| Objects - shows you which database objects are used by whom | Auto Stats | Associated with automatic creation and update of statistics | 58 |
| Objects | Object: Closed | A statement (SELECT, INSERT, etc.) working with a particular object has completed | 49 |
| Objects | Object: Created | Database object - table, index, view, etc. has been created | 46 |
| Objects | Object: Deleted | Database object - table, index, view, etc. has been dropped | 47 |
| Objects | Object: Opened | Transact-SQL statement (SELECT, INSERT, etc) is accessing a particular database object | 48 |
| Performance - shows you the degree of parallelism of executions as well as execution plans and statistics | Degree of Parallelism | Shows you the degree of parallelism associated with DELETE, INSERT, SELECT or UPDATE statement | 28 |
| Performance | Execution Plan | Displays the tree of statement execution plan | 68 |
| Performance | Show Plan All | Shows the query plan with details such as cost estimates and column lists | 96 |
| Performance | Show Plan Statistics | Displays the query plan with full run-time details | 98 |
| Performance | Show Plan Text | Displays the query plan tree of the statement being executed | 97 |
| Scans - provides information about table or index scans | Scan Started | Table or index scan started | 51 |
| Scans | Scan Stopped | Table or index scan has stopped | 52 |
| Security Audit - session logins and logouts as well as addition and removal or users, logins and roles | Audit Add DB User Event | Records addition or removal of database users | 109 |
| Security Audit | Audit Add Login to Server Role Event | Records addition or removal of a member to a fixed server role | 108 |
| Security Audit | Audit Add Member to DB Role Event | Records addition or removal of members to fixed or user-defined database roles | 110 |
| Security Audit | Audit Add Role Event | Records addition or removal of a database role | 111 |
| Security Audit | Audit Addlogin Event | Records addition or removal of a SQL Server login | 104 |
| Security Audit | Audit App Role Change Password Event | Records change of an application role's password | 112 |
| Security Audit | Audit Backup / Restore Event | Records backup and restore events | 115 |
| Security Audit | Audit Change Audit Event | Records changes to the audit settings | 117 |
| Security Audit | Audit DBCC Event | Records any DBCC commands executed | 116 |
| Security Audit | Audit Login | Records any new connection to the current instance of SQL Server | 101 |
| Security Audit | Audit Login Change Password Event | Records changing of SQL Server login's password. Passwords themselves aren't recorded as this would compromise security | 107 |
| Security Audit | Audit Login Change Property Event | Records changing of the default language or default database for login | 106 |
| Security Audit | Audit Login Failed | Records failed connection events. Very useful for tracing security violations. | 20 |
| Security Audit | Audit Login GDR Event | Records execution of sp_grantlogin, sp_revokelogin or sp_denylogin. These procedures are used to grant or deny login to Windows accounts | 105 |
| Security Audit | Audit Logout | Records all disconnects from the server | 101 |
| Security Audit | Audit Object Derived Permission Event | Records all CREATE, ALTER or DROP statements | 118 |
| Security Audit | Audit Object GDR Event | Records all GRANT, REVOKE and DENY statements issued for object permissions | 103 |
| Security Audit | Audit Object Permission Event | Records use of object permissions (successful or failed) | 114 |
| Security Audit | Audit Server Starts and Stops | Records server start, pause and shutdown activities | 18 |
| Security Audit | Audit Statement GDR Event | Records all GRANT, REVOKE and DENY statements issued for statement permissions | 102 |
| Security Audit | Audit Statement Permission Event | Records usage of statement permissions | 113 |
| Server - the only event in this category records change in memory usage | Server Memory Change | Records when server memory utilization changes by 1 MB or 5% of maximum server memory, whichever is greater | 81 |
| Sessions - the only event in this category records existing sessions' activity | ExistingConnection | Records any activity of sessions connected to SQL Server before the trace was started. You should monitor this event when troubleshooting queries that consume too much CPU time | 17 |
| Stored Procedures - This category records cache hit and misses by stored procedures, input parameters, recompiles and so forth. | RPC Output Parameter | Information about output parameters of a remote stored procedure call | 100 |
| Stored Procedures | RPC: Completed | Occurs when RPC has been completed | 10 |
| Stored Procedures | RPC: Starting | Occurs when RPC has started | 11 |
| Stored Procedures | SP: CacheHit | Stored procedure is found in cache | 38 |
| Stored Procedures | SP: CacheInsert | Stored procedure or a query was placed in procedure cache | 35 |
| Stored Procedures | SP: CacheMiss | Stored procedure was not found in procedure cache | 34 |
| Stored Procedures | SP: CacheRemove | Stored procedure or query was dropped from the procedure cache | 36 |
| Stored Procedures | SP: Completed | Stored procedure execution has been completed. We highly recommend tracing this event when trying to identify longest running stored procedures. | 43 |
| Stored Procedures | SP: ExecContextHit | Indicates whether stored procedure execution plan was found in procedure cache | 39 |
| Stored Procedures | SP: Recompile | Indicates that stored procedure has been recompiled. We highly recommend tracing this event when troubleshooting slow stored procedures. Recompiling a stored procedure may translate into a performance penalty. | 37 |
| Stored Procedures | SP: Starting | Stored procedure has started executing | 42 |
| Stored Procedures | SP: StmtCompleted | A statement within a stored procedure has completed | 41 |
| Stored Procedures | SP: StmtStarting | A statement within a stored procedure has started | 40 |
| Transactions - collects information about transactions | DTCTransaction | Records transactions managed by the Distributed Transaction Coordinator (DTC) | 19 |
| Transactions | SQLTransaction | Records BEGIN, COMMIT, ROLLBACK and SAVE TRASACTION statements | 50 |
| Transactions | TransactionLog | Records each instance and transaction ID when a transaction is written to the log | 54 |
| TSQL - this category records detailed information about TSQL statements sent to the server | Exec Prepared SQL | Prepared TSQL statements are executed by OLEDB, ODBC or DB-LIBRARY | 72 |
| TSQL | Prepare SQL | Indicates whether TSQL statements have been prepared by ODBC, OLEDB or DB-LIBRARY | 71 |
| TSQL | SQL: BatchCompleted | TSQL batch has been completed. We highly recommend tracing this event when trying to identify longest running queries. | 12 |
| TSQL | SQL: BatchStarting | TSQL batch has started | 13 |
| TSQL | SQL: StmtCompleted | TSQL statement has been completed We highly recommend tracing this event when trying to identify longest running queries. | 41 |
| TSQL | SQL: StmtStarting | TSQL statement has started | 40 |
| TSQL | Unprepare SQL | Previously prepared TSQL statements have been deleted by ODBC, OLEDB or DB-LIBRARY | 73 |
In addition to the events listed above, SQL Profiler allows you to define up to ten user-configurable events.
Events and event categories can be defined through the Events tab of trace properties. You can add events and event categories to your trace by clicking the ADD button, or drop them by clicking the REMOVE button. By customizing the events you wish to trace you can get just the information you need. Be careful not to trace too many (or too few) events. We recommend getting started with the built-in trace templates and then adding one or two events at a time as needed.