April 2008 - Posts

OT: Comment Spam!

Anyone else on DNJ feeling the pain of comment spam?

Maybe I'll take some freerolls or tramadyne or applesauce :-)

Anonymous comments are turned off for now. Use the contact form instead, please.

And can someone at the top fix this?

Tags: comment spam, DotNetJunkies

What are SQL Server Agent Job 'Categories'?

What does the "Category" drop-down for SQL Server Agent jobs do? The options are so limited and make no sense to me: "Full-Text"? "REPL-Alert Response"? "Web Assistant"?

If, like me, you've ever asked yourself the above question, wonder no more. Tim Ford has an article on MSSQLTips.com titled "Custom job categories to organize your SQL Agent jobs" which answers this, and more.

Tim's article is so useful and simple that immediately after reading it, I went out and added a couple of custom categories, and then assigned my "[Uncategorized (Local)]" jobs. All this took less than 10 minutes, and now I know about SQL Server Agent Job categories. Thanks Tim!

Tags: sql server, sql agent, Tim Ford

A Short Rant on One Example of Why Over-Engineering Stuff is a Problem

We've got a boiling water unit in the tea room that I pass by every day, that is over-engineered. I feel a short rant coming on...

This boiling water unit's primary function is to deliver boiling water, so people can make their instant coffee or tea. It does this well - there's a big black button that, when pushed, runs boiling water from a nozzle directly underneath the button. So far, so good.

If the boiling water unit was limited to this functionality, it could be regarded as a success. However, it also has:

  • an screen with the time and day of the week
  • four nameless touch-sensitive buttons (which are very cool - all you have to do is hover your finger near them and they flash red...but what do they do?)
  • a red "lock" LED
  • a switch that has a label "Lock", that is miles away from the LED

Why this over-engineering is a problem is that because no-one needs the time or day of week, no-one has set it. So now it's wrong. Further, there's no clear way to set it (unless you can find the manual). Why have the touch-sensitive buttons if they don't do anything? And why not have the "lock" switch in a visible location, and ditch the LED altogether?

Whoever made the boiling water unit could simplify it by removing the cruft, and so actually improve it. End rant :-)

Tags: design, water, engineer

Microsoft Course 2780 Maintaining a Microsoft SQL Server 2005 Database at Solid Quality Learning

Recently, my boss paid for me to attend Microsoft Course 2780 Maintaining a Microsoft SQL Server 2005 Database at Solid Quality Learning (thanks, boss!)

Around 18 months ago, our department was put in charge of a SQL Server 2005 box. I've been using SQL 2005 since then which of course gave me a huge headstart in the course. Way back when, I attended the 2779 training (focused more on developers), and thought that the 2780 training would complement it and make me into a DBA :-)

Well, the training is over, and I'm not a DBA, but I got a lot out of the course; below is my quick review on the good, the bad, and the ugly:

The Good

  • I would recommend this course if you are trying to come to grips with the DBA side of things in SQL Server 2005.
  • Rob Farley did a fantastic job standing up front of the class. He was knowledgeable and friendly, happy to answer questions and go "above and beyond" the standard course material.
  • I got to talk to a bunch of smart guys, like Greg Linwood, Brett Clarke and Simon Gerada from Solid Quality Learning.
  • The other attendees were the most polite IT professionals I've ever met. Everyone got along, and the class atmosphere was relaxed.
  • There was real food from a real cafe.
  • Our machines were P4 2.8GHz with 3.5 GB of RAM, running Windows XP, and all course work was done in pre-configured virtual machines. I had no technical hitches (Vista would have been nice, though).
  • Rob mentioned that originally the course was too short at just 3 days. 5 days was about right for the 9 modules covered.

The Bad

  • Um, not much here. Possibly too much typing of SQL as opposed to using the GUI :-)

The Ugly

  • The price - I realise we're actually paying for having an expert tutor and not the sum of all the good things like the PC's, lunch, and course book...but why is IT training so darned expensive?
  • Documentation - The standard MS coursebook is overly verbose, and does not feature a single screenshot. You could never sell a book like that.
  • Only instant coffee (unless you went to the cafe downstairs) :-(

All in all, this was a great training that a got a lot out of. Rob added real-world hints & tips, and it was also interesting to hear the other participants tales of managing multiple (several hundred, in one case) servers and different versions of SQL Server.

Tags: sql server, database, training, Solid Quality Learning, Rob Farley

I Don't Update Java Because...

...the updater is more invasive than the waft of a poopy nappy in a small room :-)

However, remembering to update software is not my strong point. gHacks put me on to a small program called JavaRa that checks for Java updates and removes old versions. And doesn't require an install. Very handy.

Time to go change that nappy!

Tags: java, updater, javara, ghacks

Why I Finally Switched From Bloglines

 Bloglines was my RSS reader of choice for almost 4 years. I loved using it because it was web-based, easy to use, fast, dependable, full-featured (in 2004), and free.

Unfortunately Bloglines was ignored for a couple of years by the developers, during which time I stuck with it doggedly anyway. It got slightly less dependable (i.e. the notorious "Bloglines plumber"), and other readers overtook it in terms of functionality. Surprisingly, it was the new beta version which eventually drove me away - it was a case of too little, too late - and worryingly, the beta initially didn't work properly for IE which made me go back to the "classic"/2004 version.

Soon after, I decided to go looking at the various free readers on the market.

Google Reader is web-based, easy to use, fast, free, and has plenty of features to boot. It's even better than the Bloglines beta, and there's little worry about Google suspending development. My OPML imported easily, and I started reading feeds straight away...using it is almost enjoyable.

Some features that stand out on Google Reader are the speed, the ability to find new blogs which is almost too simple, offline viewing (IE only at the moment), and editing feeds and re-ordering them is a cinch.

YMMV - I need free and web-based, I'm not fussed by Digg or any "social" features, and the reader absolutely must work with IE and Flock. A good round-up of feed reader alternatives can be found at Wikipedia.

Goodbye Bloglines, may you live a long and healthy life, and perhaps we shall meet again.

UPDATE: Matt tells me that offline viewing works fine in Firefox. Fixed (thanks Matt)!

Tags: reader, rss, bloglines, google reader, switch

2 Code Snippets from SQL Server Training In Melbourne

I'm very fortunate to be at SQL Server 2005 training in Melbourne all week this week. Our instructor is Aussie SQL Server MVP Rob Farley who blogs at msmvps.com/blogs/robfarley/ and is unbelievably knowledgeable about the product (of course).

So far I've collected 2 useful code snippets from Rob - more on useful stuff from the course later:

--show all plans in the cache, courtesy Rob Farley
--adding "OPTION (RECOMPILE)" means that subsequent executions
--of this query aren't added to the cache
SELECT  *
FROM    sys.dm_exec_cached_plans p CROSS APPLY
        sys.dm_exec_sql_text(p.plan_handle) t CROSS APPLY
        sys.dm_exec_query_plan(p.plan_handle) q
OPTION (RECOMPILE)

--comma-separated from resultset in 1 call, courtesy of Rob Farley
--here we'll return all database names in a comma-separated string
--the trick is to give no column name (in the inner select) and no
--argument to XML PATH
--STUFF replaces the first comma with an empty string
SELECT STUFF((
SELECT ',' + name
FROM sys.databases
ORDER BY name
FOR XML PATH('')
), 1, 1, '')

Enjoy!

Tags: sql server, database, training, snippet