Openworld 2010, despite the supposedly lagging economy, had record attendance again this year. No doubt this was the result of Oracle acquiring something like fourteen companies since last year, including Sun in 2009. The crowds were thick, divided about evenly between geeks in badly-fitting vendor t-shirts and slick sales-side hustlers with dress pants and shiny shoes. I landed somewhere in the middle of the two (badly-fitting dress shirt, comfortable jeans and loafers), proudly sporting a long dangling codpiece of ribbons from my attendee badge:
Oracle OpenWorld 2010 is just bursting with big cloud-related announcements this week. As I prepare to present on the Amazon cloud at OOW2010 on Thursday (http://bit.ly/aSKdIQ), I thought I would highlight two of the biggest cloud-related announcements of the week.
We all know about Exadata, Oracle’s hardware-based storage-optimized RAC monster capable of over 1 million IOPS. In his keynote, Larry Ellison announced Exalogic, an appliance that is meant to provide cloud-like private internal infrastructure. Oriented towards middleware, Exalogic’s marketing materials emphasize the elasticity of resources and promote middleware consolidation onto a small set of Exalogic nodes.
In Microsoft SQL Server, session IDs of 50 or less are dedicated background threads. These are analogous to Oracle’s background processes. Suppose you needed to obtain the Windows thread ID of a SQL server background thread. Just try finding out how to do that in the Microsoft documentation or by Googling. I tried, and came up empty-handed.
Why might you need to know this kind of thing? Well suppose one of those threads was misbehaving or hanging. You would need to debug it and obtain a stack trace. For that you would need the OS thread ID.
A little sleuthing shows that you need to query three dynamic system views: sys.dm_os_threads, sys.dm_os_workers and sys.dm_exec_requests. The following SQL should do the trick in MSSS 2005 and 2008: