Well now that the dust has settled it’s time to seriously blog again. In any event, as some of you may know I have changed roles and I’m now a Technical Evangelist for Windows Azure and SQL Server / SQL Database. What I’ve learned in this new role, is that this is a lot to get across. So I figured I’d blog as much about how to learn this stuff as I could. Two kill two birds with one stone I plan to do any and all practices, samples, development and labs in Windows Azure. I will use the IaaS Virtual Machines where necessary, and standard Windows Azure features everywhere else.
To attain SQL mastery, one should follow the certification paths for MCSA SQL Server, MCSE Data Platform, and MCSM Data Platform. Starting with the MCSA SQL Server we have three exams: 70-461 – Querying Microsoft SQL Server, 70-462 Administering Microsoft SQL Server 2012 Databases, and 70-463 Implementing a Data Warehouse with Microsoft SQL Server 2012. The interesting part is that for the first exam 70-461 you need databases set up, which you learn how to do for the second exam 70-462. So I’m going to talk about the second exam first.
To learn the material for this exam, I am using the MS Press study guide: Training Kit (Exam 70-462): Administering Microsoft SQL Server 2012 Databases (hereafter referred to as ‘the book’). In the introduction of the book, the authors have provided setup instructions for configuring the lab servers. However, the configuration is for local Hyper-V installations based on Windows Server 2008 R2. What I want to do so that I can study and do the labs from anywhere and on any device, is set up this environment entirely in Windows Azure. There are a couple key things you need to consider when doing this.
At this point, you can follow the tutorial through backing up your new DC. Then proceed with the book from page xx Prepare AD DS.
Where the book starts having you add member servers to the domain, (page xx Prepare a Member Server and Join It to the Domain) you can create Windows Server 2008 R2 SP1 editions from the Virtual Machine Gallery. Don’t be tempted by the Microsoft SQL Server 2012 Evaluation images! If you do that, you won’t get to do the SQL Server install exercises in the book. Not to mention, they may not come out configured correctly.
For each of the members servers, make sure you attach it to the storage account and the virtual network you set up in step 3 for the region and Windows Azure account you want to set the lab environment built in.
If you don’t do this, it may set it up in the wrong region, or if you have multiple Windows Azure accounts associated with your logged in Microsoft ID, it may get set up in the wrong account.
Each of your member servers will need to have it’s DNS values set, and it will need to be joined to the domain. If you did not set up your own DNS server when you initially configured the Windows Azure Virtual Network, you will need to set up the DNS server entry in the network configuration first. Once you do that, you can then join the server to the domain. Just follow the commands in the book for this. Since you already named your servers during the Windows Azure setup, you can skip the part about renaming the server. From an elevated command prompt just run: (you can safely ignore the warming about the service not being started)
netsh interface ipv4 set dnsservers “Local Area Connection 2” static 10.10.10.xx primary
netdom join SQL-B /domain:contoso.com
If you have changed things to suite the Windows Azure environment, you will need to adjust these commands for:
Feel free to add the /REBoot option to the netdom command to get it to automatically restart the machine because you have to do that next anyway.
TIP: If you try to copy and past the commands above into the command prompt window you may get an error saying the command has the wrong syntax. That is because of the little hidden extra bits that are copied from the HTML to the command window. It’s better, and likely necessary, to just type the commands into the command window.
So the next issue to conquer, since you were patient and didn’t use the SQL Server 2012 image from the gallery, is to actually get SQL Server installed onto these machines as you go through Chapter 1 Planning and Installing SQL Server 2012 EXERCISE 1 System Configuration Checker . While data ingress into Windows Azure is free, it’s still not instant. So downloading SQL Server Eval or SQL Server Enterprise from MSDN still takes time. What I did is set up a staging server to download installation files to, and then use that as a file server for the other machines. In my case I used SQL-A as my file server. Setting up a files server on the Windows Server 2008 R2 VM is exactly like setting it up on a physical or Hyper-V based server. If you haven’t done this before, it’s worth learning and you can start here: ( http://technet.microsoft.com/en-us/library/hh831487.aspx ) for information on File and Storage Services for Windows Server 2008 R2.
I downloaded the files to the temporary storage drive. Created a folder there, and then set that folder up as a share. I gave other Domain Members access to the share so that my other machines in the domain on my Virtual Network can pull the install files from there, rather than over the Internet. It’s much faster that way.
The files I downloaded are:
I used PowerISO to mount the .ISO image of the SQL Server installation media. Once you have that set up, it acts just like a DVD drive.
Out of the box, when I ran the SQL Server Configuration Checker, everything passed. So you shouldn’t have to download any .NET frameworks, or other files. You will have to install .NET Framework 3.51 from the Server Manager – Features wizard though.
Once you start going through Exercise 2 Installing the SQL Server Database Engine you will get to step 19. It mentions the ConfigurationFile.ini will save the configuration you used. I suggested copying this file to you Software Share so that you can copy it to other SQL Server installs when you want to quickly duplicate this SQL Server installation.
The installation will seem to hang on an Install_.NETKBblahblah_Action but don’t worry, it’s still working. It has to download and configure some of the .NET stuff and it' takes a bit. Pretty soon the install will chug right along.
At this point, you are pretty much over the hurdles with getting SQL Server up and running on a Windows Azure Virtual machine. The book will walk you though the rest of the exercises, and they should work just fine on the Windows Azure infrastructure.
This is great information but how much would having all this running cost?
In the book it wants to use a 2 letter machine name for the DC(in fact it's "DC"). Will it have an impact on my study experience if if I name it something else?
First, I was able to run this on my MSDN subscription well within the credits. So while I didn't calculate it out exactly, I would guess it will be about $1.15 / hour while they are running. There is a price calculator for Azure here: www.windowsazure.com/.../calculator
You can call the machines whatever you like, as long as you remember what you called them and when the documentation refers to DC, you replace that with whatever you called it in all locations. (Code, Scripts, Docco, Config)