Showing posts with label Training. Show all posts
Showing posts with label Training. Show all posts


I hope you didn't miss it!

Warning: This is a really short post.

Today March 31st, is giving away their videos! Well, not giving away... but they are 50% off! I doubt anyone follows this blog and isn't aware of Brent Ozar, but just in case!

Good luck and happy hunting. 


SQL Saturday Oklahoma City, OK: 422 August 29th, 2015!

We're proud to bring back the OKC SQL Saturday for the 5th year in a row! We have 3 precons setup and ready to cover almost any interest! You can find more information about them here.

We're hoping to see new speakers this year! 

We will still have our normal speakers I'm sure. What I'm hoping for though... I'd love to see some first time speakers. Everyone has something to share! I'd like to open this up for you. Please send in your presentations, even if it's the first time you've ever done one! If you want help looking them over, I can help find some people just for that. I want to see our local community grow too!

We'll have lots of prizes!

We're hoping to see our same list of great sponsors this year, that we had last year. I want to make sure nothing is lost or forgotten! Everyone loves win cool items! I'll update this later with ideas on all the cool stuff we'll have. (Did I mention cool?)

FOOD! Everyone needs to eat right?

I will hopefully have that sorted this week. I swear it won't be sandwiches or pizza... This will be updated as well.

New Ideas!

Honestly, I want to hear from you on this one. What would you like to see for a SQL Saturday? What have you been missing? Let's see what we can do!!

In the comments, I'd love to hear any new ideas, people that may want to speak but just don't have that push, favorite rainbow colored kittens... just about anything!


Speaker Buddy System

SirSQL made a rather stirring post recently. He talked about a speaker buddy system to help out new speakers in our community that are trying to make the jump to a SQL Saturday or any larger event. I think it's a fantastic idea. He brought on a story of a girl named Anna who felt so put off by her experience that she'll never speak again. Anna was made up for his post to emphasize his point. I'm going to add a personal story to this as well.

I've been helping with SQL Saturdays in OKC, OK for going on 4 years. I decided to get into speaking this year. I haven't given a presentation or had any face time in front of a large group (3+ people) since high school.My first presentation was at our local user group. They gave great feedback and gave me some great pointers. My second one was in Tulsa's local user group. Great people, great presentation and useful feedback. 3 days after that, me and my wife drove down to Houston's SQL Saturday and I gave my first presentation at a SQL Saturday. 

I noticed a few things that I hadn't before. I've been to multiple SQL Saturdays in various states. I've helped presenters who struggled figuring out how that school or building sets up their projection system. I've seen speakers and people in general that were lost to where they're supposed to go. I've seen presenters rushing in the crowd with the rest of us trying to get to a room on time. The difference for them is that they still need to sit down, set up, check that the presentation view or demo comes over correctly and calm down for the presentation.

 When I sat behind the desk for my first SQL Saturday, I had to figure out what strange settings and controls their presentation setup had. I have no clue why it seems like every school and conference center insists on having a completely different presentation setup. I digress. I was a bit familiar with the drill. I got in the room, started setting up immediately, checked the screens and just waited. I was excited, nervous and a bit on edge to see how many people came in the room and what sort of questions I'd get.

I had 4 people show up. One was a couple who stared at their phones the entire time. My presentation went a bit faster than it should have since I had no audience to get some back and forth with. I was not prepared for a 4 person silent room. I had one question that was related to but off the main topic and in an area I'm not 100% familiar with. If that had been my first interaction with SQL Saturdays, it would have been my last. I had driven 9 hours down on my weekend to stand in front of 4 people to give a quick nervous presentation and not be able to answer the one question asked, even if it was off topic. 

I would have loved to have someone in there that's done this a few times. They might have been able to stir a few questions out and help me see how to spin up a crowd. They could have given me some advice on what I did wrong or right. If I hadn't worked with a dozen or so different projection setups in the past, they would have been extremely useful in helping me not stress over hooking up a screen.

Now, I know that's not how all SQL Saturdays are. Very few actually end up like that. I know my topic is a bit strange anyways. I've signed up to speak and 5 locations this year. Houston, Baton Rouge, OKC, Kansas City and St. Louis. I've been accepted to the first 4 and St. Louis hasn't closed yet. I plan on treating each and every one of these as my first event. I think a first time speaker buddy system is a fantastic idea. I hope it catches on quickly.


Collaborated Training: What Legacy Will You Leave?

My very first IT job was a bit daunting for me. I really wanted to do my best but I wasn't really sure what they did. One of our supervisors had built a large collection of documentation and a list of our most common issues. It helped so much. That doesn't work as well in the database world. I do document my code and am building documentation on our projects so that everyone has better information. How do I leave behind something that someone else could use beyond simple documentation?


Odd lead in I know. What I plan on doing is simple though. Every day I come across something I've not learned yet but may have some interest in. I plan on creating a folder with the main term listed with an X at the end. This will only signify that I have nothing in that folder yet. When I get time later, I'll go back to each X and see what strikes me as interesting that day.  

Expanding on this idea

At first I'm going to make it simple and keep it to my close friends. The idea would be that anyone can create the folder and put items in each one. Something you didn't even think about may appear suddenly full of information. Something like this could start small scale and end up being a strong repository for multiple people within a few user groups or even beyond. I know we have forums now... but they don't really isolate information for long term use short of searching.

Keeping it clean

I might build it out at the start... but honestly moving stuff around later shouldn't be an issue. At first it will be just a list of items. It'll slowly transform into groups of folders divided by subject. I'm thinking a master legend that's updated weekly/monthly may be good as well. I'm going to set a few requirements on people that upload information that I plan to follow as well. All documents will be labeled BriefInformation-Date-VersionNumber(if applicable). Information within the document should include proper citing. If someone is recording a complete work of someone else, they will need to identify where they got it, when it was obtained and a link back to that location. I should be able to get better ideas of what to write as I slowly build out my personal list of things I don't know.


Yes, there is a down side of sorts. If you move on quickly against your will... you may lose control of this. That's where you need to maintain good backups or have an agreement that you can retrieve this before you leave. A worst case scenario is that they may assume they can continue on without you and replace you with a cheaper newer model. That's always the fear of making work look too easy. It's good to declare goals and show accomplishments. There are just simply things you cannot predict. 


It's a strong word to use... but hear me out. It's easy to keep a copy of good works for personal use if you keep good backups. Now I'm not saying that you should keep proprietary information... that should have its own folder. Consider what you could gather with this. Most things we learn come from a necessity of some sort. Consider all the things you've learned over the last year or so. How helpful would that have been in one central location for you? Think of all the good an internal WIKI would do? 

I pose this to you. Create this for your own environment and keep a copy for you should you leave. Every new place you go set it up again and keep working on it. How far can this go in a month, year, or even a decade? I've forgotten well more than I can remember. Take all that information you hold and store it mentally offline. This could save you and your co-workers months of effort. Every place you leave will be able to spin the new guy up with ease.  

Final Product

I plan on having something soon to show off for you all. I want to show a working skeleton with instructions and suggestions. I plan on showing price options and alternates for those a bit more cash strapped. I want to have something up and working in the next month that my close friends can demo and work. If anyone has any suggestions, I'll gladly listen to them. I'd even like to eventually get a developer friend or two to work up an app for my phone to hit my site and let me pull up information or write down ideas on the go. If this already exists... throw me a line, I'd love to know.

What do you all think of this idea?


Come see me in Baton Rouge Aug 2nd!

I've been accepted for SQL Saturday Baton Rouge!

Yes, I am a little excited. I've wanted to become a speaker for some time. I'm excited to be speaking at my second SQL Saturday. My first session was at SQL Saturday Houston. I'll be honest, I chose the less used topic of fill factor. I honestly didn't expect it to be a session picked very often. So far I'm 2/2 on submissions. I'll be speaking at the last spot of the day,enough about that for now.

There are many other great speakers coming to SQL Saturday Baton Rouge! It's really hard to beat a free event with tons of free training and contacts you can make going forward. I honestly thing SQL Saturdays are what will keep MS SQL Server ahead in the game. I've not seen any other DB Software offer so much training and support for free or have near as strong of a community. Honestly, if you know of one... I'd love to know about it. 

Free Training?!

I've talked about a few free training sources before. SQL Saturdays, User Groups, website links I personally like, ideas on what I did as a junior DBA, Lists of many other resources and I even post scripts I find useful. You might even be able to talk your boss into a free lunch while getting some free training! 

What I'd like to see is some of you post something you've learned. I don't mean just here, I mean anywhere. What have you been learning recently? What are some subjects you wish you knew more about? Is there something you've been working with that you didn't find much information about? These can all lead to good presentations! Have you thought about speaking at your User Group? They don't bite... It's a great place to get started. 

Thank You!

Honestly, thank you all. I've been writing since November. From the people who've posted on my site, the e-mails I've received, and just the number of people who've visited the site... Thank you. This was a big motivation to start trying to present and I'm even working on a second presentation now. I encourage anyone who wants to speak to do so. 


Documentation: What Can We Document?

          I think I'd like to do a small short series on documentation. I personally love documentation. I honestly think most of us like documentation, we just hate writing it. There are quite a few excuses I've heard against writing it.
  1. I don't have time to document as I code.
  2. Changes need to be in place now, I can't waste time documenting.
  3. This isn't my code.
  4. There's too much to document now.
  5. We plan on deprecating this system in the next year or two.
  6. Everyone's already familiar with this system.
It doesn't honestly take much time to add some documentation. We don't need everything to have the letterhead, pretty backgrounds, screenshots and instructions for every single line. Here are a few examples of fast commenting.

-- in T-SQL adding two dashes allows your comment to sit right next to or under your code. This is great for explaining a bit toggle or what options exist in a SP.

In T-SQL, adding the /* at the start of a comment will comment anything out until you end with the */, no matter how many lines deep it is. Great for revisions, modification explanations, author credit, date created and many more uses.

in SSIS you can right click the open area and insert an annotation. you can set signs such as, "Don't run this step without running the previous step." and many other variations. 

You can even create your documentation in Excel or Word for larger projects or even to document what tables and SP's a certain job needs. 

