Friday, February 4, 2011

Teaching old SQL dogs new cloud tricks – Part 2

I’m continuing onwards with my review of .


For those that are interested, Microsoft is offering a 30-Day Pass:


USA Developers: Windows AzurePlatform 30-Day Pass
We're offering a Windows Azure platform 30-day pass, so you can put Windows Azure and SQL Azure through their paces. Use promo code MSDNT1. No credit card required. With the Windows Azure platform you pay only for what you use, scale up when you need capacity and down when you don't.

One Caveat: Microsoft’s “accept this license page” is case sensitive for your first and last name --- I suspect poor quality controls of their contractors…

Chapter 3: Working with SQL Azure Databases from Visual Studio 2008

For a book published in 2010 to not use the latest edition of Visual Studio available (2010) is a little disappointing. What is confusing is that on p.106, we suddenly jumped to VS 2010 Express – suggesting that the technical editing needs to be tougher.


The structure diagram on page 96 is informative, although I would be inclined to include JAVA, Perl and other popular languages besides PHP because all of them supports ODBC which is the fulcrum factor. The author did not mention a third alternative access method, FreeTDS.


The chapter slips back into a “Hello World” tone explaining things like intellisense which is disappointing for a book asserting Enterprise content..

The author did many many pages on using SQLConnectionStringBuilder – again a “Hello World” style of explanation…


The editing of some of the graphics is sloppy as shown below:

During a blur is a quick and dirty and can often backfire – for example, we have Password=”??????;” the last “;” was left clear – does this mean that the password need to have a {;} on it always? Earlier graphics blur over the {“} leaving it unclear if the password needs to be quoted.


By the time that I reached the Summary on page 133, I started to get the feeling that the title to the book should be renamed, dropping the “Enterprise” and adding “Introduction to”. Let us see what the next chapter holds.


Chapter 4: SQL Azure Tools

One thing struck me quickly in starting the chapter was that LINQ had not been cited. Entity Framework is. Given that a large number of C# developers have adopted LINQ, it is a bit confusing to not see any mentioned yet [It shows up later on p. 286  for just 10 pages – about the same number of pages given to the SQLConnectionStringBuilder].


This chapter proceeds to do a long litany of tools without comments to direct the user to what tools are recommended and why. In general a chapter like this should describe no more then THREE(3) tools in detail and then cite alternatives (and why they never made the cut).  Dumping a long list on the user is unfair – instead of getting up to speed fast, they will be wandering and wondering around in the wilderness of tools trying to figure out what they should use.


The summary says it all:

In this chapter, we looked at tools that can be used with SQL Azure, which includes tools from Microsoft, third party, and open source. Microsoft's tight integration of SQL Server 2008 R2 with two versions of Visual Basic as well as its Management Studio-related tools such as SSMS, Import/Export, and Data; SyncFramework; SSMS; scripting support for SQL Azure; SQLCMD; BCP Utility; IIS7 Database Manager and ODATA service are described, some of them with examples. Several third-party tools such as those from SQL Azure Migration wizard, SQL Azure Explorer, SQL Azure Manager, Cerebrata, DBArtisan, Red Gate, and ToadSoft are also described.
In the next chapter, we will be using some of the tools mentioned in this chapter to migrate data from an on-site server to SQL Azure.

We looked at tools, we did not provide guidance or clear recommendations….


Chapter 5 Populating SQL Azure Databases

This chapter starts with the promise of being better focused [p.179]:

However, we will be focusing on the following topics:
• Using SQL Server Management Studio with scripts
• Using the SQL Server Import and Export Wizard
• Using SQL Azure Migration Wizard
• Migration from MySQL to SQL Azure using SQL Server Migration Assistant 2008 for MySQL
• Using SqlBulkCopy 

Personally, I would that it be trimmed to just three. The MySQL stuff could be deferred until the chapter on PHP later in the book. Walking through the examples, I would focus on the SQL Azure Migration Wizard as being the best guidance to the user. The other methods can allow issues to occur that may not be apparent and may result in lengthy troubleshooting to resolve.

By the end of the chapter I was pleased with the coverage and would recommend it for an “Introduction to” title. My expectations of this book have changed to “Introduction…” from “Enterprise”.


Tomorrow it looks like we may get into more interesting stuff, including sharded data which (IMHO) is a kludge to get some security into SQL Azure because more elegant methods available in SQL Server 2008 via SQLCLR are not available….  stay tune!

1 comment: