SQL Server and Other Topics


I got my start with SQL Server in 1997 with SQL Server 6.5 at BellSouth Cellular. From that point on I've had the opportunity to work on Versions 6.0 to 2014. I specialize in Performance Tuning, High Availability and SQL Development. Contact me through this site or through my Twitter handle @SQLDiver


Social Events

As usually the social events are the most valuable aspect of the conference. Most organizations are very critical about conferences assuming they are all about parties. Yes the headline for this section is social events...the most important thing gained from the social events were the relationships built with the other data professionals. People I look up to and have asked for help at one time or another. 

These are the people who I learn from and lean on when I need help. 

I've developed friendships with people like Grant Fritchey (@scaryDBA @GFritchey), Adam Saxton (@GuyInACube), Patrick LeBlanc (@patrickDBA)  Joey D'Antoni (jdanton), Denny Cherry (@MrDenny), Edwin Sarmiento (@EdwinMSarmiento), Louis Davidson,  (@DrSQL), Gareth Swanpoel (@GarenthSwan), Hamish Watson (@TheHybridDBA), Martin Catherall (@MartyCatherall), Martin Cairney (@martin_cairney), Argenis Fernandez (@DBArgenis), Hope Foley (@hope_foley), Mickey Stuewe (@SQLMickey) ...this year I met Mladen Prajdic (@MladenPrajdic), Michael J Swart (@MJSwart), David Peter Hansen (@DPHansen) ...and so many more ... not to mention all of my friends from TN, GA, FL, PA, TX and SC (You all know who you are...Ed, Rob V., Rob V., Mike F., Rie, Lindsey, Monica, Randolph, Kevin, Stuart, Eric...on and on). Anyone I missed.... sorry!!

My skills are better because of these guys, and their Tweets and Blogs. Knowing them and talking to them builds a relationship that opens doors for when I need help. And if I happen to see some good Karaoke while I build the relationship...awesome!

Monday Night Andy Warren Steve Jones Networking Dinner

Yardhouse is a great place for dinner. Add Steve Jones and Andy Warren and you have a great networking event! 

PASS Summit Welcome Party

Tuesday night PASS throws this big First Timer/Summit Attendee event every year. It is a great way to network with first timers, and start building the relationships with SQL Professionals. There were so many first timers this year that I got to talk to, passed out close to 30 business cards. I hope they all stay in touch.

Denny Cherry/SIOS Karaoke 

Denny always has the best party of the year. I have blackmail video tape on multiple people... you know who you are. :-) Actually, it is a who's who of the SQL Server World including Microsoft employees, Data Platform MVPs and the rest of my 200 closest friends! When Denny announces the party, you had better signup right away. This year the party was on Tuesday.

Redgate Rocks Party

Thursday night was a huge party night. Redgate had their Regate Rocks party where once again we had a blast with friends from around the globe. The Redgate employees are always awesome to hang around! Annabel, Grant, Karis, Tony, Carly and all of the Awesome Redgate employees know how to have fun.

Bush Garden

Bush Garden is the default Karaoke destination ... every night (I only made it one time this year). I saw R$% F#4rLy, #en%4 P@5*74, $%@#$%, and #!$%$!$ from Microsoft (redacted). What happens at Bush Garden stays at Bush Garden! :-)

Nope, I didn't sing! 


I attended many social events that were invite only that I won't go into details about since they were invite only. These are events where prior year socialization helped build relationships with Vendors that have helped my career greatly. 


