Thursday, January 23, 2014

Encryption in SQL Server (Part 3)

Now that we have the database setup for encryption as shown in Parts 1 and 2 of this series, it is time to actually encrypt the data in the database and view the data in decrypted form.

The great thing about all of these encryption capabilities being built into the SQL Server engine is that the commands that you use to encrypt/decrypt the data is very easy, in fact it is using the same commands you are already using to with some minor differences.

Before updating the data a new column that is in VARBINARY datatype will be required, since that is the datatype required for encrypted values:
ALTER TABLE Person.Contact
   ADD Phone_encrypt VARBINARY(128);
The length of the VARBINARY column will vary based on the length of the data you are encrypting and the type of algorithm being used. To find out what length of VARBINARY will work best for you, it is a good idea to setup a test where you populate the maximum length value of the column you are going to encrypt and do the encryption into a VARBINARY(MAX) column and use the DATALENGTH function to find out what the length of encrypted data comes to. Hopefully you are not encrypting BLOB data or other very large columns, in most cases a VARBINARY(128) or VARBINARY(256) will cover you, but setup the test as described if you have any doubts as you don't want to truncate the encrypted data.

The command to populate the new encrypted value column is a simple UPDATE command that you are already used to:
OPEN SYMMETRIC KEY AdventureWorks_SymKey DECRYPTION BY ASYMMETRIC KEY AdventureWorks_AsymKey; 
UPDATE Person.Contact SET Phone_encrypt = EncryptByKey(Key_GUID('AdventureWorks_SymKey'), Phone);

CLOSE SYMMETRIC KEY AdventureWorks_SymKey; 
http://technet.microsoft.com/en-us/library/ms190499(v=sql.105).aspxhttp://technet.microsoft.com/en-us/library/ms174361(v=sql.105).aspxhttp://technet.microsoft.com/en-us/library/ms177938(v=sql.105).aspx
This will replace the values that are in the column specified in the UPDATE command with the encrypted version of that value using the Symmetric Key. Depending on the amount of data in your table and the specs of the computer/server this operation should not take very long to complete, in most cases no longer then it takes to perform that same UPDATE command without the encryption.

Notice the OPEN and CLOSE commands that are wrapped around the UPDATE, those are required as you need to make the Symmetric Key that you are using for encryption available and this is done by opening it. For good practices and security is best to then close the key after you have completed the work that you need to do.

Now that you have encrypted the data in that column, lets decrypt the data and see if comes back as the same value that you originally encrypted.

There are a couple of different ways to write the SELECT statement that does the decryption, first is using the Asymmetric Key directly:
SELECT Phone_encrypt, Phone,
CONVERT(nvarchar(25),DecryptByKeyAutoAsymKey(AsymKey_ID('AdventureWorks_AsymKey'), NULL, Phone_encrypt, 0)) AS 'CustomerPhone_decrypted' FROM Person.Contact;
http://technet.microsoft.com/en-us/library/ms365420(v=sql.105).aspx
And the other way is to open the Symmetric Key as was done above to perform the UPDATE and use it to do the decryption:
OPEN SYMMETRIC KEY AdventureWorks_SymKey DECRYPTION BY ASYMMETRIC KEY AdventureWorks_AsymKey; 
SELECT Phone_encrypt, Phone, CONVERT(nvarchar(25),DecryptByKey(Phone_encrypt))) AS 'CustomerPhone_decrypted' FROM Customer.Contact;
CLOSE SYMMETRIC KEY AdventureWorks_SymKey; 
http://technet.microsoft.com/en-us/library/ms181860(v=sql.105).aspx
Either way you do it you notice that you will have to convert the decrypted value returned into a datatype that you can use, as both the DecryptByKeyAutoAsymKey and DecryptByKey will return a VARBINARY datatype. The DecryptByKeyAutoAsymKey function is very useful in views as it doesn't require the OPEN/CLOSE statements.

