# Sunday, 25 October 2009

While visiting Sichuan Province in China this weekend, I traveled to the Wolong Nature Reserve. Wolong is the new home of the giant pandas after the deadly earthquake last April destroyed their last home (and unfortunately killed a panda).

Wolong is very special since it is the only place in the world where you can go into the habitat and feed and play with the pandas. While playing with the pandas, he bit me on my leg (and Kathleen on her finger!)

Now that is something that does not happen every day. No harm was done, except for a few black and blues. Of course the pandas were just playing! We all kissed and made up-after we fed them of course! :)

IMG_0687

Technorati Tags: ,
posted on Sunday, 25 October 2009 07:44:39 (Eastern Standard Time, UTC-05:00)  #    Comments [0] Trackback
# Friday, 23 October 2009

As you most likely know by now, SQL Azure is now on production servers and the team is feature complete for the PDC build. What is funny is that they did a migration in the middle of the night on Tuesday, right smack dab in the middle of the day in Bulgaria where I was demoing SQL Azure at DevReach. That lead to some funny demos crashing. What fun!

The good news is that SQL Azure now supports BCP, so you should be able to easier bulk load data on into SQL Azure. No more crazy work around like the ones I posted on this blog and on many others.

Another new feature, which took me a while to discover when all of my unit tests failed, is a firewall. You can now specify which IP Addresses can access your SQL Azure account. At first this kind of pissed me off, but I like that I can completely control who can access my account. (Especially since Microsoft will start charging soon for SQL Azure.) To set your allowed IP Addresses, just click on the “Firewall” tab in the SQL Azure manager and add a range of IP Addresses and you will be in good shape.

image

Anyway, SQL Azure support is improved in SQL Server Management Studio, however, you still can’t use the object explorer. I reviewed SQL Azure manager a week or two ago, and that still works as advertised against the new production builds.

image

If you are working with Visual Studio 2010 beta2 that shipped this week, you can use a refreshed version of the SQL Azure Explorer. The 0.2.2 version is built specifically for VS 2010 b2 and is very stable, the author on codeplex marked it now as a beta. After you download and install SQL Azure Explorer, you have to go into Visual Studio and enable extensions. You can do this via Tools|Extension Manager. You will see that SQL Azure Explorer is disabled and extensions are not available. You have to click on the hyperlink and then check the allow button in the dialog that follows. After you close and reopen Visual Studio, you will see SQL Azure Manager as the first item in the Tools menu.

image

There have been some major speed improvements to the login and object view process. Also the ability to create and drop databases, users, etc. A nice feature (that was also in the last version but I did not see it) is that you can parse your query and even format your TSQL. Pretty cool.

image

Technorati Tags:
posted on Friday, 23 October 2009 04:15:02 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Monday, 19 October 2009

The European Tour continues! I am speaking on REST and Data Access at the SDC in the Netherlands this week. Hope to see you there.

image

posted on Monday, 19 October 2009 04:12:23 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, 15 October 2009

I’ll be speaking at the CodeCamp in Cracow, Poland on Saturday. Not only will I be doing my Scrum and Data Access talks, but another speaker got sick and I will be doing a .NET Rock Interview with Richard and Carl. Should be a great amount of fun! See you there.

image

posted on Thursday, 15 October 2009 17:42:34 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Saturday, 10 October 2009

On Monday and Tuesday I will speaking at DevReach in Sofia, Bulgaria. I’ll be doing my Data Access Hacks and Shortcuts and RESTful applications with Microsoft Tools sessions as well as the Daily Scrum talk with Remi Caron.

Chris Sells is doing a keynote on Oslo and Central Europe DPE lead Luka Debeljak will be doing a keynote on Azure. Should be great. Hope to see you there.

image

posted on Saturday, 10 October 2009 06:24:12 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Friday, 09 October 2009

Here is a another pretty cool find for managing SQL Azure databases. The SQL Azure Explorer for Visual Studio 2010 Beta 1 is a neat little add-in that allows you to explore your SQL Azure databases as well as run SQL statements.

Once you have the tool installed, just fire up Visual Studio Beta 1 (I assume when Beta 2 ships the tool will be updated) and you can access the tool from the Tools|SQL Azure Explorer menu option. You have to provide your SQL Azure login credentials (you may have to put as the login your username@servername)

image

After you have logged in, you will see the Object Explorer tree. You can drill into the database objects or select the top 100 rows of a table or view.

image

You can also right click on the database and say “Open SQL Editor” and type in SQL Statements against your SQL Azure database.

image

If you are using Visual Studio 2010 beta 1 and spend a lot of time in Visual Studio, you may want to give the SQL Azure Explorer a try since you won’t have to leave Visual Studio.

Enjoy!

