Invitation to T-SQL Tuesday #68: Just Say No to Defaults

Posted on Updated on

TSQL2sDay150x150
Welcome to another edition of T-SQL Tuesday! Started by Adam Machanic (b|t), this is the SQL Server community’s monthly blog party, where everyone is invited to write about a common topic.

I am honored to be your host this month. This month, I’d like to ask everyone to blog about SQL Server Defaults. While SQL Server CAN be run with just the default settings, doing so is far from ideal. As we progress through our careers, many of us build lists of things we change. Let’s blog about those! And don’t think this month’s topic is constrained to just the SQL Server engine. SSIS & SSAS are absolutely fair game as well. SQL Server developer tools – sure! Want to take a different spin on “defaults,” go right ahead and be creative!

Need Ideas?

Do you have a checklist of “always change” settings? Blog about that!
Do you have a preferred method for mass-deploying your changes? Blog about that!
Do you have a specific default setting you ALWAYS change? Deep dive & blog about that!

Want to Participate?

  1. Write a blog post about the topic. Don’t have a blog? Start one!
  2. Include the T-SQL Tuesday Logo and link it back to this post.
    TSQL2sDay150x150
  3. Publish your blog post Tuesday, July 14, between 00:00 GMT & 23:59 GMT.
  4. Leave a reply below with a link to your blog post (for the round-up).
  5. Share you post with the community! Tweet it out using the #tsql2sday hashtag!

Let’s have some fun! I’m looking forward to everyone’s contributions & learning something new!

Post 24 Hours of PASS & Other Speaking Engagements

Posted on

24 Hours of PASS

Last week, I had the thrill and honor of presenting for 24 Hours of PASS. I presented a shortened version of my successful Every Byte Counts: Why Your Datatype Choices Matter session and had a blast.

While I’ve presented this session in person a number of times, I faced some new challenges this time. First, I was presenting a new, shortened version (the original has grown to 70 minutes of content!). The second challenge was presenting online – a much bigger challenge than one might think. I had no crowd to feed off of. Additionally, I had to consciously remember to make eye contact with my webcam, instead of looking at my slides. Finally, I had picked up a head cold the week prior. 30 minutes before my start, my nose decided to start running, so I had to excuse myself a few times to tend to that. A little embarrassing & irritating, but I suppose it’s no different than presenting in person. After all, the show must go on!

Despite the challenges, it was an amazing experience. I was honored to have been given the opportunity and want to thank everyone who worked hard to put another successful 24 Hours of PASS together.

Here is Matt Penny’s (@salisbury_matt) Sketchnote from my session.

PASS Summit

On another note, I also received notice last week that I was not accepted to speak at PASS Summit. I wasn’t upset about this. After all, almost 900 abstracts were submitted, of which only a 15% were accepted? While I know that my Every Byte Counts session is useful information, and COULD be Summit quality, it is also a niche topic that given the volume of other submissions, would probably lose out. And it did, but I’m okay with that. I will not be dissuaded from speaking or submitting, and am still proud to be part of this community!

What Next?

So what’s next? Last week, I was also accepted to speak at SQL Saturday Indianapolis! I’m thrilled to be making my return to Indianapolis & joining a great group of presenters. Additionally, I will be presenting remotely to the Las Vegas User Group. This will be the first time I’ve done a remote User Group session, but I’m hoping that this will be the first of many! And finally, I just submitted for SQL Saturday Minnesota!

Keep on Talking!

Posted on Updated on

I’m happy to share that my SQL Presentation spree for 2015 is going strong! I wanted to highlight when/where I’ll be presenting again, in the next month.

SQL Saturday Iowa

After several years of conflicts, I’m thrilled to finally be attending SQL Saturday Iowa! I will be debuting a revised version of my Every Byte Counts presentation. The original version of the session had grown to 70 minutes of content and I needed to compress it to fit 60 minute speaking slots.

FoxPASS

My good friend Jes Borland (b|t) runs FoxPASS and I’ll be making the trek up there to present! This will be the second time I am presenting my other session: Cleaning House: The Indexing Edition. I had a lot of fun with it at MadPASS, so am looking forward to giving it again.

You can watch online too! Lync info is available on the FoxPASS website.

24 Hours of PASS

I am without words to describe how I feel about 24 Hours of PASS. I’ve been watching these semi-annual webinar events for years now, and now I get to present in one! I’m thrilled to be joining a fantastic line up of speakers. I will be presenting my Every Byte Counts session

Three presentations over the course of the next month – wow, that’s a lot! Nevertheless, I’m jazzed to share what I’ve learned. Hope to see you all soon!

T-SQL Tuesday #66: Monitoring In Development Is Important Too!

Posted on Updated on

TSQL2sDay150x150

Welcome back to another edition of T-SQL Tuesday. This month’s edition is hosted by my good friend Cathrine Wilhelmsen (b|t). Her topic of choice is “Monitoring.”

When the topic of monitoring arises, the focus almost universally shifts to Production environments. But as a developer, I would like to give Development environments some monitoring love as well.

Dev: “Monitor Dev? HAHAHA! Why do we care what’s happening in Dev?”

How many times have you been working on something and its performance is less than stellar? Perhaps you’re refactoring a legacy chunk of code and contrary to your expectations, your re-write is running dog slow. Or you’re working away in a shared Dev environment and suddenly queries that had taken mere seconds are now taking their own lunch break before coming back with resultsets?

Dev: “Okay, what should we watch for?”

Well, some of the metrics that are mission-critical to a Production environment may not have such a high priority in an Development environment. Perhaps you don’t care as much about about CPU spiking to 100%, because your Dev environment has fewer & less powerful CPUs than your Production hardware? Of course that hardware will be stressed more easily.

But here’s some things that you may still want to keep an eye on. How about blocking, especially in a shared environment? I’d really like to know that Fred’s new routine was written in a way that it unexpectedly takes exclusive table locks all over my database, and interfering with the rest of the development team. Better to find it causing trouble in Dev than Prod, right?

How about wait stats? If you’re working on a poorly performing chunk of code, and your Dev SQL Server is waiting on something, chances are good that your code will cause your Prod SQL Server to suffer some similar waits.

Dev: “Yeah, I can see how that kind of information can be useful. But how should we monitor?”

There are a wide variety of tools out there, both DIY and 3rd party vendor. Do you already have a product that you use to watch Production, that you could also use to watch Development? Talk to your DBAs about making use of it.

Want to roll your own solution? That’s easy too! Read up on how to baseline your SQL Server – Erin Stellato’s Baselines Series is a fantastic place to start! Leverage SQL Agent Jobs in conjuction with different diagnostic scripts like Glenn Berry’s Diagnostic Scripts, and save that data off to a table periodically for analysis.

Dev: “Huh, there’s some cool stuff in there!”

Absolutely! Be creative and do what makes sense for your enterprise and application.  Remember, the sooner you learn about a problem, the sooner you can deal with it before it becomes a fire – even in Development!

DIY Standing Desk

Posted on Updated on

For several years, I’ve been reading about others who have started using standing desks. It has intrigued me and I’ve wanted to put together a standing setup of my own for some time now.  Researching various solutions out there, I was discouraged by the fact that most solutions cost $400 or more, particularly ones which could be converted from sitting to standing.  I knew there had to be a better way and thanks to Ikea & Ikea Hackers, I found my inspiration!

COMPONENT LIST

So my total out of pocket cost? $115!

0419151330

An hour of effort later… and voila, my new standing desk! So far it feels fantastic. Am writing this blog post from it. I went with a narrower 4 foot wide table top, so I could fit it into this particular corner of my guest bedroom, to preserve my window view. Being shorter, the height is perfect (about 38″) and I could raise it up an extra 1 1/4 inches if necessary. You could easily build this higher with some surplus 1×4″ wood, a drill, and saw. In fact, someone out there has even put out the plans for it AND even sell pre-made ones.

I must say I’m quite pleased and am looking forward to spending some quality time in this new workspace of mine!

Learn Something New – SSMS Tips & Tricks

Posted on Updated on

TSQL2sDay150x150

Today’s post is not only for the SQLNewBlogger Challenge, but is serving double duty as my T-SQL Tuesday contribution! This month’s T-SQL Tuesday is being sponsored by Mike Donnelly (b|t) and he has asked us to “Teach Me Something New.”

This past weekend, I participated in my third SQL Saturday Madison event. Aside from speaking, I attended some sessions and guest-hosted the SSMS Showdown between Jes Borland (b|t) & Russ Thomas (b|t). Jes & Russ had a fantastic showdown of a bunch of neat SSMS related tips and tricks. Here’s some of the new things I learned about!


OBJECT EXPLORER FILTERS

