SQL Saturday 358 – Albuquerque

sqlsat358_web

I’m once again honored to be selected to speak at SQL Saturday 358 – Albuquerque, New Mexico.  This will be my second time actually speaking there and last year was simply epic for me.  The event was simply fantastic and I’m really looking forward to returning to the beautiful New Mexico landscape.

If you have nothing better to do on Saturday, February 7th 2015, come on out and get your learn on.  The schedule for this event is quite impressive and there will be a TON of things to learn.  Come, join us and learn something.

Oh yeah, I’m speaking!

Social Networking Is Alive!

SocialMediaIsAlive!Social media is every where these days and if you’re not on the train, you could be missing out.  This session is about how you can use social media to improve not only your professional life, but your personal one as well.  This session isn’t geared to specifically geeks (totally non-technical), but to anybody who wishes to improve their online presence through the use of social networking.  It’s a fun session and I hope that the attendee’s enjoy it!!

HINT: I will show you how to get free SQL Server help from one of the popular social networks.  How would you like to tell your management that you solved a real world enterprise level issue with the help of social media?  For free?

Yes, that has actually happened.

You might even see reference to a popular YouTube video.

Free Training

Can you really pass up on free training?  Ok, even with lunch it’s only $10!  So if you’re still on the fence on attending, get off the fence, register, come on out and learn something.  Meet some new people.  Grab some swag and a fantastic lunch.  I promise you that the speakers won’t bite.  Register now!!

Get your learn on!  Expand your horizons and break out of the ordinary.  You know you want to.

Why are you still here?  Go.  Register.  Do it now! See you in Albuquerque!!

 

Posted in General Conversations, Presenting, SQL Saturday | Tagged , , | Leave a comment

Friend of Red-Gate 2015

forg-logoIt seems that 2015 is going to be the year of new adventures for me.  Not only have I moved myself and my family ~700 miles from Nebraska to Kentucky for a new career opportunity, I also just recently joined the Friend of Red-Gate 2015 program.  I’m really honored to join the program and look forward to see what it offers!

For those that might not know, Red-Gate makes some super slick SQL Server (along with other platform specific) tools that I’ve used throughout my career.  They have a program, Friend of Red-Gate, that is aimed at active community members (in various realms) who would like to be on the inside track as they work on new products.  I know several people at the company and they are all truly top notch.  I can’t recommend them enough.

If you want to know more about the program, you can go here to find out.  If you haven’t tried any of their tools yet, I highly recommend that you do!!

 

Posted in Community | Tagged , | Leave a comment

Bucket List – Achievement Unlocked!

First, a little back story.

The annual PASS Summit is truly a magical place for me and I look forward to going every year. It’s the one conference that I’ve told management that I would want to go to annually simply because of the networking & training that happens during that week. bucketListAt this year’s Summit, I got into a conversation around bucket lists, both personal and professional. Over the past couple of months (even prior to the Summit) I had been considering such a list but I didn’t really have any meat to it.  I don’t have an actual “on paper” bucket list but I’ve started to mentally keep track of things.  I even found a free website that will help you keep track of your bucket list, http://bucketlist.org.

One thing on my list is to “live outside my comfort zone” more.  Now, I realize that is a really broad item to have but hey, it’s my list.  Basically, I want to experience life more and if that means putting myself out there more to do so, then so be it.

Roots

Over the years, I’ve determine that I like to be rooted in my community.  Growing up as a military brat (a title I wear with honor & pride), we moved around a lot so I never felt “rooted” so to speak.  When my Dad retired from the Air Force, I told myself that I’d like to find a spot to call home, grow some roots and not really move.  That was in 1990 and I’m still in the same town we moved to from Texas.  I moved around for college and various other life events, but for the most part I’ve stayed in the same general area.  After 24 years living in Nebraska, one can grow quite a set of roots.  These roots then morph into a very large comfort zone.

Bucket List Achievement – Picking Up Roots

FCMAlogoWith that in mind, I’m very happy to announce that I’ve accepted a Database Architect position with Farm Credit Mid-America in Louisville, KY.

That’s right. You read that correctly. My family and I are leaving the good life of Nebraska for beautiful Kentucky.

I’ll wait while you pick your jaw up off of the floor.

Got it picked up?  Great!

Yes, you read that correctly.  My official start date is January 5th, 2015.  Nothing like starting the new year with a new adventure!

Needless to say, this puts me WAY outside my comfort zone.  My family and I will be uprooting and moving several states away from a very large circle of family and close friends.  Some family will be left behind (aunts & uncles, cousins & numerous close friends that are family) but I’ll be closer to other family (my dad & in-laws) and I hope to make new friends!

My wife and I have already found a townhouse to live in while we attempt to sell our house in Nebraska. The real beauty for me? It’s about 2 miles from the new office. My daily commute will go from 60 miles round trip to about 4 (give or take).   I estimate that I’ll recover about 45 minutes a day just in drive time alone!

Another piece of good news is that I’m moving to a company where I know my new manager, Mike and the CIO, Dan.  I’ve worked with them both at Farm Credit Services of America in Omaha, Nebraska and I am looking forward to the challenges that they already have lined up for me.

2014-11-23 08.51.11

This is me accepting the new position..

This new opportunity is an exciting one and one that I’m looking forward to. I think that this will be great opportunity for my family as well as myself to live outside our comfort zone and not be afraid to try new adventures! Make no mistake, leaving will be very bittersweet and it’ll be tough to say good-bye to 24+ years in Nebraska, but it’s time.

I’m very thankful for the opportunity that Farm Credit Mid-America has offered me.  I’m also very thankful for the culture and experience that Farm Credit Services of America has given to me over the past years.  They have been an excellent company to work for.  If you happen to be looking for a position in the Omaha, Nebraska area, I would definitely recommend them.

Challenge 

If you don’t have a bucket list of your own, I challenge you to put a list together and work toward crossing things off.  Keep in mind, your list is just that, yours. You can put anything you want on the list. Start it. Put things on it. Own it. Work towards crossing things off. Who knows, maybe our paths will cross one day while crossing things off.

We only have a short time on this world and everybody should live it to the fullest. I know I’m going to try to moving forward. I hope that you do to.

See you in Louisville!

Posted in Personal, Philosophical | Tagged , | 10 Comments

Achievement Unlocked!

3 years ago in October 2011, I was attending my first PASS Summit in Seattle, Washington. It was a fantastic experience and I knew that I was hooked on the #sqlfamily.

new_goalsInMind

One day..you just wait and see.

Shortly after the Summit, I put out a blog post about a goal that I  wanted to shoot for.  Call it an early New Years Resolution if you will. The goal was simple.  When checking in at the event, I would check in either as a Speaker, Microsoft Certified Master (MCM), or a Microsoft Most Valuable Professional (MVP).  I was fairly certain that I wouldn’t be in the MCM/MVP camp, but being a speaker was definitely something that I could control.  I wasn’t sure when that would happen, but I  knew that one day, I’d be in that line.

PASS Summit 2014

speakerachievement

Achievement Unlocked!!

Fast forward 3 years to November 2014.  I’m very happy to say that I’ve achieved that goal.  Yesterday morning, I was able to check in for my 4th SQL PASS Summit as a Speaker.

My great friend Chris Shaw (b|t) and I were able to deliver a full day pre-con session, Real World End to End Performance Solutions to about 43 attendees.  We had great interaction from the audience and I think that the session went really well.

It has be an absolute epic journey getting here and I wouldn’t change a thing. I’ll be setting some other goals and will be blogging about it in the near future.

If you are attending the PASS Summit and get hooked like I did, do not be afraid to set  goals and strive towards them.  You never know, maybe we’ll see you in the Speaker line next year!

Enjoy the Summit!

Posted in PASS, Personal, Summit | Tagged , , , | Leave a comment

Compatibility Level vs Database Version

I recently had a colleague, Billy Bob,  stop by my desk and with a question about the compatibility level of a database.  Essentially, he was interested in upgrading a database’s compatibility level but at the same time have the ability to down grade it if issues were found.  Billy Bob had a concern that if we had to downgrade, this action would impact the database internal structure or version.

I know that this is an old topic since I found a post from 5 years ago by Jonathan Kehayias (B|T) that talks about the exact same thing, but I think that it’s worth repeating. Paul Randal (B|T) also has one here.

Compatibility Level

The compatibility level of a database dictates how certain language elements of the database function as it relates to an earlier version of SQL Server.  In a nutshell, this offers up partial “backward compatibility” to an earlier version.  This functionality isn’t all encompassing as only certain aspects (i.e. certain syntax) of the database would pertain to this setting.  For more details as to what is or isn’t affected, check out Books Online.

We know from various online sources that these are the following compatibility levels:

SQL Server 6.0 – 60
SQL Server 6.5 – 65
SQL Server 7.0 – 70
SQL Server 2000 – 80
SQL Server 2005 – 90
SQL Server 2008 – 100
SQL Server 2012 – 110
SQL Server 2014 – 120

It’s also worth noting that the compatibility level is only available for 3 previous (including the one that you are on) versions from the current version of SQL Server that you are working with.  Here is a listing of the available compatibility levels:

Compatibility Levels
Version Current Compatibility Level Oldest Available Level
SQL 2014 120 100
SQL 2012 110 90
SQL 2008 100 80
SQL 2005 90 70
SQL 2000 80 70
*NOTE: I do not list anything prior to SQL Server 2000 as I don’t have a way to validate what (if any) compatibility levels are available.  Also note that SQL Server 2008 R2 while a newer version still maintains the same compatibility levels as SQL Server 2008.

You can see what compatibility level a database is at by using the UI or via code.

Via UI:

  1. Right click the database
  2. Select Properties.
  3. Go to the Options tab

The following dialog window will show the compatibility for that particular database.  In the example below, you can see that the compatibility mode for the database DBVault is currently 2012 or 110.

compatibility_1

 

 

 

 

Via Code:

For SQL 2005 & newer:

SELECT name, compatibility_level from sys.databases WHERE name = 'DatabaseNameHere'

For SQL 2000:

SELECT name, cmptlevel from sysdatabases WHERE name = 'DatabaseNameHere'

If you want to see the compatibility for all databases of the instance, just leave off the WHERE clause.

Database Version

The database version is an internal versioning system that defines what version of SQL Server the database was a recent resident of.  If you migrate a database from an older version to a newer version, the database version value will be increased to reflect the version number of the new server’s model database.  The database version does not equal the compatibility level and should be considered as a completely different attribute of the database.

When you create a database, the database version is “stamped” with the same version as the Model database.  It’s worth noting that if the Model database was originally created on a different server edition and then subsequently upgraded, you potentially could end up with slightly different numbers than what you might expect.  As you upgrade the database to new SQL Server edition (you can’t go backward) the version of the database increases. This is done automatically regardless of what method you use to upgrade the database to the new version of SQL Server.

Here are some database versions numbers for each version of SQL Server:

Database Version Levels
SQL Server Version Database Version
SQL 2014 782
SQL 2012 706
SQL 2008 R2 661
SQL 2008 655
SQL 2005 611
SQL 2000 539

I did find this article that has a more complete listing of database version values.

It is worth noting that service pack releases will most likely increase the database version of all the attached databases.  There are a couple of ways to determine what database version a database is currently at. There is not, however, any way to do this through a UI that I’m aware of.  Here are 3 ways in code that I know how to get this information.

-- using DBCC PAGE to look at the boot page (9) of the database
DBCC TRACEON (3604)
DBCC PAGE('DatabaseName',1,9,3)
DBCC TRACEOFF (3604)
GO
--using DBCC DBINFO
DBCC TRACEON (3604)
DBCC DBINFO
DBCC TRACEOFF (3604)
GO

-- useing database property
SELECT DatabaseProperty('DatabaseNameHere','version')
GO

You’ll note that for each DBCC command we have to turn on trace flag 3604 so that the output of the DBCC command is sent to the SSMS window rather than the default location, the SQL Server log.

Ironically, if you are still on SQL 2000, you can see this information with a simple query:

-- useing database property
SELECT name, version from master.dbo.sysdatabases
GO

If you use the DBINFO/PAGE option, you will need to look for the hi-lighted values in the output:

dbVerionExample

 

In the above example, you can see that I’m looking at the AdventureWorks database, the database version is currently set at ’706′ and it was created with version ’705′.  This tells me that the database was initially created on a SQL Server 2012 instance (possibly a CTP version) and then subsequently upgraded when restored to my test SQL Server 2012 SP2 instance.

Bringing It All Together