The one thing I'd want documented more than any of these other things would be changes. A change log for the network, Domain Controllers, Server, SQL instance, tables, stored procedures, just about anything. A simple file share with folders for each group would be useful for a change log. Share Point may be a better target if you have that in your environment. File names could be as simple as Servername.doc. 

Admin: John Doe
Change: Modified Max RAM to 177152.
Reason: Leaving 10% to the OS and other functions.
Date: 6/9/2014

Admin: Jane Doe
Change: Modified Remote Admin Connections to 1
Reason: Ability to remote the DAC when the server is having issues. Temporary change while troubleshooting Database issues related to Ticket #0003425552
Date: 4/21/2014

A year later we may see a setting, wonder why or who changed it and now we have a searchable document to answer these questions.


Tulsa User Group

I love user groups.

I have a special place in my heart for people who go out and give their time and knowledge away for free. I've written before about user groups. I used to think a good year of training involved a pretty specific list.

1) 12 local user group meetings (monthly visit)
2) Local SQL Saturday
3) Try to visit a few SQL Saturdays outside of your state if you can. Houston, Dallas, Kansas, New Mexico all have SQL Saturdays and are close to here. (Oklahoma, ours is August 23rd, 2014!)
4) Keep up with free training.
5) Try to present something, even a lighting talk for 15 minutes just to get up and involved.

I think I need to expand that list now. Jeremy Marx did a fantastic presentation on BIML. So far it was the best one yet. Tulsa invited me up to speak not too long ago and I have to say that it was a rather awesome experience. The people were exceedingly friendly, the venue was rather nice and it was overall just a great event. 

I'd like to add to my list. I think it's worth it to make that 90 minute drive each way if the training is right. Those same presentations that you're going to a SQL Saturday for are given first in these user groups. We go to presentations that interest us or at least address a specific problem. You have the ability to ask the presenter specific questions without a very strict time limit and when you do get into a discussion after the event... you're not rushing to the next class. 

I'm not saying to go to every user group meeting in a 200 mile radius... but I am saying that it's worth it to check into the ones around you. Every now and then they'll have one of those presentations worth taking a half day from work to attend.

To the Tulsa group; thank you for inviting me to such a wonderful event. I had a lot of fun.


SQL Saturday Houston

I spoke for my first time at a SQL Saturday in Houston this past week. I had a lot of fun doing so! I got to meet other speakers starting out, see some of the old hats and overall just get to give something back to the community. 

A few thoughts on SQL Saturday Houston.

It was run rather well. I really liked the food layout and the rooms. It was a very nice facility and short of finding the building, the whole event was really well done. I did show up before they put out the "SQL Saturday this way" signs in all fairness. 

The rooms were nice and clean, the food was good, the facility was well managed and the coordinators were practically jogging it seemed. They did a great job.

More than a few presenters

There were 54 presentations, 9 tracks 6 deep. If you wanted any track, you may even have had 2-3 to choose from. I'd like to thank all of the presenters that mostly came out to do this for free on their own time to either get their name and brand out or just to give back to a community that gives so much. Even a vendor said they preferred SQL over Oracle just because of how open and helpful the community is. Bravo for that.

Overall it was a fantastic experience and I have to give it to the folks down in Houston. They did an amazing job. If you get time, swing by their local user group. If their user group is half as good as the SQL Saturday was, you'll surely be impressed. 

I also recently went up to Tulsa for their user group and That post is scheduled for next Monday.

To both Tulsa and Houston; Thanks for having me! It was a blast.


Resume Generating Event (RGE)

No, I haven't lost my job. This is just one of those topics that's good to get out there. There are honestly few things that can cause you to question if you still have a job the next day, but those things still exist. There are ways to mitigate RGEs, but do you know what they are in your area?

Service Level Agreements (SLA)

Gathering information on exactly how important a database is required for a real disaster. Disaster recovery planning is reliant on knowing your SLAs. You need to know how long a database can be down, which one is the most important, at what point do you have to start calling 3rd party people (customers, vendors, app support), how much data can we afford to lose and at what point you should stop fixing the broken server and failover to other hardware. I know, I know... No one likes giving these answers. My experience normally goes like this.

Question: How long can the database be down?
Answers: It should never be down. As little as possible. Why? Are we having issues?

Question: Which one is most important?
Answers: They're all important. Can't you bring them all up at once?

Question: What point do I start calling 3rd party people?
Answers: What's wrong now? That's case by case, call me first.

Question: How much data can we afford to lose?
Answers: None. None. None. Why? What have you done? None. We should never lose data.

Question: What point should I just stand up a new server?
Answers: We don't have spare servers. Why would you need a new one?

What can I do now?

Well, we can take some preventive action. Some of this is harder than you'd expect without first knowing what your SLA's truly are. Here's a few things you can do anyways today to help until you get these answers.

Find where your backups are stored.
Make sure the backups are stored on a different physical medium than the databases.
Make sure you test your backups occasionally to see if they're even good.
Make sure you have all your drivers for anything that's not standard.
Keep a log of what all databases are on a particular server.
Keep a log of the average size (uncompressed) of your databases per server.
Keep a log of the standard settings you might use for that server. (Ram, drive structure, version number)
Update the phone logs or at least your personal contacts with everyone you need to call if a 2AM incident happens.

Is there some sort of form that can be used?

My next post will include a list of the questions I'd want answered for each database as well as a short list of questions I need to ask myself. Having a printed list for each database, or set of databases if they have the same requirement, can be a career saver.

I plan on making a form to make this a bit easier. I will at the very least create an Excel or Word list with examples. I think this is good to have from your highest Sr. DBA to your multi-hat Network Admin who's being forced to manage a rogue database. Having this signed off by your boss may make the difference of keeping your job during a major outage. A little CYA never hurt anyone.


5 Years Running! OKCSQL!

I want to congratulate OKCSQL on a 5 year run. 

I personally wasn't here for that whole duration, but we have leaders and members that have been. We’re still growing and have plenty of room for new members. We have an awesome group! We have some fantastic sponsors even. GDH has been a sponsor for our group the entire 5 years. This month we have additional sponsors as well, Principal TechnologiesRedgate and Dell.

Jen and Sean McCown are speaking in person for us!

They're even doing a special double header for us. Here is a quick copy and paste from the OKCSQL site:

"Sean McCown is our first in person speaker and The title for the talk is: DIY Performance Reporting, it will start at approximately 6:15 and will cover:
Stop relying on vendors to provide you with performance data. Between Windows and SQL Server you've already got all you need to collect and report on server performance. And it’s far more flexible than you’ll ever get from a vendor. This is often called a poor man’s method, but it’s so much more than that. I’m going to show you what your options are for collecting performance data for free and you’ll even walk away with a framework you can plug into your own environment and start using tomorrow with very little effort.

Jen McCown is our next in person speaker and The title for the talk is: How to Build a SQL Solution, it will start at approximately 7:15 and will cover:

In this session, you’ll learn about SQL Server stored procedures (SPs): what they are, when and why you’d use them, and how you’d go about developing a solution with one. We will address common SP myths and learn about planning for performance. Most of all, we’ll walk through examples to explore the process of solution building in SQL Server."

This is a completely free event. We have prizes, pizza, and great training. Everyone is invited. Please come visit us and get some free training. We meet every second Monday of the month. I hope to see you there!


I'm Speaking at SQL Saturday Houston, May 10th.

I will be speaking at my first SQL Saturday. I'll be in Houston May 10th. I'm rather surprised to be honest. No, I don't have that sinking feeling that my presentation isn't good enough or that I'll show up at the event in my underwear with everyone laughing... those fears will come the few nights before. Honestly it's just because this is the first SQL Saturday I've ever submitted too. I expected to see rejections the first few times.

I have submitted to 4 SQL Saturdays this year. I will be submitting to a 5th once they solidify the date. My hopes were to speak at one event at least. I'm rather ecstatic. I would be happy to present at each and every one of them. (I'm sure the shine will wear off in time) My presentation will be on Fill Factor: Performance or Nuisance? The premise behind this presentation is not a deep dive into how the internals work. It's more built around why the changes matter, how they impact the system and how it can or cannot help. 

I'd be happy to see you all out there! I'm hoping to get out and meet more people. So far my interactions with SQL Saturdays is making sure the rooms are ready, tables setup, cookies in the speakers room... that sort of thing. It'll be a little strange seeing it from the other side.

I've written before about the list if things I'm taking with me to make sure everything works. My list has both grown and shrunk. Below is the list of what I'm planning on taking. If you have any suggestions, I'd be more than happy to listen!

Presentation Items:
Laptop and power cord.
Spare laptop (eventually something more like the Surface Pro... but for now just a spare laptop)
DVI to VGA converter
USB to DVI/HDMI converter
USB backup of my presentations, databases and installs
External mouse/Presentation mouse (I still need to pick one up... and soon)
Wireless Hotspot (Just in case)
Print outs of the slides in case the projector has issues( Thanks Andy Yun!)

Travel Items:
Extra complete change of clothes including shoes. Changes of clothes = Days Traveling +1
Travel toothpaste/brush
Power inverted (car)
Refrigerated cooler (car)
Travel pillow (plane)
Bathing suit
Cash: Tolls + 1 Tank of gas

I think that about covers everything. I'm not entirely sure. Any other suggestions?


SQL Server Enterprise is Cheaper than Standard

Free Month of Plural Site

I'm interested in seeing your responses. Any relevant response will be accepted and a free month of Plural Site will be given away. You do not have to agree with me to be relevant. I want to hear what you think.

Now this may seem a bit far-fetched, hear me out. 

This is a bit long winded for me.

First we will address the minimum requirements. We are comparing core licensing only. You must purchase at least 4 cores. Enterprise Edition costs $6,874 per core. That's a starting price of $27,496. Standard Edition costs $1,793 per core. That's a starting price of $7,172.

Now I know what you're thinking, a $20,324 difference seems pretty open and shut against this. This is where I ask that you hear me out. It gets a bit tricky here. Let's start comparing the benefits of upgrading.

Limits Standard Enterprise
64 Unlimited
Indexing Offline Online
Table Compression No Yes
Fast Recovery No Yes
Table Partitioning No Yes
Resource Governor No Yes
I know there are a lot more difference relating to BI, AS, RS and many other aspects. Let's just get enough out there to prove the point. I just told you that a $20,000 dollar cost was a savings yes? How can we save $20,000 by spending it? 

How much do you make a year? 

How about your other DBA, or the JR you're about to hire? How many Developers do you have on staff? How many of them are over worked trying to keep your old Standard server running? Look at your database closely. Let's answer some questions; we'll address this question last.

Do you have the maximum ram that your server can support in it? 

That may be 192, 384, any other number. Unless your server is older, it should support more than the 64GB of RAM that Standard does. I know I know, Windows Server Standard only supports 32GB of RAM, but that changed in Server 2012. 2TB is the RAM limit now. I know SQL 2014 allows for 128GB of RAM standard, but that still means more room to grow.

Do you have processor cores just going idle most times? 

Just because you have 12 cores doesn't mean you need to license 12. You can set SQL to use the limit of what you license it to use. Only license what you need.

Do you have SLA's to meet that have been difficult due to maintenance windows? 

Online indexing allows you to rebuild tables just about any time. You do still get a minor lock at the start and end of an online operation, but that's far better than during the whole process.

Do you have issues with archiving those massive tables?
Is their performance falling behind? Partitioning can help you swap parts of the table in and out while being minimally intrusive. You can even address fragmentation per partition instead of hitting that 10 billion row table all at once. In 2014 you can even do that operation online now!

Do you have multiple databases on the same server fighting for resources?

Well now you can split them up logically instead of having that same conversation about splitting them up physically. 

Are you fighting for more space or even considering moving to an Enterprise SAN?

Page compression is a beautiful thing. It should pose no problems on archived tables. If CPU is not a bottle neck currently, you can expand the window of what you compress. Heavily used tables may not benefit as much... but here's where partitioning can work with this. Page Compression saves quite a bit of space. This may be just enough of a space saver to allow you to request those SSDs you've been wanting.

Let's add this all together.

Yes there is a cost up front, but now you no longer need to hire a 3rd full time DBA or Developer. If you get that system on SSD's since we're using page compression to keep our sizes small and partitioning to keep our archived data on slow disks, our response time is faster. We were previously running to the edge of our RAM at all times, now we have cached static data from a month ago. These disks are only being accessed to present changes. Our DBAs are getting more sleep now that their fragmentation jobs aren't blocking all night long. Our maintenance windows are getting shorter and our SLAs have more room to breathe. 

This view will not fit all organizations. As always, the phrase "It depends" will fit in this scenario as well. Think carefully about all these issues and the time you've burned fixing them. You could be working on that next project to make your company even more money.

I mentioned Developers in this post. I'll explain now why. With compression, partitioning, more caching, faster access to those tables... you can hide a lot of "quick" codding with that much faster power. I'm not saying that we should code poorly because we can. I'm saying that we can code how we need because we can. Once it's up and working, you can then go back and fine tune. 

Enterprise Edition has a higher cost. Asking for more SSD's and more RAM has an additional cost. Not having your talented knowledgeable DBAs and Developers quit due to long hours, continually fighting uphill battles and being denied tools or extra personnel will cost you a lot more in the end. Training your next DBA alone may make up this cost. Not losing your customers due to the inability to meet SLA requirements has a large cost monetarily and to your reputation. 

Let's make the world happier, one Database shop at a time.


My Favorite Free Scripts

I'll start off with Ola Hallengren's scripts. I'm not a fan of reinventing the wheel. If someone makes gold, I tend to want to use it. Ola's scripts are fantastic. They're even already updated for 2014! You do have to contact them for the CTP version of the scripts.

These scripts cover your backups, index maintenance, verifies the integrity of your databases and logs the results of all of this for you. You can set up one part or all. This covers all of your 101 DBA requirements to keep your servers running in a safe fashion.  They even give examples of what you might want to throw into the script! It doesn't get much easier than this.

Adam Machanic wrote a great script called "Who is Active". He even has a 30 part blog series on the ins and outs of this procedure found here. Just about anything you want to know can be found there. It's a fantastic script. I would familiarize yourself with it prior to relying on it for day to day operations. 

Kendra Little has a great video and some sample scripts to run to view what indexes your server is wanting. As she will stress, do not just put them all into your database. Too much of a good thing can be really really bad. This is where we look for all that beautiful low hanging fruit.

On the same site as the Missing Indexes video by Kendra Little, there is a great script called SP_BlitzIndex. This was written by the same group. It's the step beyond just looking for missing indexes. Take the time to look through this when you have some time. This is not a place I'd look with a fire to put out... At first anyways. Learn about it in detail before assuming too much and jumping into it.

SP_Blitz was written by the Brent Ozar group and it helps you identify many pain points really quickly and even includes a link to what those mean and suggestions on how to handle it. Honestly, how nice is it these exist for us?!

What Can We Do?