This is a feature that I thought was rather neat.  I never really noticed the little filter icon – it just sort of blended in I guess.  But it is fantastic if you have a database with hundreds or thousands of objects, perhaps that is not sorted or named very well.

filters-1

If you select a category folder, like Tables, the Filter icon becomes enabled.  Clicking that will bring up a window which gives you a number of different options to filter on.

filters-2

Next add some keywords. I added Phone and Person and voila, my Tables now show as being filtered and only the tables that matched now appear in Object Explorer!


CLIENT STATISTICS

The next feature I (re)learned about is Client Statistics.  I always seem to forget that this exists, but it is a very insightful feature for performance tuning.

client-stats-1

Turning it on is simple. You can access it from Query Menu, a keyboard shortcut, the toolbar.

client-stats-2

Then I ran a query. I varied and re-ran my test query 4 more times. Now you can see from the next screen shot that different data points about my last 5 executions were saved. Client Statistics will save the 10 most recent queries you’ve ran. It will also average them in the final column.

This is extremely useful to see how much work your queries are really doing, and as you’re tweaking and tuning, how each iteration may differ!  Great stuff!!


SPLIT WINDOW

Ever find yourself looking at a long query or stored procedure, and need to reference something at the top along with something toward the bottom?  Isn’t it a pain to scroll back and forth?  Well in SSMS, it seems you can split an existing query window!

I’ve opened a stored procedure from AdventureWorks, that has a CTE of a UNION of two queries.  Let’s say I am trying to troubleshoot something and want to compare the output column declaration list to the final output of my final query.

split-1

Second half:

split-2

Instead of scrolling back and forth, try using the handy split screen functionality!

split-3

Click & hold the split screen icon on the upper right, and drag down.

split-4

Voila!  Your window is now split in two, and you can now scroll to independently and have two different views of your query!


Well I hope you enjoyed these SSMS Tips & Tricks.  Special thanks to Jes & Russ again, for inviting me to guest-host their session and teaching me these nifty tidbits!

SQL Saturday Madison Re-Cap

Posted on Updated on

About one year ago, I made my speaking debut at SQL Saturday Madison 287.  And this past weekend, I had the pleasure of returning for SQL Saturday Madison 387.  In the course of that year, I’ve had the pleasure and honor of speaking at several SQL Saturdays, User Group Meetings, and a Virtual Chapter Meeting.  Becoming a speaker is one of the best decisions I ever made.

A year ago, I had maybe 15 people attend my session.  This year, I packed the room with over 40 attendees!  A year ago, I was a ball of nerves.  This year, I’m far more comfortable and have refined my presentation skills.  I know I have much more room for growth but am very pleased with the growth I’ve experienced this past year.

I cannot say enough positive things about the Madison planning team.  They managed to find a new venue, work around the SQL Saturday website being offline for the final week before their event, and pull off a spectacular event.  I spoke to numerous attendees who all enjoyed their experience tremendously!

On a personal note, it was awesome to meet new some folks who I only knew via Twitter.  I remember last year, at my first Speaker Dinner, I was a bit nervous since I hardly knew anyone. This year, many of my fellow speakers were now my friends! I also had the pleasure of meeting a number of new people throughout the day. Had a lot of fun sharing knowledge, answering questions, and just simply talking shop. Look forward to seeing those faces again at future events!


 

Both SQL Saturday Madison’s also happened to coincide with two other unhappy events.  Last year at SQL Saturday Madison, I found out that my SQLFamily colleague Brooke Ranne had passed away suddenly.  She was the Chapter Leader of the Chicago BI User Group & a fellow staff member of the SQL Saturday Chicago planning committee.  I learned about her passing in the middle of the morning, scrambled to make some phone calls, and it definitely put a damper on the day.

This year, last week, SQLFamily lost another – Larry Toothman.  The week leading up to SQL Saturday Madison was rough, as we in SQLFamily struggled with the news of his passing and coming together to try and support his family however we could.  I remember meeting him at a SQLSkills IE event in Chicago, then crossing paths with him on a number of occasions thereafter.  After seeing him at Summit 2014, I was looking forward to seeing him again in both Madison and in May at another IE event in Chicago.  The Madison team took a moment in both the opening and closing ceremony, to honor Larry and his memory.

As sobering as these two events are, they are important reminders of what is most important in life.  It further reinforces what SQLFamily means to me and many others.  This is why I try to give back to SQLFamily now as a speaker, Chapter Leader, mentor, and in whatever capacity comes my way.