Now that we understand the difference between the compatibility level and the database version, let’s bring it all back to our initial story.   If I recall correctly, the database in question started off as a SQL Server 2000 database which is a compatibility of ’80′ and an internal version of ’539′.   As mentioned, through the course of the years we have been able to upgrade it to SQL Server 2008 and currently in the process of getting it moved to SQL Server 2012.

Since we know that the database was migrated to SQL Server 2008, the database version was increased to match the model database of that instance, so it was “stamped” with ’655′.  The problem is that while the database version was increased, the compatibility mode was never upgraded (it slipped through the cracks as a migration step) to reflect SQL Server 2008 and remained at the SQL 2000 level of ’80′.

Since we also know that the database version is related to the version of SQL Server the database is sitting on, we know that we can adjust the compatibility level accordingly without affecting the database version.   Thankfully we have a good testing environment and were able to easily adjust the compatibility level to reflect SQL 2008 level of 100 and verify that nothing was impacted.  Once testing was complete, we made the change in production knowing that we were not going to affect any subsequent applications.

Did I mention that we tested?  Even with this change, you will want to test your applications to ensure that all of your code continues to work as you expected.

As a side note, we now have steps and/or scripts in place, so that when a database migration occurs upgrading the compatibility level to a higher level is accomplished.

Enjoy!

Posted in Internals | Tagged , | 1 Comment

Upcoming Speaking Engagements

I think that speaking engagement comes in waves, just like everything else.  Over the course of the summer I’ve had very little speaking opportunities and now within the span of a couple of months I’ll be speaking on a number of occasions.

As one who is addicted to teaching & speaking in general, this is a good thing!

Here are some upcoming speaking engagements!    Also, if you would like for me to do a presentation, either remote or onsite, please feel free to reach out to me! I’d love to present to your organization!

August 2014

pass_logoOn Thursday August 28th, 2014 I’ll be doing a remote presentation labeled “Only You Can Prevent Database Fires!“.  This presentation hi-lights some of the things that we as DBA’s we can do to prevent database fires.  A little fire prevention and/or awareness will go a long way, even in the technology world.

September 2014

24HOPOn Tuesday September 9, 2014 at 7PM CST, my good friend Chris Shaw (B|T) and I will be presenting during the next segment of 24 Hours of PASS (24HOP).  This segment will hi-light some of the sessions and speakers that will be presenting at the annual PASS Summit in November.  Chris and I will be going head to head during our session “Real World SQL 2014 Migration Path Decisions“.  The 24HOP offers 24 hours of free training so it’s a great (and cheap!) way to get training!

sqlsat300_webI’ll be heading down to Kansas City, Missouri for the 300th SQL Saturday that is being held on Saturday September 13, 2014.  I’m always honored to have been selected to speak, especially as this marks the 300th SQL Saturday.  I’ll be speaking about Social Network and how it can improve your life!  Much like the 24HOP event, SQL Saturday’s is another great way to get free training.  If you can make it, I highly recommend these events.

November 2014

PASS Summit 2014 Banner_200x200

To round out the fall, my good friend Chris Shaw and I will be doing a pre-con at the annual SQL PASS Summit 2014.  This event will be held in Seattle, Washington and it’s another event that I highly recommend.   Like the 24HOP session, Chris and I will be going head to head discussion “Real World End to End Performance Solutions“.  While these events (the Summit & Precons) are not free, they are worth the investment.  See you in Seattle!

It’s going to be a busy schedule this fall but I’m really looking forward to it!

 

Posted in PASS, Presenting, SQL Saturday | Tagged , , , , , | Leave a comment

Argenis Without Borders

You never know what might come out of a twitter conversation these days.  Several weeks ago, I was involved in a twitter conversation with Argenis Fernadez and Kirsten Benzel. During this conversation, Kirsten brought up the notion of purchasing a unicorn hoodie, bringing it to the 2014 SQL PASS Summit later this year and getting Argenis to wear it.

argenis_hoodie_3I mentioned that we could probably raise money for a charity if we could get Argenis to agree to some terms.  Of course, being the awesome guy that he is, he quickly agreed.

Just like that a challenge is born!  If we raise $5,000 for Doctors Without Borders, our very own Argenis will wear the magical hoodie during one of this sessions at the Summit.

