Plan Caching Whitepaper for SQL Server 2008

Gail from the documentation team told me today that the Plan Caching whitepaper I've been working on for SQL Server 2008 is now available at: http://msdn.microsoft.com/en-us/library/ee343986.aspx

Thanks so much to my colleagues Andy Kelly, Itzik Ben-Gan and Eladio Rincion, and Microsoft team members Adam Prout, Campbell Fraser and Xin Zhang for tech-reviewing it.

It's an update of the whitepaper "Batch compilation, Recompilation and Plan Caching Issues in SQL Server 2005" by Arun Marathe, targeted at SQL Server 2008.

Disk Partition Alignment Best Practices for SQL Server Whitepaper

In the last rotation of the Microsoft Certified Masters for SQL Server 2008, I had the pleasure of having Jimmy May in the class. One topic we covered was on disk partition alignment and as I knew Jimmy had been working on the whitepaper, I got him to talk to the class on that topic.

The whitepaper is finally out and I note that another SQL friend Denny Lee is the co-author. You can download it here: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=5b343389-f7c9-43d0-9892-ddcf55890529

Book: Refactoring SQL Applications – Stephane Faroult

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)

Book: SharePoint 2007 How-To – Ishai Sagi

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.

Recommended!

CodeCampSA (Adelaide) is on again this year

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.

Only a few days left to qualify for the "Best things I learned at the PASS summit" competition

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.

Writing code with speech recognition

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:

http://www.renaissance.co.il/VSSpeech.aspx

 

SQL Server 2008 Full Text Indexing – Working out how many documents still need to be processed

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.