So here we have 5 fantastic scripts. What will these accomplish? 
1) We start off with Ola's script and get our backups and index fragmentation under control. 
2) We find out from our users if anything in particular is slow or below SLA requirements. 
3) We run the SP_Blitz and see what shows up as a major issue.
4) We get a quick break down of what the Missing Indexes are suggesting.
5) We put all this together in a solid actionable list. 
6) We present our findings and come up with a solution to work on.

Yes I use the word "We" a lot. I do this on purpose. Correcting this many problems isn't a one person operation. You want the other product heads involved. You need to know what this could break or even if there's a problem you're currently trying to fix. If they need a report to respond in under a minute, spending a week trying to get it from 45 seconds to 5 seconds isn't where the focus should be unless everything else is working perfectly. 

There Is More Out There!

These are just 5 of the many many scripts out there for free that have been provided just to make your job easier. I've said it before, I'll say it again... MS SQL Server has a fantastic community around it. Few come even close. These 5 scripts alone can help a DBA sustain a workshop with minimal effort. Use this not as a crutch, but as a starting point to make everything even better. 

If you all know any other great scripts that can be added to this collection, I would love to hear it!


Issues Installing SQL 2008 R2 on Server 2012 R2 Clustering

Oh so the nightmare begins. 

At the bottom I've included a set of links where I found my answers. What I'm doing here is just giving a comprised list of what I had to do to get it to work. I ran into a few issues almost immediately.

I got an error showing that a 2003 patch was not installed.
Windows Server 2003 FILESTREAM Hotfix Check      failed

This required a work around. You need to slipstream install SP1 or SP2. I did not write this step by step. I used what I found here written by Peter Saddow.

1. Copy your original SQL Server 2008 R2 source media to C:\SQLServer2008R2_SP1
2. Download the SQL Server 2008 R2 SP1 packages from here. You need to download all Service Pack 1 architecture packages:
3. Extract each of the SQL Server 2008 SP1 packages to C:\SQLServer2008R2_SP1\SP as follows:
•SQLServer2008R2SP1-KB2528583-IA64-ENU.exe /x:C:\SQLServer2008R2_SP1\SP
•SQLServer2008R2SP1-KB2528583-x64-ENU.exe /x:C:\SQLServer2008R2_SP1\SP
•SQLServer2008R2SP1-KB2528583-x86-ENU.exe /x:C:\SQLServer2008R2_SP1\SP
Ensure you complete this step for all architectures to ensure the original media is updated correctly.
4. Copy Setup.exe from the SP extracted location to the original source media location. Here is the robocopy command:
•robocopy C:\SQLServer2008R2_SP1\SP C:\SQLServer2008R2_SP1 Setup.exe
6. Copy all files not the folders, except the Microsoft.SQL.Chainer.PackageData.dll, in C:\SQLServer2008R2_SP1\SP\ to C:\SQLServer2008R2_SP1\ to update the original files. Here is the robocopy command:
•robocopy C:\SQLServer2008R2_SP1\SP\x86 C:\SQLServer2008R2_SP1\x86 /XF Microsoft.SQL.Chainer.PackageData.dll
•robocopy C:\SQLServer2008R2_SP1\SP\x64 C:\SQLServer2008R2_SP1\x64 /XF Microsoft.SQL.Chainer.PackageData.dll
•robocopy C:\SQLServer2008R2_SP1\SP\ia64 C:\SQLServer2008R2_SP1\ia64 /XF Microsoft.SQL.Chainer.PackageData.dll
7. Determine if you have a DefaultSetup.INI at the following locations:
If you have a DefaultSetup.INI at the above locations, add the following lines to each DefaultSetup.INI:

If you do NOT have a DefaultSetup.INI, create one with the following content:
;SQLSERVER2008 R2 Configuration File
and copy to the following locations
This file will tell the setup program where to locate the SP source media that you previously extracted.
8. Run setup.exe as you normally would.

To add again, this post is just to give a good central location for how to get 2008 R2 installed on server 2012 R2. The original post was here.

There was a second error showing that the cluster service verification failed. You can fix this via the GUI, but it is much easier to open a Powershell window and just copy and paste, “add-windowsfeature RSAT-Clustering-AutomationServer” This was written by Emilson Barbosa Bispo on this page.

All in all it was a good learning experience. I know that it’s normally best to upgrade your OS when you upgrade SQL…. But those licenses are expensive. This goes double if it’s an enterprise license and you have a few servers that don’t need to be up to date just yet.

I really hope this is helpful for someone. I know finding these saved me a lot of time. What’s the worst thing you’ve had to work on? I’d love to hear other stories of interesting fixes.If you run into any other errors while doing this, let me know. I may have come across it and have an easy answer for you.

How to Slip Stream


Free Month To PluralSight!

Free Month of PluralSight!

Ok, personally this is pretty cool. is giving away a free month to pluralsight! Well, let me rephrase a bit. They're giving away a free month of PluralSight to people who run a bit of code on their SQL Server(2005 and up) for 24 hours. The code and full post is here. I understand that they're essentially paying us for a 24 hour snippet of data but look at all the rewards? We get 30 days of PluralSight and a free second opinion oh what those wait stats should mean to us. 

