Today I am happy to release the newest official build of my Who is Active procedure: v10.00.
For those of you who haven't been following along, here are some quick facts on Who is Active:
- Who is Active is a DMV-based monitoring stored procedure that uses 15 different views to show a large amount of data about what's running on your server
- Who is Active was designed to be extremely flexible, and includes options to not only get different types of data, but also to change the output column list and sort order
- Who is Active was designed with performance in mind at every step; users report that under normal conditions response times are generally subsecond, with slightly longer response times on servers that are extremely taxed
- Who is Active is compatible with all versions of SQL Server after SQL Server 2005 RTM. It does require that the host database (generally master) is not set for SQL Server 2000 compatibility mode
- Who is Active is free for most users. Refer to the license at the top of the procedure for more information
- Who is Active has been a work in progress for over 3 years. My source control system contains over 600 revisions, and version 10.00 is over 3900 lines long -- by far the biggest and most complex single stored procedure I have ever worked with.
Click Here to Download Who is Active version 10.00
A bit more information, for those who are interested:
Most of the changes since the last stable build (v9.57) have been bug fixes, and I would like to thank the many people who've sent me feedback over the past 10 months. As a result of fixing the various issues I am happy to say that this new version is quite solid, returning data even when the underlying DMVs aren't doing their jobs as advertised.
The most major enhancement is much better support for international character sets. When I first wrote the procedure I used VARCHAR for everything because, let's face it, I'm American and we know in our hearts that no one else in the world has any other language aside from that which we use. Well, luckily I was slapped into reality by a few users in far away lands such as Isreal and Sweden, and this version fully supports international character sets for everything except one feature where I couldn't get right-to-left encodings working properly. Stay tuned for a minor update to fix that discrepancy.
I also added a few features along the way:
- The name of the actual latch is shown when displaying a latch wait, not just the name of the wait (LATCH_EX, etc)
- The transaction_writes column shows both the number of writes and the actual amount of log space consumed, in kB
- An option called @get_additional_info was added. This option lets you collect information about the running session or request including connection settings like ANSI_NULLS, DATEFIRST, etc.
I still need to fully document this thing, and it's a goal I hope to achieve before the end of the year. Bear with me, please. And in the meantime, feel free to ask me any questions either here or on Twitter.
Enjoy! And thanks again to everyone who has sent me feedback along the way. This would not be possible without you.
A few terms for the search engines:
sp_whoisactive whoisactive sp_who sp_who2 sp_who3 sp_who4 sp_who5