Technorati Tags:
posted on Friday, 09 October 2009 04:15:54 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Thursday, 08 October 2009

Last month I showed how to manually migrate schema and data from SQL Server 2008 to SQL Azure. I also mentioned the SQL Azure Migration Wizard developed by George Huey in that post. Since then George has updated the tool (currently on 0.2.7) and it now has some great features that make it far more compelling than creating and fixing scripts generated by SQL Server.

To get started, the tool will allow you to select a SQL Server database and then ask you to select which objects to migrate.

image

It will then do an analysis of your database and attempt to fix the problems. For example, if you have a table with a TEXT column, it will automatically make it a varchar(max) and will also unbind XML schemas and UDTs. It will remove keywords (like PAD_INDEX as shown below) not supported by SQL Azure.

image

After you connect to SQL Azure, the tool makes a script for you. You have the option to run the script as is, or you can save it to disk, or you can modify it in the window and run it in real time. The scripts have good comments in there telling you about some potential problems like XML data types, etc. After you play with the script, you can execute it and the tool will let you know the success or failure of the script.

image

Now that you have migrated the schema, the hard part is over. Next you can migrate the data. The easiest way to do this so far is via Red Gate SQL Compare as I showed last time or via scripting the data via the SQL Server script wizard. To get there right click on a database in SQL Server 2008’s SQL Server Management Studio and select Tasks|Generate Scripts. After you select your database you are brought to the Choose Script Options dialog. Turn off all of the other options except “Script Data” and choose on the next screen only the tables you have moved using the SQL Azure Migration Wizard.

image

After you choose the tables to move over, you can then choose to send the script to a new window. You will notice that the only thing that was scripted was the INSERT INTO statements.

image

Now select the tab that contains your query and then choose Query|Connection|Change Connection from the main menu. Enter in the login credentials you have for your SQL Azure account and then click on the Options tab and enter in the name of the database you are connecting to. After you connect you can attempt to run your query. Just make sure that your script will be compatible with SQL Azure before you run it. Meaning if you removed any XML data types, etc, using the Migration tool, you will have to do the same to your script. There is always some cleanup to run, but is pretty straight forward. For really large databases, you may want to highlight sections of the script and run it a table or so at a time to prevents timeouts to SQL Azure. You will also have to make sure that you arrange the script to sequence the INSERTs to coincide with the foreign keys constraints. SQL Server is smart enough to put Order before Order Details, but not all objects does it do this for you.

image

When you are done you can view your database using the SQL Azure Manager I talked about yesterday.

image

Enjoy!

Technorati Tags:
posted on Thursday, 08 October 2009 05:52:46 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback
# Wednesday, 07 October 2009

As I showed on this blog a few weeks ago, SQL Server Management Studio support for SQL Azure leaves a lot to be desired. No changing databases, no object explorer, and no easy way to connect. Good thing that Maarten Balliauw and Juliën Hanssens built the SQL Azure manager. It is available here. It is listed as a proof of concept and “highly unstable” but after a few days of playing around with it, I have encountered almost no problems. The tool is available only as a click once application that runs online with no install, so you can try it out risk free.

Maarten and Julien describe the tool as: SQL Azure Manager is a community effort to quickly enable connecting to your SQL Azure database(s) and perform basic tasks…

That is an understatement, the tool is great and saves lots of time. After the brief install, I was promoted with the login screen and I put in my login credentials and was off to the races.

image

The first thing you notice is that out of the box we have two much needed features, the ability to change databases and a full fledged object explorer. You can expand to see Tables and Views, but not Stored Procedures.

image

I have a stored procedure in this database and can’t see it in the Object Explorer, so I decided to make my fist query a simple one:

select * from sys.objects
Where type='P'

A pretty awesome feature is that you can hit F5 just like you would in SSMS and get the results as you can see here. I was able to write several TSQL queries and browse the results without any problem. When you right click on a table it will give you the option to Select the top 100, Select All, or delete the object. Pretty cool.

image

Another cool feature is that you can drag a column up to the top to automatically sort. Here I sort by City in the Customers table.

image

My only issue was that after a while, the tool times out, I suspect that this is a SQL Azure thing.

The tool makes it very easy to delete objects and databases as well as create new database. (Careful with the delete database feature!!!)

While this is a 0.1.7 release, it is worth playing with. It will save you lots of time when managing your SQL Azure databases. The roadmap to a 1.0 release is to convert to WPF, move the app to codeplex, and make it more stable.

Thanks to my colleague Aditya Pendharkar at Telerik for finding this gem of a tool.

Technorati Tags:
posted on Wednesday, 07 October 2009 03:44:35 (Eastern Daylight Time, UTC-04:00)  #    Comments [0] Trackback