Analysis (Services and Self)

Koan Bremner's view on life as a database and data warehouse professional / addict and non-genetic woman

Thursday, November 04, 2004

Awake, but excited

Following on from my last post, last night / this morning was / is another occasion when I fell asleep around 10.30pm (tired), awoke at 2.00am, and got up around 2.30am with a resigned sigh. There's a bit of a pattern forming; one night I sleep fine, the next I'll get three to four hours, then the cycle repeats. I've been through this kind of cycle before, and it's just about bearable. Today, though, I'm not too bothered, because tomorrow I can have a lie-in (I don't work on Fridays, instead I make up a day during the weekend); also, today I'm resuming the weekly "chalk talks" that I used to give, and which I referred to in a previous post. And I'm really looking forward to it! :-)

As before, the idea is to cover a specific topic area from SQL Server 2000, Transact-SQL, Analysis Services, OLAP and the like, primarily chosen to plug skills gaps or areas of potential misunderstanding which crop up in our ongoing development and support work. I found them a really effective way to get key information across in a way that made the best use of everybody's time (including my own). We'll see if my victims (er, "audience") still agree!

So, today's talk, entitled "Locks, Blocks and Two Smoking Deadlocks" is a quick review on locking in SQL Server 2000; the various lock types, how SQL Server 2000 manages them, and how they support various activities within a multi-user environment. I'll briefly cover blocking as well, and explain my assertion that locking and blocking are essentially good; but also bad in some circumstances (usually because of a lack of supporting resources that SQL Server can use). As for deadlocks, well, they're bad, period.

After the theory, I'm going to look at some actual examples that cropped up recently while testing some development code, and how something that manifested itself as a locking problem provided an opportunity to improve the speed of a key process by a factor of more than twenty. As before, I'll document the key points (and record the audio, my own ad-hoc podcast!), but this time I'll be posting the notes in this blog (minus any company confidential information or IPR, which will have to remain for internal distribution only), where hopefully they might prove useful to others, and where I'm free to have my assertions shot down in flames if they can be justifiably shown to be incorrect. There's a gauntlet thrown down! :-)

This blog has been migrated to new software on a different server ( and comments on this post on *this* blog are now closed. All existing comments have been copied to the equivalent post on the new blog. If you still wish to comment on this post, please use the equivalent post at:


<< Home