Middle Kingdom Here I Come!

Back in March of 2008 I wrote a series of posts about doing business in China, high context communication and Guanxi.  These were inspired while I was attending an internal Microsoft event.  Earlier this year during a similar event, inspiration struck again and now I’m moving to Beijing!  I’ll continue to focus on driving adoption of Microsoft’s data platform, Cloud and Web technologies with a laser focus on the Chinese market.

imageI see this move as a pivotal next step in my personal development and understanding of culture, technology and emerging markets.  This type of opportunity is exactly why I came to Microsoft back in 2007.  When I go back and read my post, Todo Tiene Su Final, recounting my experiences going through IE’s Global MBA, I’m reminded of the inspiration I felt moving into that big transition in my life.

The past three years living in Seattle, working as a Technical Evangelist at Microsoft have been incredible.  Some of the highlights that stand out are:

I’m really going to miss the amazing Seattle summer, my friends and family, and being so close to Maui; but I’m ultra grateful for the opportunity Microsoft is providing.

imageI have so much to learn, not the least of which is Mandarin!  After doing some research I decided to use fluenz and I’m really impressed by it.  The passion and attention to detail the fluenz team has put into developing their products is immediately clear.  It should be an inspiration for all of us dedicated to delivering high-end user experiences.  My goal is to be conversationally proficient by end of this year.  Wish me luck 🙂

In addition to learning the language and diving deeply into the technology scene I’m planning to doing some bicycle touring and mountaineering which should be a great way to experience the country.  I’ve been getting really into photography lately and I’ll try to post more pictures here.

I find it really interesting how opportunities in life unfold.  For me it’s always been about throwing myself out there and being open to new experience and adventure.  If living in China is anything like my experience living in Spain, I’m sure it will be life defining.

If you are in China and want to connect, just let me know!

Win $10k for Building a Rad PHP App on SQL Server or SQL Azure

Whether you have an established business or have a great startup idea this is an awesome opportunity to win some cash.  The SQL Server team is running a contest for PHP developers building apps on top of SQL Server or SQL Azure with a $10,000 prize.  This includes sites built on top of WordPress or Drupal.


I’ve actually been working with WordPress on SQL and SQL Azure a lot lately and wrote an article about this contest at http://wordpress.visitmix.com which has a bunch of details of how everything works along with some ideas for building the winning app.

Good luck!

PHP on Windows Training Kit Support for Windows 7 Released

Today we published the March 2010 release of the PHP on Windows Training Kit which fixes a bug in the Dependency Checker for Windows 7. 

I apologize to anyone who tried early versions of the training kit and got the following error message.

Your current OS is not supported by the PHP on Windows Training Kit.  This kit takes advantage of IIS7 new features and will run only on those OS that support IIS7.

If your a PHP developer I’d highly recommend taking a look at this training kit.  There are bunch of really cool demos and hands on labs covering the following topics.

PHP & SQL Server Demos

  • Integrating SQL Server Geo-Spatial with PHP
  • SQL Server Reporting Services and PHP

PHP & SQL Server Hands On Labs

  • Introduction to Using SQL Server with PHP
  • Using Full Text Search over Office Documents in PHP

PHP on Windows Hands On Labs

  • IIS Access Control Features for PHP
  • Using IIS 7.0 Media Features in a PHP Application
  • Troubleshooting PHP
  • Migrating PHP Applications to IIS 7.0

You can download the latest version from the Download Center.

Connecting to SQL Azure with SQL Server 2008 R2 Tools

Back in October I wrote a post on how to connect to SQL Azure.  With the release of the November CTP of SQL Server 2008 R2 working with SQL Azure from within SQL Server Management Studio (SSMS) got a whole lot better! 

You can get a free copy of SSMS here:

Because this is a CTP you may want to install these in a Virtual PC although I haven’t had any issues.

Once you have this installed all of the issues I outlined in my previous post about the headaches involved with connecting to SQL Azure are gone.

When you launch SSMS enter your credentials.


Replace MY_SERVER_NAME and MY_USER_NAME with valid credentials which you can setup and find on the SQL Azure portal.

Make sure you have added your IP address to the SQL Azure firewall or you will get the following error.

TITLE: Connect to Server

Cannot connect to ‘<MY_SERVER_NAME>.database.windows.net.


Cannot open server ‘<MY_SERVER_NAME>requested by the login. Client with IP address ‘<MY_IP_ADDRESS>’ is not allowed to access the server.  To enable access, use the SQL Azure Portal or run sp_set_firewall_rule on the master database to create a firewall rule for this IP address or address range.  It may take up to five minutes for this change to take effect.
Login failed for user ‘<MY_USERNAME>’. (Microsoft SQL Server, Error: 40615)

The New Firewall Feature section of a previous post outlines configuring your firewall.

Assuming your credentials are correct you should see Object Explorer just like you would any other SQL Server database, which is awesome!


Once you start using the tool you will notice that things are not as integrated as they are for SQL Server.  For example, let’s create a database.

When I Right Click on Database and select New Database…  a new SQL script is created.


I can simply replace everything between <> and execute the script.


You’ll notice that once I refreshed the Object Explorer I see this new database.  Additionally, you may notice that I specified that I wanted a 10GB database with the MAXSIZE = 10GB option.  If you are just building a sample you should probably leave the MAXSIZE option off and it will default to 1GB.

To round out the example I’m going to install the Adventure Works SQL Azure database following the instructions that come with the sample.

Now when I look at Object Explorer you can see I have the full set of Tables, Stored Procs, etc.


One thing you may notice is that the Adventure Works installer creates new databases AdventureWorksDWAZ2008R2 and AdventureWorksLTAZ2008R2.  Since SQL Azure is priced per database I’ve created a request on the CodePlex site to allow them to be installed into a target database.  If you agree that it’s a good idea please vote for the item on CodePlex.

Hopefully you found this useful.  Please let me know if you have any questions.

More Information

There’s a New Microsoft PHP Guy on the Block!

You may have already run into him but I’d highly recommend following Brian Swan’s work.  He’s got a deep background working with SQL Server and is focusing a lot of his energy making sure the PHP community is successful using Microsoft technology, especially SQL Server and SQL Azure.

He’s already written some good technical articles:

Make sure to add his blog to your favorite RSS reader and follow him on Twitter.