I've had a number of people tell me over the years that they aren't surprised when I say "Recommended" at the end of any book review I write, as I never seem to say "Not Recommended". I suppose that comes under the heading of "if you can't say anything good about something, don't say anything". So, I'm going to temporarily change tack with this book.
For a long time, I've wished there were more books tackling the thorny topic of refactoring databases. Most people would consider Scott Ambler's book to be a seminal work in this area but while I loved the fact that he wrote on the topic, I found the methods he used to be way too generic for SQL Server developers and DBAs. For example, where persisted calculated columns could be used, Scott would use triggers. I'd been eagerly awaiting any other books in this area.
Breaking with another tradition where I normally only purchase books that friends and colleagues have recommended, I followed the Amazon data mining advice when it suggested another up-coming book that I might like. Refactoring SQL Applications by Stephane Faroult and Pascal L'Hermite sounded just like what I'd been looking for and I even pre-ordered it.
I really found reading this book uncomfortable. Stephane has tried to write a book that covers multiple database engines, not just SQL Server but that's again where I suspect the problem began. Even though SQL Server is discussed throughout the book, I'm guessing that Stephane is more comfortable with Oracle than with SQL Server. I found myself cringing many times while reading it. In particular, I found advice such as "indexes are more often superfluous than missing" extraordinary. Reading the logic that supported these arguments felt like watching a train wreck in slow motion. I could see where it was going; it wasn't going the right way and it was too late to stop it. What this typically involved was Stephane creating indexes that weren't good indexes for the query at hand, then deciding that because of that, that indexing itself wasn't that useful.
I'm still looking for a great book for SQL Server developers and DBAs in this area.
Not recommended for SQL Server users! (I'm not able to comment sufficiently authoritatively for Oracle users)
If you're working with SQL Server, chances are pretty high that you already realise that your future involves SharePoint as well.
Fellow Australian MVP Ishai Sagai recently sent me a copy of his new book SharePoint 2007 How-To.
I have to say I really enjoyed it. It does exactly what the title suggests. I haven't read any other books in the "How-To" series before but I liked the format. Ishai spends a little time with SharePoint basics and then presents a series of chapters on the main aspects of the product. In each chapter, he presents a series of things you commonly might need to do when working with the product and shows you how to accomplish each, step by step. This makes it a very practical book for those who don't spend their entire working hours with SharePoint. As a bonus, the writing style is easy to follow.
One of the smaller events I try to get to each year is the Code Camp that happens in Adelaide (www.codecampsa.com). It might be smaller but I always enjoy it and I'm sure that Peter Griffiths and David Gardiner will be putting on a good show again this year.
I'd love to see as many of you there as possible. It's July 18th and 19th in Adelaide. Details are at the site: www.codecampsa.com.
I'm really looking forward to the upcoming PASS summit in Seattle. I know it's a tough year for funds and training, etc. but (particularly for those that travel from a distance), this is likely to be the year offering the lowest cost travel options for a very, very long time. It's a tough year in the airline business too.
One of my colleagues Pinal Dave has just described why he thinks you should attend: http://blog.sqlauthority.com/2009/06/19/sql-server-why-you-should-attend-pass-summit-unite-2009-seattle/
But the other interesting part is that you can win an awesome lot of prizes, including one prize of accommodation at the summit by simply describing the best thing you have learned at a PASS summit. Bill Graziano provided a great example of this and details of the competition here: http://weblogs.sqlteam.com/billg/archive/2009/06/04/What-did-you-learn-at-PASS.aspx.
But you will have to hurry as it ends soon.
Speech recognition technology has intrigued me for years but never seemed to live up to its promise. It always seemed to me to have more potential where a very limited grammar was involved, rather than attempting complex work like writing freeform prose. For example, the number of commands you can give to a television set is quite limited and much more likely to be successful.
Writing code in programming languages also seems to fit this quite well as it has a constrained grammar. I've often wondered what on earth I'd do if I couldn't type for some reason and figured that speech recognition might provide the answer (while hoping not to be in that situation in the first place).
I was impressed today to see a video from the folk at Renaissance in Israel (including fellow RD Jackie Goldstein) who have tried to tackle the use of speech recognition within Visual Studio. It's a work in progress but definitely worth a look:
While we were at TechEd in LA, Mai and I got to catch up with an old friend:
I had a query from an attendee of my full-text indexing session at TechEd US. He asked how he can find out which documents (or how many) still need to be processed. I did a little investigation on this and here's my best guess:
<WARNING: Undocumented and potentially just a guess!>
1. Query for the objectid of your full-text index. You can do this by:
select * from sys.fulltext_indexes
2. Open an admin connection to your system ie: connect to admin:SERVER instead of SERVER.
3. Query as follows:
select * from sys.fulltext_index_docidstatus_2105058535
(the number on the end needs to be your full text index's object id not mine :-))
From what I can see, this table seems to hold details of documents not yet processed and it gets cleaned up as documents are processed. This is an internal table that you can see via:
select * from sys.internal_tables
</WARNING: Undocumented and potentially just a guess!>
Hope that helps someone.
One of the members of our Asian regional development team for PASS is Jacob Sebastian. A week or so back he told me he'd written an eBook for the Red-Gate folk on XML Schemas in SQL Server. I downloaded it expecting it to be fifty to a hundred pages. It was 483 pages. What can I say: Jacob is a writing machine. You can download it here:
The title pretty much says it all. The May 2009 version of SQL Server Books Online is now available for download from:
Microsoft lost a lot of good people this week. I have to say this change has me dumbfounded. Steve has become a friend over many years of presenting at the same events. I've usually found him to be one of the most interesting people at any of these events. He's also usually the one of top presenters (if not the top) at most of these events.
Good luck Steve.