They have said that they only have a limited supply. I submitted my own results and I received the code within about 2 minutes of sending the E-Mail. I personally got a subscription to PluralSight during Black Friday where they had a rather large discount for a year. I have one single code that I do not need and I'd like to hear from someone learning that doesn't have a server they can use to take hold of this great offer SQLSkills is hosting. 

I'd like to donate my key to you.

I'll draw the name out of a hat before the end of the day. I'm looking for people who need a key and don't have a server to use. 

I think this is great and would like to commend all of our SQL Blog posters who give away training for free. They've gone a step further and given away access to training that has other peoples training as well for free. 


SQL Saturday OKC 309!

SQL Saturday OKC is coming up!

The event will be August 23rd, 2014!

Now is the time to get signed up. We already have three great precons ready.




All three of these sessions are being done by well respected authors. These are all on an early bird special until July 15th. The normal price is 120, currently they're 99$. We will are excited to host this great event again. If you're not familiar with the SQL Saturday concept, SQLCenturion wrote a rather extensive blog post on his experiences running them here. I have my own take on them from an attendee perspective as well.

I will be submitting to OKC and I hope many other speakers do as well. Given the list we've had in the last few years, I think we'll have a fantastic event once again. I really hope to see you all there.

If you  plan on coming out and would like any local information such as where to find a good restaurant, where is the good theater, or where can I play some putt-putt, feel free to drop a line. I will be at the event and the after party for it. I'd love to meet the people willing to endure this blog. ^.^

While we're on the subject of free training, don't forget to talk your boss into a free lunch or to work on the other free training sites available to you. 

Never stop learning or growing. 


First Presentation Ever And My 50th Post

Last Monday was the first time I've ever presented anything. Honestly, it was the first time really speaking in public in front of a large group. I learned a few things then. This may seem obvious to anyone who's done this even  through high school... but I didn't really do that.

Brent Ozar has a good blog on how to start a blog right here. I decided after reading multiple blogs on SQLServerCentral and other sites that I wanted to start one. I started watching Sean and Jen McCown's Midnight web show, Friday at 11pm central, and going to multiple SQLSaturdays. I decided I wanted to present for the first time.

I did a presentation on fill factor. I chose this topic because I didn't see much around on it and I really wanted to explore what all it meant. I've come to understand a lot more while building the presentation. I'm going to share a few things that helped and didn't along the way.

I started off recording my presentation and giving it to just myself, then I made my poor wife listen to it a few times. It is surprisingly helpful to have someone with no knowledge on the subject sit there. They ask the questions you never expect. That added two slides a bit better explanation and a reminder that I repeat my self way too often. I noticed that I talk a little to fast and I do not transition well. I'm sure that will be easier when the nerves aren't acting up. I made an emergency run to best buy two days before the presentation because I didn't own a web cam so I made an emergency run to best buy. I plan on going back and recording my presentation a few more times until I become a lot more comfortable with it before I try to take this into a SQL Saturday style setting.

I brought along laser pointer presenter device. I was using SQLCenturions. It does the job rather well. The timer alone makes it worth it honestly. I could see that I was 20 minutes ahead of schedule. I also had to borrow my poor daughters laptop. I have a lovely alienware laptop and couldn't use it due to not owning a Display port to anything adapter. It has HDMI out and that doesn't register for the HDMI to VGA adapters. I have recently purchased a   converter. It honestly works rather well.

I found out 5 minutes before my presentation that I had planned it on a 4th gen i7 with 16 GB of ram and a 1TB SSD and was going to go live with a 2nd gen i3, 4 gigs of ram and windows 8 that I finished installing on the way to the event. I was not prepared near well enough. I am very happy I had a backup at all.

Now this all sounds bad and like a bad experience... but it was quite the opposite. I had a fantastic time. I received great feed back that I can actually work on and ideas on how to do so. I felt like I was finally giving back to a community that for so long I've used to train. I would do it again in a heart beat.

I'm way to the left out side of this picture... I'm fine with that. This is the Dell room that Dell has given us to use once a month for free. GDH brings us the pizza and all of these people came to listen to my first time presentation with snow in the forecast. I think it was amazing. First time presenting, on a subject that most don't really use on a daily basis, and we had a rather good turn out.

If anyone else in the OKC area want's to come to any of these meetings, they're free. Check us out at would be excited to see you all there.

Below are the links to the three things that I referred to above. There may be cheaper and better versions of these... If you know of them, please let me know. I'm still building my travel bag so I can be better prepared. So far it includes:
1)  Logitech HD Pro Webcam C920
2) Logitech Professional Presenter
3) USB 3.0 to HDMI and DVI Dual Screen Adapter
4) A spare laptop cord
5) A tablet with internet access (through my phone works for now)
6) My presentation setup on Amazon's web service... Just in case
7) A spare mouse
and the more ovbious
8) My laptop
9) (days of travel + 10% rounded up) changes of clothes.
10) Spare shoes
11) Enough cash to use a taxi

This is all I have so far. I have been bitten by the presenting bug and hope to do this a lot more.


Talk Your Boss Into A Free Lunch and Giveaways!: Day 6

Monday Giveaway!