So in short, "socialization" is extremely valuable to the employers, because their employee is building his network of professionals (and potentially putting a bug in a future employee's ear).



Of course my favorite session was my own. This is the second year that I've been a presenter at the PASS Summit Conference. I had 375 people attend my session, Execution Plans for Mere Mortals. It is only a 75 minute session (that I could make into an all day precon). As a previously, petrified of public speaking, speaker, I love getting on stage and teaching beginners. Sure I can teach some deep super advanced detailed session, but beginners are more fun and I love to give back.

I had a very long line of people who had questions at the end and wanted to give me feedback saying how much they loved my session. Always much appreciated. I had multiple friends and previous co-workers in the crowd which was even more fun. Several of them it was the first time for them to see me speak.

Bob Ward's "Inside SQL Server In-memory OLTP

Sitting right behind Kalen Delaney, the original writer of the In-Memory OLTP white paper (which I've read multiple versions), I got to hear the always deep Bob Ward teach us so much more than we'll ever be able to remember. Bob usually brings out the debugger very quickly to look at what is going on inside SQL Server (I think Geoff Hiten (@sqlcraftsman) said it was less than 12 minutes). 

Awesome 3 hour session. 

Joey D'Antoni's "Building Secure Applications in Azure SQL Database"

Joey gave a great session on Azure SQL Database security. I'm currently working with a client where security is extremely important and Joey gave me some good tips on how to answer their concerns with having their data in Azure. 

I've been working with Azure for a short time (a little more than a year), playing with it  a little longer, so the more experience I get the better. I am working hard to prepare for the 70-532, 533 and 534. I plan on taking all three before the end of the year. Keep your fingers crossed. 

Bill Gibson's "Design Patterns for SaaS Applications with Azure SQL Database"

Bill's session was awesome, as it talked a lot about the Elastic Database capabilities in Azure. This one hit home as in the recent past I had a client who needed this functionality pretty badly. I'm already putting together my document about the Elastic Database capabilities for my client.

Brandon Leach's "Data Pages, Allocation Units, IAM chains... Oh My!"

I saw this one previously, Brandon does an excellent job of going through the data page. An awesome session for sure!

So many great sessions, I wasn't disappointed in any of the ones I saw. I am very sad at not being able to see several of the ones that were on my list such as Mladen's "Algorithms For Searching Through Encrypted Data". Great speaker and great subject. I missed all of the chalk talks which I love every year. 

Steve Stedman's "When Database Corruption Strikes", who I've been following through the weekly "Database Corruption Challenges" that are too much fun.


Yes, I said food... I gained 4 of the 6 pounds I recently lost. Breakfast is always pretty good (the bacon is awesome)! I'm a little miffed that breakfast ends at 8:00AM instead of 9. Many speakers spend their mornings trying to prepare for their presentation the morning of their session. I did, and I missed breakfast by about 45 minutes. I had planned on running in and getting my breakfast quickly then onto Dr. Dewitt's keynote.... unfortunately I had to go find breakfast somewhere... I had to prepare for a big day after all. 

I'm going to say it once.... why does breakfast have to end so early (I see the amount of food thrown away in the morning and many attendees miss breakfast because it closes so early). At least allow speakers to get breakfast later.

The lunches are also awesome, chicken, steak, fish, every day.... did I say I gained 4 pounds?

And there is that one day I joined Karla and Rob V. at Blue C Sushi...mmmm sushi with my friends. 


It is always bitter sweet to say goodbye. Tim Mitchell arranges a final dinner at Crab Pot every year (sorry I was late Tim). Again, another opportunity to network with people I didn't know before. 

Miss my #sqlfamily already and its only been one day!








This session was a very basic beginner session going over how an execution plan is generated, some basic operators and join operators. Just enough to get a beginner up and running. It is certainly not enough detail for experienced users.



 Here are the slides.

For the past several years I've been a speaker at SQLSaturday Oregon and PASS Summit. SQLSaturday Oregon is historically the weekend before Summit which makes it convenient to fly into Oregon, take the #SQLTrain up to Seattle with a big group of close friends and experience the camaraderie of people I only get to see once a year if I''m lucky.


Because there are so many people coming in from outside the States to SQLSaturday Oregon, because of the timing, its even more special.

Funny thing is for both PASS Summit and SQLSaturday Oregon, my Execution Plans for Mere Mortals was picked. This is my last opportunity to run through my session before I present it on Thursday, October 27th.

I've updated the session and improved much of the content for beginners. I love that this session was picked because it is so near and dear to my heart, performance tuning is some of the most fun activities I do. When I have someone complaining that their critical to life stored procedure is taking 45 minutes and that they've made major improvements to get it to 43 minutes, but still suffers timeouts in production I go to work.

 My work starts with an execution plan. I normally search the procedure cache for a copy of a recent copy of the execution plan, just to see how it compares with a lower environment like DEV or QA. Does it have the same plan? Can I use those environments to track down the problem?

 This is where the fun comes in... using the awesomeness of SentryOne's (new name!) Plan Explorer, I quickly take a look at the plan fro plan cache and see if there are any red flags. Do I see anything that is out of the ordinary? Does this plan really need a hash join? Is that sort warning a major problem or just a red herring? Are there any residual predicate issues?

In my session, I will show the attendees many of these issues and where they will be found. This session is for beginners that are somewhat lost in the graphical execution plan. The session is only 75 minutes for a subject that could fill a day, seriously. That session is in the works.

If you're wanting to get the basic beginner information about execution plans, come see me at either SQLSaturday Oregon #572 or PASS Summit 2016!!

This post is as much for me as it is for you just so I can remember where I saw it!

 Chris Thompson, a PFE from Microsoft wrote a blog article TCP Port Is Already In Use.

 The article is about what could happen if after a reboot another application/service accidentally grabbed the SQL Server port because the service starts up before the SQL Server Service and uses a dynamic range that includes the SQL Server port. I've never run into this in of the companies I've worked with over the past 20 years, but it makes sense to mitigate the problem in the beginning.

1) There had better be a really good reason there would be another application installed on "MY" database server...but...say there is.

 Chris suggests adding the following to your steps for installation. Ok fair enough, something very simple to add to my scripts that get run from my automated install process... lets do it:

This is the netsh command to be run from the Windows command line. I'll add it to my PowerShell install script. 

netsh int ipv4 add excludedportrange tcp startport=1433 numberofports=1 store=persistent

Thanks Chris!