Book: Inside Microsoft SQL Server 2005 Query Tuning and Optimization

I haven't posted up any book reviews recently so it's time to catch up a bit. For some reason, it had taken me ages to get to read Kalen's latest book in the Inside SQL Server series: Inside Microsoft SQL Server 2005 – Query Tuning and Optimization.

As expected, it's a great piece of work. I very much enjoyed the chapters written by other authors as well, particulary those from Adam Machanic and Craig Freedman. Ron Talmage, Sunil Agarwal and Lubor Kollar have also made strong contributions to this work.

I had wondered what outcome the book would aim for. I found it to be more of a good coverage of many of the things you need to know and have a good understanding of when doing performance tuning, moreso than one that provides a pragmatic approach to what you need to do. Perhaps that's another book. This book ceratinly provides the background knowledge of much of the internals involved.

Highly recommended reading!

Finally – a good VB to VB.NET converter

It was great to see an announcement from Francesco Ballena today that his VB to conversion tool has finally hit the market. It's at and looks like the sort of tool that was needed when VB.NET was first released. It sure would have avoided a lot of angst in the community. I was particularly impressed by the quote at I'd have to say I could definitely relate to the sentiment expressed in it. Congratulations Francesco!

After 15 years of developing our application in VB3, VB4-16 bit and VB6, I was disappointed to discover that we could not move to VB.Net. Our application was too large to rewrite into the new syntax. In spite of edits made to follow the new rules, such as omitting the lower bound on Dim statements, the migration tool available ran for 5 hours and gave 1947 errors to fix; and that was just on our main application program. Using VB Migration Partner, we converted that same code to .Net in 9 minutes and had 3 compilation errors to fix, all having to do with a third-party OCX. After commenting out those lines, the application started up and ran just fine, displaying dialogs that invoke our VB6 COM servers to perform calculations and print reports. Amazing! We need to keep developing our code in VB6 for our current clients, but the batch processing and code-test-fix methodology will allow us to convert a changing code base without making the same changes twice, once in VB6 and again in VB.Net.

New Geek Toy and Upcoming SQL Down Under Podcasts

Hi Folks,

I was so pleased today to finally get my new geek "toy" installed. I bought a Rode Podcaster mike a while back but didn't get a chance to install it till today. I love the balanced arm that lets me get it positioned so well while still able to type. And then I can just push it out of the way. It's a broadcast quality mike and is in a shock mount. I've already noticed a major difference in the sound quality, including vastly reduced background noise. I've got a pop-filter for it which I might end up using too.


I had a small problem getting it working with Vista but was super-impressed that I just called their phone number, within one transfer I got to a human who immediately helped me. I have to mention it because that's so far removed from the typical service experience I have with most things nowadays.

So look out for increased sound quality on upcoming SQL Down Under podcasts. I'd taken a break from producing any for a while as I've been travelling extensively but now I'm back and they'll start to flow.

Impact of Software as a Service on ISVs

I love seeing people start to undertake research work in computing areas. There aren't nearly enough. Oscar Trimboli told me today that he's undertaking predoctoral work at present and his topic is the "Impact of Software as a Service on Australian Independent Software Vendors". Oscar is keen to recruit ISVs who are either traditional ISVs or SaaS (Software as a Service) ISVs (or a combination) that have their management and marketing decision making based in Australia. If that sounds like you, I'd encourage you to get in touch with Oscar (Oscar_trimboli @ and answer his survey questions. Alternately, if you have strong opinions about this space, I'm sure he'd love to hear them.

A description of his research topic is as follows:


Software as a Service (SaaS) is a fundamental change in the architecture of software development and distribution model that will change the way Australian Independent Software Vendors (ISVs) compete locally and globally.


SaaS is an exciting opportunity for local ISVs and simultaneously the most significant threat to the industry in the last 30 years. SaaS rapidly increases the competitive intensity of firms operating in the Australian market place as global ISVs seek to expand into the Australian market. Conversely it offers an important export opportunity for the local industry if ISVs can leverage the impact of the technology and distribution discontinuity created by SaaS.

There is a significant national economic impact through employment growth in the information economy and associated industries especially telecommunications. As a result, there are significant barriers and costs which will limit the effectiveness of Australian ISVs exporting such as the impact of national broadband policy and natural barriers to competition such as national taxation and business processes.