It is also worth mentioning the GRANT statements that will be required to give the appropriate rights to be able to see this decrypted data for users.
GRANT CONTROL ON ASYMMETRIC KEY::AdventureWorks_AsymKey TO User1;
GRANT VIEW DEFINITION ON SYMMETRIC KEY::AdventureWorks_SymKey TO User1; 
http://technet.microsoft.com/en-us/library/ms187991(v=sql.105).aspxhttp://technet.microsoft.com/en-us/library/ms179887(v=sql.105).aspx
Notice that CONTROL has to be granted to the Asymmetric Key and only VIEW DEFINITION is required on the Symmetric Key. These are the lowest grants necessary for the keys to work for any user needing to execute either of the SELECT commands shown above. The decryption functions will not work unless the appropriate grants are issued on BOTH the Asymmetric and Symmetric Keys.

Now that we have encrypted data in the database and verified that the encryption works by decrypting that same data via a SELECT statement I will use the 4th and final part of this series to show you how to restore backups of a database that contains encrypted data on another server and still be able to decrypt the values.

Friday, January 3, 2014

Encryption in SQL Server (Part 2)

This is part 2 in my posts on setting up encryption in SQL Server. To get the details on how to setup encryption on your SQL Server instance and the database, please read part 1 first.

Now that we have the SQL Server instance and database ready to encrypt our data we can go into details on how the individual columns of data will be encrypted in the database. At this point you also have some decisions on what types of keys you want to have created and how strong the cryptography algorithm will be protecting them.

Before diving into the next layers of keys, it is important to understand the differences between Asymmetric and Symmetric Keys and how SQL Server handles each. This article on TechNet - Cryptography in SQL Server does a great job explaining the differences.

The recommended best practice is to setup an Asymmetric Key as the next layer and make this key as strong as you can and use a Symmetric Key to do the actual data encryption. The reason for this is that Asymmetric Keys require a lot more processing power to use, so you only use the Asymmetric Key to protect the Symmetric Key. The Symmetric Key is what is used to actually encrypt your data, then only when the Symmetric Key is first being accessed does the system have to decrypt the Asymmetric Key. Otherwise you will have to pay the Asymmetric Key processing cost every time a value is being encrypted or decrypted.

In SQL Server you have many options when creating these Asymmetric Keys, but the one most often used is RSA_2048. This is currently the highest level of security that SQL Server supports for Asymmetric Keys. Below is the command you use to create the Asymmetric Key:
IF NOT EXISTS
(SELECT * FROM sys.asymmetric_keys WHERE [name] = 'AdventureWorks_AsymKey')
CREATE ASYMMETRIC KEY AdventureWorks_AsymKey WITH ALGORITHM = RSA_2048;
http://technet.microsoft.com/en-us/library/ms188357(v=sql.105).aspx 
The naming of these keys is important, as you will need to reference this key in other commands to do the encryption/decryption so make sure you pick a name you can keep track of.

As mentioned above you will also need a Symmetric Key to do the actual data encryption that uses the Asymmetric Key. With Symmetric Keys you have to use a different set of algorithms because Symmetric Keys work differently than Asymmetric Keys as they have a pair of keys created (public/private). To get a great overview of what Symmetric Key encryption is see this HowStuffWorks article. Below is the command to create a Symmetric Key:
IF NOT EXISTS
    (SELECT * FROM sys.symmetric_keys WHERE [name] = 'AdventureWorks_SymKey')
    CREATE SYMMETRIC KEY AdventureWorks_SymKey
        WITH KEY_SOURCE = 'I82xskoiw820KOW>282kxow',
            ALGORITHM = AES_256,
            IDENTITY_VALUE = 'w,xi292XWE82S92iqoxl*&23'
        ENCRYPTION BY ASYMMETRIC KEY AdventureWorks_AsymKey;
http://technet.microsoft.com/en-us/library/ms174430(v=sql.105).aspx 
I used AES_256 as the algorithm in this Symmetric Key as it is the strongest algorithm allowed at this time in SQL Server. The DES and RC algorithms are not recommended as they have all been cracked and could make your encrypted data accessible.

As I learned how to use these keys in my prototyping I ran into an important issue that I want to highlight here. When you create the Symmetric Key it is very important that you be able to re-create the exact same key if you accidentally lose that key. Since the Symmetric Key is going to be used to do all of the data encryption, if that key is lost you will not be able to get your data back in decrypted form if you lose it. This is where the KEY_SOURCE and IDENTITY_VALUE parameters of that command come into use. As long as you make sure to use those same values then you can recreate the same Symmetric Key (assuming you have the Database Master Key and Asymmetric Key setup the same as well, I will cover how to get this setup if you have moved to another server in a later part of this series).

There are no commands to backup the Asymmetric or Symmetric Keys like we had for the Service Master Key and Database Master Keys. If you decide to use Certificates over the keys, then you can backup the certificates. I have not used certificates in the systems that I setup encryption on, mainly because SQL Server currently does not fully handle certificates as it should. If you would like to get more details on creating certificates in SQL Server, see this TechNet article: http://technet.microsoft.com/en-us/library/ms187798(v=sql.105).aspx.

Now we have laid all of the groundwork for setting up encryption on your SQL Server database, so the next part we will start to actually encrypt data and decrypt that data as well!


Tuesday, December 31, 2013

Best of 2013

As 2013 comes to a close I wanted to highlight some of what I think are the best of 2013 that I enjoyed outside of work.

Best Movies
  1. Gravity
  2. Fast & Furious 6
  3. Man of Steel
  4. Pacific Rim
  5. The Hobbit: Desolation of Smaug
  6. Iron Man 3
  7. Thor: Dark World
  8. Lincoln
  9. American Hustle
  10. The World's End

2013 was a great year for movies and by far, Gravity was the best of the year. I was able to see Gravity in a large format digital theater with 3D and Dolby Atmos, which made for an amazing experience that I felt like I was floating right alongside Sandra and George in space! FF6 extended that franchise even more and has me looking forward to FF7 in 2015. Not sure what the death of Paul Walker with do to the series future, but I am happy to see that they are going to push ahead and finish it and release it in April of 2015. Man of Steel was the best of the superhero movies in 2013, and is the first time a good Superman movie has been done since 1978.

Best TV
  1. Orphan Black
  2. Doctor Who
  3. Game of Thrones
  4. The Walking Dead
  5. The Goldbergs
  6. Big Bang Theory
  7. Almost Human
  8. Broadchurch
  9. Masters of Sex
  10. The Fall

TV did have some stand out new shows this year, but the new thing for me this year was discovering 2 shows and binge watching them both online. The first one that I binge watched was Orphan Black and it shot straight up to the top of my list as the best TV show of 2013! They have done a great job in the first season of keeping us going with the whole clone storyline, if you have not seen this show from BBC America yet, then you should. Unfortunately it is not yet available on any streaming services, I ended up buying the first season from Amazon Video and watched all 10 episodes in less than 1 day, that is how hooked I was! The other one that I discovered is The Fall, which a serial killer mini-series starring Gillian Anderson (The X-Files) set in Northern Ireland and with Gillian doing her Brit accent (she lived in Britain early in her life and moved back after The X-Files finished). The Goldbergs is one of the funniest shows that I have seen since Big Bang Theory, and most of that is probably because of the setting in the early-mid 1980's. Growing up in the 80's, this show just brings back so many memories, they have done their homework and you just have to look around at the props on the set to see that. Agents of S.H.I.E.L.D. did not make my top 10, mainly because it just didn't live up to the hype, I have high hopes that it can do better in 2014.

Best Music

I don't listen to a lot of new music, but the one album that I played over and over in 2013 was Random Access Memories from Daft Punk. It has been amazing to watch them change their sound over and over and evolve from just another electronic group to a true musical group. The mix of 70's funk/disco to their music made this by far my favorite album of the year. Most of the rest are just a bunch of individual singles from different artists (JT, Katy Perry, Lorde, Miley Cyrus, etc.), but Random Access Memories was the best overall album. The rest of what I listened to in 2013 were soundtracks from all of the movies listed above and more. I think that my favorite soundtrack of the year would have to be Man of Steel. I never thought that anyone could make a better Superman theme or soundtrack than John Williams, but Hans Zimmer did for Superman what he did for Batman and created some amazing new themes. The themes in Man of Steel were so alien sounding, but yet heroic and strong at the same time, which captures exactly what Superman is.

Best Gadgets

