How do you monitor and catch the blocked process within your SQL environment?

Using Query Editor in SQL Server Management Studio to find the blocked processes is a common approach and further to that you can use the advanced configuration (SP_CONFIGURE) to use blocked process threshold option to specify the threshold, in seconds, at which blocked process reports are generated. The deault behaviour of SQL engine is no blocked process reports are produced and the threshold can be set from 0 to 86,400, chose the relevant value as per your testing and environment. Also for your information such events are not generate for system processes or any other processes that are waiting on resources that do not generate detectable deadlocks. The default behaviour of this Blocked Process threshold uses the  deadlock monitor background thread to walk through the list of tasks waiting for a time greater than or multiples of the configured threshold. The event is generated once per reporting interval for each of the blocked tasks, so the usage of this alert depends upon the best effort basis & testing in your environment and to this there is no guarantee of any real-time or even close to real-time reporting.

Also another task is to catch the events are generated by SQL Server and logged on to Windows application log. Using the SQL Server Agent you can define an ALERT that reads the application log and compares events written there to alerts that you have defined, in any case when Agent finds a match, it fires an alert, which is an automated response to an event. In addition to monitoring SQL Server events, SQL Server Agent can also monitor performance conditions and Windows Management Instrumentation (WMI) events.

To talk more on the subject line on the tool its my pleasure to announce the new tool called SQL Server Blocked Process Monitor which has been developed by a SQL MVP Jonathan Kehayias. The best part of this tool is "It uses a SMO trace, and collects the blocked process reports from SQL Server, then uses the sql_handle's to get the sql_text from sys.dm_exec_sql_text and updates the XML document before writing it to a XML output file". Make best use of this tool and feedback your response on Discussions link.