Update: To donate, please click on the link above or you can use the image located on the right hand menu labeled “Make a Donation”.  Either location will take you to the right spot!

Of course that’s not the end of the story.  It gets better.  Our original goal was $5,000, thinking that it would be completely awesome if we could raise that much by November.  We hit that mark in less than a month.  So we upped the goal and the anty.  Now we’re talking about “rainbow fluffies” and tattoos in additional to the unicorn hoodie.

Did I mention that Kirsten got others to take on the challenge as well?  You got it!

$10,000 In Donations

If we hit this level, Steve Jones (B|T), Grant Fritchey (B|T), Brent Ozar (B|T), and Adam Machanic (B|T) will wear these fantastic Rainbow Fluffies at some point in time during the SQL PASS Summit.  In addition to the fluffies, Kirsten will run the #SQLLongRun while wearing the aforementioned unicorn hoodie.

Here’s what Grant has said about it:  http://www.scarydba.com/2014/07/23/challenge-accepted

See what Brent wrote: http://ozar.me/2014/07/donate-doctors-without-borders-ill-wear/

$25,000 in Donations

If we hit this level Gareth Swanepoel (B|T), Jason Strate (B|T), Ed Watson (B|T), and Kirsten Benzel (B|T) will get SQL Server tattoos! Yes, you read that right.  TATTOOS!

At the time of this writing, we are currently at $6,802 (68%) of our $10,000 goal so more donations would be appreciated!  Remember that Doctors Without Borders is a 100% tax-exempt so your donation is tax deductible!

argenis_in_the_hoodie

Can you feel the awesomeness?

So donate!!  Come see our good friend Argenis wear this fantastic hoodie in the name of charity!!

For those that have already donated, we can’t thank you enough for your generosity.  Doctors Without Borders is a great cause and we really appreciate your help!

Did I mention that the hoodie has a rainbow tail and wings?

See you at the 2014 SQL PASS Summit!!

Posted in Community, PASS, Summit | Tagged , , | 1 Comment

Don’t Miss Your Vote!

PASS Summit 2014 Banner_200x200On July 2, 1776 in Philadelphia Pennsylvania, the Continental Congress cast a historic unanimous vote to adopt a resolution declaring our nation’s independence from British rule.  On July 4th, 1776 the final wording of the Declaration of Independence was approved and sent to the printer.

Keeping this historic event in mind,  if you are attending the 2014 SQL PASS Summit later this year in Seattle, Washington you could be missing out on performing one of your civic duties; one that was made possible with the actions of the Continental Congress in 1776.  The right to vote.

All across the United States a general election is scheduled to take place on Tuesday, November 4th, 2014.  Given that the PASS Summit 2014 starts on that day, and if you are like myself and do not live in Seattle, you could potentially miss out on getting your voice heard in this years election.  Even if you do live in Seattle, the ability to vote and part take in the all of the Summit’s glory might prove to be difficult.

You do have an option though, and that’s through the use of an absentee ballot.  You should be able to contact the Secretary of State department for the state that you reside to find out what the process is.

vote-counts-button

There are usually deadlines for requesting & submitting an absentee ballot so please make sure that you confirm the dates and mark them on your calendar.  I usually set two reminders in my to-do list, 1) when I need to obtain the ballot by and 2) when I need to submit it by.

While I am a huge proponent of the PASS Summit and the SQL Community in general, please do not miss the opportunity to have your voice heard because of it.  Using an absentee ballot will give you piece of mind that while attending the first day of the 2014 Summit, your voice will be heard.

Vote.  Make a difference.

Posted in Community, PASS, Philosophical, Summit | Tagged , , , | Leave a comment

PASS Summit 2014 – All Day Pre-Con

sqlsat271_web It all started at SQL Saturday #271 in beautiful Albuquerque, New Mexico.  My good friend Chris Shaw and I were sitting outside the event catching up on things as we usually do. Our topic of discussion turned to one of presenting and comparing notes of our most recent speaking engagements.  After a few minutes of chatting, we both realized that relating the topic of choice to real world examples was turning out to be a great way to further ingrain the technology to the attendees.  What better way to learn about things than to speak about real world scenarios?

As our ramblings continued, we stumbled on the notion that having two data professionals, both with a wide range of skills and backgrounds, present in a “rumble” type of fashion could potentially be a fun and entertaining session.