For best tech gadget of 2013, it would be the new Apple iPad Mini with Retina. I was a long time full-size iPad user, but I found that it was too big to travel with and when Apple finally announced the new iPad Mini with Retina display, then I decided it was time to switch. I love how small and light it is and I find myself taking it with me everywhere. I also made sure to get mine with Verizon 4G, which I also had on my previous iPad and would never consider getting a tablet without 4G. It's just far too convenient to use it anywhere and not have to worry about finding wi-fi. I also love my MacBook Air that I got at the very beginning of the year, the only issue now is the iPad Mini has become my go to device, so the Air doesn't get a lot of use. I also made the big switch from iPhone to Windows Phone in 2013, when the Nokia Lumia 1020 came out. I had been thinking about this switch for awhile and when iOS7 didn't make the big change that I was hoping from I knew it was time to switch. The 41MP camera on the Lumia 1020 is amazing and I find myself taking a lot more pictures now. The Windows Phone 8 OS took some getting used to, but now I can do everything that I need to and paired with my iPad Mini, I get the best of both worlds. A couple of other great gadgets that I use with both the iPad Mini and the Lumia 1020 are the headsets, Bose QuietComfort 15 and Bluez AfterShokz. I use the Bose on the plane or anytime I need to use active noise cancelling, while the AfterShokz are great for in airport or office wear when I still want to hear what is going on around me. While I did get the new Xbox One, the verdict is still out on that one. I tried it connected to my Dish Network DVR, but since it can't control everything on the box, just change channels it was very limiting since I do watch most TV from DVR, not live. And the voice commands that they keep boasting are still not there and I find myself yelling at it because it appears to not understand me most of the time. The new Kinect camera is amazing and works much better than the previous generation.

Best Enterprise Tech

And for something more related to my work and this blog, my favorite new enterprise tech that I haven't spent nearly enough time with this year, Microsoft's Power BI! I plan to spend a lot more time learning all of the features of Power BI and hope to post a bunch of blog posts about it, as I learn how to use it.

Thanks to everyone that reads my blog, and I hope you had a great 2013 and are looking forward to an awesome 2014!

Thursday, December 26, 2013

Encryption in SQL Server (Part 1)

Recently I have been doing some work to add encryption to an existing SQL Server 2008R2 database for a client and I learned a lot about how TDE or Transparent Data Encryption works in SQL Server. The requirements for adding encryption in this case was that only certain columns in some tables of the databases would be encrypted, so I could not encrypt the entire database or tables in a database (this is possible in SQL Server though). Also one of the main requirements was to leave the datatype for the column that would be encrypted the same, and mask the data in that column. So, all of the actual encrypted columns would be new columns added to the appropriate tables. It was also required that the only way to access the decrypted values was by using new views that did the decryption.

With those requirements set I started to learn how to setup encryption in SQL Server and found many TechNet articles that helped me. To begin with some of the great resources for introduction to encryption in general are:
These posts helped me to get an idea of how best to setup the different keys/certificates that are required in SQL Server to make the encryption work and also provide the required security to lock down who could access the decrypted values. The important thing to realize about setting up encryption is that SQL Server is using a layered approach, you aren't just setting up one set of keys and then you are done. Instead you are setting up multiple keys that each use the previous key to build the next (see Encryption Hierarchy article for graphical representations of this).

In SQL Server you start with the Service Master Key (SMK) which is setup for your automatically when you install a SQL Server instance. This key is protected by the Windows OS itself using the Data Protection API.

The next layer of key is the Database Master Key (DMK), which is required on each database that you will be using encryption in. The DMK is created by issuing a command on the database you want to create it on.

IF NOT EXISTS
   (SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)
   CREATE MASTER KEY ENCRYPTION BY
   PASSWORD = 'Ils20*(LKjqwnslqo372,cklweLKHJn'
 http://technet.microsoft.com/en-us/library/ms174382(v=sql.105).aspx