It's Monday again! I know we all hate Mondays, but let's have a Fun Monday!It's another week to give away a free month of Pluralsight! We've had Two Winners so far! Today is chance number three! Remember, you need to post here with an E-Mail address either on the site or in your profile so I can give you the prize. Moving on....

Free Lunch From Your Boss?! No Way..

With all these lunch webcasts, why not talk your boss into letting you watch them in a meeting room once or twice a week? Let's throw a twist in it. Ask if they'd consider inviting the Devs and DBAs into a conference room for their lunch and throw some cheap pizza at them. Think about it!? We can start building a stronger bridge between our groups and get free training for us at the cost of 6 meat lovers and a veggie pizza for Steve! Second thought, how about some ribs?

How Can We Hide The Cost?

We can mark this one under a training budget, personal development, group building or a number of things. Maybe you could even get them to bill HR for the pizza or ribs since we're creating harmony in the work place. There are plenty of places to get free webcasts live for your group. You can also play some canned old ones for your group. There's a good list of free webcasts and videos Here.

Gather Around, Group Hug!

I'm not talking about badgering your boss  into giving you free food, but it's something you can bring up as a good idea. You're a team player, one that's interested in making your co-workers better. Show it off! This can stair-step you into asking for room and board to get to SQL Saturdays or even to get into the Summit! Getting these lunch meetings together is a great way to share what you learn when you get back. Don't forget to give out some swag you got. It helps the team be happier you got to go instead of just sad they didn't.

Here's a good one for comments! Free PluralSight account for the comment I pull out of the hat. How about you tell me how you get your boss to cover expenses. Do you get a free lunch? How about just mileage to get to training out of state? Maybe even just a packed lunch? A bit of a left turn, but if your company doesn't help promote you, you might consider using that network you've been building to get that job you really want.


Keeping Up With Training: Day 5

Let's keep this talk going about what you can do. We know I'm rather big on user groups and SQL Saturdays... I also love books, virtual chapters and most online training. I still have another give away for this coming Monday. It's a free month of PluralSight. I think it's great training. I even have a whole post of training. Let's get more to the point.

How Do You Train?

I prefer to have some good music on when I'm working. I love to have music up on my phone, SQL on one screen and a bunch of powerpoints or blogs up on the other. If it's a more targeted SQL training item, I tend to put it on one screen and keep the blogs to a minimum using them only to support what I'm looking up.

When Do You Train?

I get much more out of my mornings. I tend to get more writing done and videos watched. As far as making code work... I tend to build things closer to the end of the day or right before bed. The tired stress seems to help me push stuff out faster. I'll correct my mistakes in the morning. ^.^;

Ideal Conditions?

I think this is dependent on the person. I prefer a warm hammock, a tablet with some videos and a cold drink in the summer. The next best is sitting at my desk with a game on one screen, video on another and notes I'm taking on the last. I don't know why, splitting my thinking tends to make me rewind and watch a video a few times. It's perfectly normal to want a single screen or TV and some quite time. I just don't function like that.

Do You Do Best In A Group?

Why not set that training video up in the conference and have a Tuesday / Thursday lunch meeting and get some training done? Who can complain that you and the Devs are training together in the conference room? It'll be such a strange sight that they'll all just avoid that area for fear war will break out. It's a great way to find some common ground and figure out how your co-workers think on both sides.

How Do You Train?

Feedback is key to me knowing the working world as a whole! Help me out here.


SQL Saturdays: Day 4

Well, we talked about user groups... Let's talk about their big brother; SQL Saturdays. @SQLCenturion runs them here in OKC. They are fantastic ways to get lots of good training for a great price...  FREE! Let's break this up like the user group post.

8 Hours of High Quality Training

That's right. One full day of training on multiple SQL subjects from DBA to Dev to BI. Have a specific pain point at work? Target those classes! Normally there's 1-2 classes on about every subject. The people that pick out the classes do a good job getting a good range of 100 level to 300 level classes for you. There may be a 10$ lunch fee... but it's not required.

They're All Over The World!

Do you not have time to make it to the SQL Saturday in New Mexico? Don't worry! There's one in Texas, Kansas and Oklahoma, even some to the West! Don't think that just because you're not from Oklahoma that you won't be welcome. We love seeing people from all over the country. When you're there, you'll even get the insider track on good places to eat and cool places to visit.


No, not that kind of swag. Alot of venders give away free toys or tools just to keep their name on your mind. Who knows, maybe they'll be selling a product you could really use! This is a great time to get documentation to beg for that tool that will help the fact your boss still hasn't hired those two missing DBAs.


Here's a great place to meet hundreds of people in your same field who may be looking to hire you! It's a great place to get out and meet people. Even if you aren't looking for a job... the networking aspect will help when you have questions only that BI expert can answer. Give her a call! She needs help with some policies you have answers to.

International Preparations

You want to be an international speaker? The best places to start is with your own user groups or with your office. The next step is these wonderful SQLSaturdays. After you make the regional step, you can move on to National! This is a good stepping stone to get your name known and eventually have you speaking at the Summit and possibly all over the world. A SQL person who travels the world at the drop of a hat... Saving unsuspecting databases from suffering only you can prevent. They will call you... Su.... eh, let's not. Still, the idea is pretty cool.