PASS Summit 2014 Banner_200x200

As simple as that, a pre-con abstract is born!

So, come, join us for our full day pre-con at the PASS Summit 2014 in beautiful Seattle and see who is the victor!  There might even be a trophy! I can assure you that it’s going to be a day filled with technology and real world solutions brought to you by two guys who have a lot of passion for Microsoft SQL Server and the PASS Community!

In case you wanted to see the official Abstract we have included it here. We hope to see you there!! To register check out this link.

Real World End-to-End Performance Solutions

Do you ever wonder how other people approach real world business objectives from start to finish? The success of a project can be hampered from decisions that are made before a single row resides in a database, and yet often there is no one single best solution, because different people will approach a problem from different angles and there are countless variables along the path that are critical to success. If you make a mistake at the beginning, costly redesigns may haunt you for years to come.

In this powerful yet entertaining full-day pre-conference session, we will start with two different database professionals with two different skill sets. The speakers both have very different ways of approaching a project (and are both set in their ways!), but both have the same measurable goal. Whose process runs faster? Join this session and see the results.

In other words . . . “Let’s get ready to Rumble!”

What may appear as the end of the session is really only the beginning as variables and limitations are added and various questions are answered: What happens to our project when we are forced to use GUIDs (Globally Unique Identifiers), or when we push our solution to the cloud? Does the introduction of new hardware improve the overall outcome of our test? Do we see faster performance with SQL Server 2014 over SQL Server 2012? Join us and find out!

The Combantants

chrisshawChris Shaw:  In the red corner representing Colorado Springs, standing tall at 5 foot 6 nothing but attitude. Armed with a staggering 17 years of experience for a right hand and striking fast wit for the knock out on the left. Your 5 year SQL Server MVP, Pass Regional Mentor, and Colorado Springs User Group leader… Chris Shaw.

You can find Chris on Twitter at @SQLShaw

jmorehouse_preconJohn Morehouse: In the blue corner, backed by corn huskers and fire fighters, a true hero dedicated to destroying poor database performance and the sharing of database knowledge. Lighting fast reflexes and in depth knowledge is unleashed to deliver lethal blows. The towering, the intimidating and the inspirational to so many… John Morehouse.

You can find John on Twitter at @SqlRUs

So go, register, sign up and come see Chris and I battle it out to the bitter end.  Fun & learning will be had by all!

Posted in PASS, Presenting | Tagged , , , | 1 Comment

SQL Saturday #307 – Iowa City, IA

sqlsat307_webAlthough I will admit that I’m late on getting this blog post out, it’s that time again.

I am honored to have been selected to speak at SQL Saturday #307 in Iowa City, Iowa this year.  So, later today I’ll be making the 4 hour drive over to see the awesome folks in Iowa.  It looks like to be a great day for a scenic drive and I’m looking forward to some quiet time on the road.

So if you have nothing better to do on Saturday, June 7th, 2014, come on out and get your learn on.  The schedule for this event is quite impressive and there will be a TON of things to learn.

I triple dog dare you to come out (name that movie), introduce yourself to me, and get your learn on!

10 Things Every DBA Should Know!

This session is one that I’ve given before and very much enjoy giving it.  There are a ton of things that DBA’s need to know, but in this session I go over some of the things that I’ve seen in the trenches.  We’ll talk about things such as SELECT *, data types, Auto Shrink and a couple of other things.  I don’t want to ruin the whole thing for you.  So, if you are new the DBA realm or just want to come watch me present, please stop by.  Bring your energy and your questions and we’ll get it done!

I’ll be in the Room 2520B –  1:00PM.  It’s a session right after lunch so I reserve the right to throw things at you if you fall asleep from lunch! I’m a former lineman so I can’t throw worth a darn so you might be safe.  Your neighbor sitting next to you on the other hand might be in trouble.

Free Training

Remember that this event is a FREE day of awesome SQL Server training and professional development.  Check out the schedule and register.  In today’s economy, how can you afford to pass up FREE training?!?!

If you make it out my session, make sure to come up and introduce yourself as I’d love to meet you! I know I can look like a mean DBA but I promise that I’m not.  =)

See you in Iowa City!

Posted in Presenting, SQL Saturday | Tagged , , | Leave a comment