In order to create the layers of keys required to actually do the encryption of your data you must have the DMK already created in each database. There can be only one DMK per database in SQL Server and it is protected using the password supplied and the Triple DES algorithm (AES_256 is used in SQL Server 2012 and above). Since automatic decryption of the DMK is required for use by other SQL Server commands, a copy of the DMK is also protected using the SMK and stored in the database it is created in along with the master database. This copy of the DMK is the one that can be updated easily as you move the database or it's backups from server to server and still allows you access to the encrypted data without requiring you to decrypt all of the contents and then re-encrypt them again using the new DMK. Updating the DMK is done with the ALTER MASTER KEY command (http://technet.microsoft.com/en-us/library/ms186937(v=sql.105).aspx).

Since all encryption is dependent on both the SMK and DMK, it is also good practice to backup both of these keys to files for safe keeping, which can be done with 2 commands:

BACKUP SERVICE MASTER KEY
    TO FILE = 'C:\localhost_SMK.smk'
    ENCRYPTION BY PASSWORD = 'ADa329wopkj*&ER.slkqksl'
http://technet.microsoft.com/en-us/library/ms190337(v=sql.105).aspx

BACKUP MASTER KEY
   TO FILE = 'C:\localhost_AdventureWorks_DMK.dmk'
   ENCRYPTION BY PASSWORD = 'U982LKJOWlkslpq&^@#lskjnkxOPx.w'
http://technet.microsoft.com/en-us/library/ms174387(v=sql.105).aspx

The password that is supplied with these BACKUP commands is only used to encrypt the files that are created on the file system. In order to restore these files, the appropriate passwords will be required, so they should be kept safe for future reference (as should all passwords created for these keys).

This will get your SQL Server instance and database all setup and ready to encrypt the actual data stored in them.

In my next post I will cover what Asymmetric Keys and Symmetric Keys are and how they are created and used in SQL Server to encrypt your data.

Friday, December 13, 2013

SQLSaturday #271 Albuquerque

I'm a bit late in getting the news out on my blog, but I will be presenting at SQLSaturday #271 in Albuquerque, NM on January 25th! I will be presenting my new "Master the Date Dimension Like a Time Lord" presentation that I did for the first time at PASS Summit 2013 as a Lightning Talk.

Now you will be able to see it as a full hour long session and dig into all the details on using a single script to create a Date Dimension that can cover all of the uses you can think of for a data warehouse! And yes, if you can't tell from the title of the session, there will be references to my current favorite TV show, Doctor Who mixed in! :)

Please register to attend SQLSaturday #271 and I'm looking forward to going into Albuquerque early to enjoy the area with my family and see all of you at the event on 1/25!

Wednesday, December 11, 2013

Denver SQL Server User Group Holiday Party

Instead of our normal monthly meeting next Thursday (12/19), the Denver SQL Server User Group will host a Holiday Networking Party sponsored by TekSystems at Great Northern Tavern (8101 East Belleview Avenue, Denver CO 80237). We will have limited space, so if you want to come you will need to RSVP at http://denversqlugholiday2013.eventbrite.com. The party will start at 5:30pm and go until we get kicked out of the room or run of things to talk about! There will be appetizers and a limited number of drink tickets as well as some prizes to give away. It will be a great time to get together and just talk about whatever we want to, no formal presentations, just food, drink and good company! :)

As a courtesy to others that may want to come, please only RSVP if you know you can attend and if you have RSVP'd and find that you can no longer attend, please cancel your RSVP via the EventBrite page.

Also, while I'm talking about DSSUG, just wanted to send out a quick thank you to everyone that used our PASS Summit 2013 registration discount code. The group will receive $250 from PASS because of the number of people that used the code for their registration to PASS Summit 2013! We will be sure to put that money to good use for the group in 2014. Keep your eyes out in 2014 for more of this type of registration discount code for other conferences.

Tuesday, November 26, 2013

Master the Date Dimension Like a Time Lord

Just finished presenting my "Master the Date Dimension Like a Time Lord" session as part of the Pragmatic Works free Training on the T's webinar series! Had a great crowd with lots of good questions and feedback along with some Doctor Who trivia as part of the pre-show. Couldn't resist the Doctor Who trivia as the presentation is themed around the 50th Anniversary of Doctor Who, which just happened last Saturday!

Below is the link to download the slides and script, please feel free to use the script as you need to. There are a few things that have been pointed out about using NUMERICs instead of INTs, sorry those are leftovers from converting this script from Oracle to SQL Server.



The recorded version of the session is available here.

For those that are having issues with the iframe link above for the slide/script demo files, please try this link.

Wednesday, November 20, 2013

More SSDT Changes

I just realized after an exchange on Twitter that I had not posted about the recent announcements about the recent changes to SSDT!

Previously I posted about the split of the Business Intelligence projects from SQL Server Data Tools (SSDT) into SSDT-BI when CTP1 of SQL Server 2014 was released in June. As I mentioned back then I thought this was a strange idea that SSDT needed to be split up this way since we had BIDS (Business Intelligence Development Studio) back in the SQL Server 2005/2008 days and when SQL Server 2012 was coming out they changed that name to SSDT and added the database projects to it as well as all of the BI projects (SSAS, SSIS and SSRS). Now, with SQL Server 2014 it looks like the teams at Microsoft have again decided that these tools need to be split up even with some of the database project functions being included with Visual Studio 2013 at release.

I don't know about any of the behind the scenes stuff that might be going on at Microsoft related to this, but just be aware with SQL Server 2014 there are 2 separate tools and neither of them will be included in the installer (at least as of the last few weeks of posts that I have seen on the Microsoft blogs). You will have to download SSDT and/or SSDT-BI separately from the web. Also there is even more confusion over what you are able to have integrated into the different versions of Visual Studio with Visual Studio 2013 now available.

To help clear up the picture a bit, check out this blog post from Matt Masson from the Microsoft SSIS team: http://www.mattmasson.com/2013/10/sql-server-data-tools-business-intelligence-downloads/. This picture should get much clearer in the next months as SQL Server 2014 is finally released. Also, here is a good post from the SQL Server Blog that also gives all of the download links for SSDT and SSDT-BI as it stands right now: http://blogs.technet.com/b/dataplatforminsider/archive/2013/11/13/microsoft-sql-server-data-tools-update.aspx.

As always I will keep up with all of the news around SSDT and SSDT-BI as I use those tools a lot today and I'm very curious how it will all work with SQL Server 2014 and on.

Saturday, November 16, 2013

STS-129 Tweet-Up 4th Anniversary

100_7481Today is the 4th anniversary of a very special opportunity that I was able to take part in thanks to NASA's community outreach program via Twitter. Back in 2009 when Twitter had been around for awhile, but not even close to the popularity it has today, I had heard about Twitter but wasn't too interested in it. That all changed when I heard about events being held to gather people that used Twitter to help spread the word about whatever the Tweet-Up sponsor invited them to. NASA had done a few of these Tweet-Ups for events, including going to Johnson Space Center to see Space Shuttle launches or communicate with International Space Station (ISS) crews. NASA was doing a fantastic job using all of the social media tools available to get those of us excited about space exploration to help spread the word and best thing was it was pretty much free advertising for an agency that keep getting it's budget reduced more and more each year. Also during this time the Space Shuttle program end had already announced, so it was important to capitalize on the last few manned space launches that would be going on until a decade or more in the US.

STS-129 was the designation for the launch of Space Shuttle Atlantis, on November 16, 2009 at Kennedy Space Center, Florida. I have always followed the space program and NASA, and still get very emotional about the Challenger and Columbia tragedies as I followed both of them, watching as many launches and landings live as I could (assuming they were being covered by news media of the time). When I heard that NASA was going to invite a group of Twitter users to Kennedy Space Center to witness the launch of Atlantis, I made sure I was signed up on Twitter and submitted the necessary details to NASA to be part of this event. I was shocked that I was selected from a group of hundreds, maybe even thousands of people who had entered for this random drawing. For this Tweet-Up NASA had selected a pretty small group as it was the first Tweet-Up that they were doing for a Space Shuttle launch.

What a lot of people didn't understand about being selected for this Tweet-Up is that NASA was not paying those that were selected, or were they covering any of our expenses to get to Florida or stay there for the multiple days that may be required if there were delays in the launch. But, they did provide us access to the facilities and people, including us being able to take pictures at the nearest that anyone not working for the Space Shuttle program is allowed on the day before a launch. That is where this picture that I have used as my profile picture on various online accounts for years was taken.