SaaS, as a new distribution model impacts the sales and marketing mix of ISVs. Traditional methods of face to face sales and marketing will adapt to the changing nature of the medium and the ability of prospective customers to preview the software they will actually use immediately rather than the traditional approach of presentations and demonstrations via sales and marketing staff. In parallel, ISVs paid upfront commissions to their sales organisation to access ongoing maintenance revenues from their customers.


Overall capital allocation to research and development will alter through SaaS along two major dimensions. Traditionally, ISVs have maintained multiple versions of their software as their customers where running historical versions. Customers paid annuity maintenance to the ISVs to in part help fund research and development for future versions of software and partly to fund employees which support older versions of software.


Conversely, SaaS enables the continuous maintenance on the single and most current version of the software. Customers will always be using the most current and up to date version of their product via SaaS and as a result research and development will be focused on the most current version of the product exclusively.


Capital allocation beyond research and development, focused on human and physical resources will alter the business models of ISVs going forward as they need to invest beyond software into data centres and networking competencies.


The business model via SaaS can explore alternatives in their revenue models including using upfront licensing revenues, subscription based revenues and advertising revenue based models.


SaaS is the most recent technology and business model dis-continuum facing the local ISVs, which the industry faces each decade. Very few Australian ISVs have survived the past 3 decades and the industry has a strong history of generating new ISVs which are successful during their decade.

Finally, the growth of SaaS is a function of end user adoption and these users currently have not be totally embraced SaaS applications due to security, reliability and availability concerns, despite the low cost of entry of the new SaaS applications.


OT: Internet Connection Sharing on Vista – Problem Resolution – IPv6

I've been travelling a lot lately and one of the problems that always comes up is how to share a single Internet connection in a hotel room with my wife Mai who's usually travelling with me. (She does remote SQL Server DBA work).

My colleague Fernando Guerrero suggested I try his USB-to-Ethernet adapter (a SiteCom one) and use Internet Connection Sharing. I installed the drivers for the SiteCom device (which is a good small size too) and configured ICS and it just worked. I thought this was excellent until Tuesday last week when the latest update for Vista came down from (I'm pretty sure that's what did it). Along with rebooting my machine in the middle of the day (I'd so love to discuss that with the windows update author), my ICS no longer worked.

When I tried to configure it, it provided the helpful message that "An error occurred while configuring Internet Connection Sharing". I *love* those sorts of error messages. No help whatsoever. It might as well poke you in the eye for good measure. Anyway, a search of the system event log found an error loading the IPv6 driver. What's interesting about that is I *don't* have IPv6 enabled on my connections as it tends to cause problems with various routers, particulary wireless routers.

After much frustration, it suddenly dawned on me to turn on IPv6 on the main network connection and lo and behold, ICS came back to life. So the moral of the story is that ICS on Vista now doesn't understand you disabling IPv6. It interprets it as being unable to load it. Enabling it allows ICS to work again (while no doubt returning me to router-related problems in the future).

Global Reach Awards – Congratulations to All

Each year the Microsoft Regional Director program issues Global Reach Impact Awards. It was great to see seven from our company receiving awards:

Gold Awards – Fernando Guerrero, Richard Hundhausen, Greg Low, Mauro Sant'Anna

Silver Awards – John Alexander, Shervin Shakibi

Bronze Award – Ken Spencer

The Impact Award represents Microsoft's respect for the work these Regional Directors do in evangelizing Microsoft technologies and products worldwide. That's an oustanding result for our company. Congratulations also to all other Regional Directors receiving awards this year.

OT: Books: Bill Bryson "Down Under"

I was on a flight from Houston to Washington via Dallas today. We seemed to sit forever on the tarmac in Dallas, in fact just over 1.5 hours from leaving gate to taking off. The captain was warning that if he had to stop and restart the engines one more time, we'd have had to return to the terminal for more fuel.

However, the good thing was that I finished reading Down Under by Bill Bryson. I'm a real fan of Bill's writing and this book is no exception. It provides a wonderful and very humourous summary of his trips throughout a good chunk of Australia. Bill has a way of providing insights that is sorely lacking in most authors. I found myself laughing out loud many times while reading it. I also enjoyed the extra chapter at the end about his time growing up in the U.S. in the 1950s.

Highly recommended!