Steve and Atlantis

I was beyond excited the whole time that I was there. I had taken a few trips to Kennedy Space Center over the years, including a trip with my grandparents when I was 10 years old, but I never got to see a Space Shuttle launch in all of my trips. I tried to time trips in the past, but it never worked out. I was able to see an Atlas launch on one trip with the family, when I got up before dawn and drove out to an area that I heard had the best view of launches from the Cape Canaveral launch site. It was awesome to see that launch with my own eyes, but nothing compares to seeing a Space Shuttle launch.

As the launch morning came on November 16, 2009, I don't think that I slept much at all the night before and we had to get to a specified location to park our cars very early that morning and get on the bus that would get us to the press site. The launch was not until early afternoon, but we had to be onsite earlier since they lock down the area once it gets closer to launch. NASA has setup a tent for all of us to use for our computers with the NASA TV live feed being shown on multiple screens and a series of different speakers to help keep us occupied over the hours. It was extremely hard to stay in that tent though, knowing that a Space Shuttle was going to be launching soon! I took way too many pictures of the famous countdown clock that is there at the press site, but I knew that this would probably be the one and only chance I had to do this with the end of the Space Shuttle program coming and no clear picture what the future would be. As we got to within 30 minutes of the launch the tent was emptied and we all headed out to find the best spot to capture the moment. I debated if I was going to watch the launch through a camera viewfinder or try to just enjoy it with my eyes and ears. I decided to try and do a combination of both as much as I could. I spent some time trying to get some really good pictures as the engines started and then switched to video so that I could just let it run and watch it as well. It was even more awesome then I could have ever imagined and I still remember the delay in the sound and when it finally came how it almost physically knocked me back and I also remember all of the car alarms going off in the parking lot behind us afterwards as the sound echoed off of the Vehicle Assembly Building (VAB).

100_7572

It was an experience that I will NEVER forget and I thank everyone at that worked in the NASA outreach team at the time for the opportunity to participate in this and help NASA as much as I could. I look back on it now it was the beginning of an amazing journey for me as I started to use Twitter more and more at that time and still do today. While I'm not on Twitter all of the time, like I used to be, I still enjoy using Twitter to keep up with people and events. And it also still allows me to stay in contact with many of the others that were also part of that same Tweet-Up and share the experience with others that participated in NASA Tweet-Ups after me.

Thanks Twitter and a big thanks to NASA, I will always be a life-long fan and support you in as many way as I can! Here is a link to the Flickr group that includes pictures from me and many of the other participants in the STS-129 Launch Tweet-Up.

Wednesday, November 6, 2013

Outstanding PASS Volunteer

Earlier this week I was notified that I had been selected as the Outstanding PASS Volunteer for November 2013! This award was a big surprise to me, since all of the other Board members for the Denver SQL Server User Group had secretly nominated me. I am very thankful for the recognition and hope that I can continue to contribute to the community in the future!

Looking back on the last couple of months I have been doing a lot in the community and hadn't really even realized it until this award got me thinking about it. From organizing our 2nd very successful SQLSaturday to speaking at PASS Summit 2013 for the first time along with being part of the Program Committee, volunteering to sit at our table for the Chapter Lunch, heading up a table at the Birds of a Feather lunch and also volunteering at the Community Zone. And on top of that all of the regular duties that go along with being a Chapter Leader for the Denver SQL Server User Group and speaking at as many events as I can. Makes me tired just thinking about all of it! But it is all worth it as I always get so much more back from the community for everything that I put in.

Thanks again to all of you that have helped me out and I will continue to contribute in as many ways as I can in the future!

If you are looking for ways that you can help out in the community, please fill out your myVolunteering profile on sqlpass.org. Just create a free account or login to your existing account and click on the myVolunteering button on your myPASS page (should be shown automatically when you login, or just click on the Home link in the top navigation). We are always looking for community members that are willing to help out and this will get your contact info to the correct people in PASS. Everyone should fill this out, even if you are already volunteering (yes, speaking at events does count as volunteering) today!