You can take the boy off the farm…

I was recently reminded by a good friend of mine, Kevin Kline, of something that happened several years ago. It still brings a smile to my face so I thought I’d share it with you even though it’s “old news”. For anyone that follows my family blog, this is re-post from almost three years ago.

The DBA Farmer

For those who don’t already know, my professional life and my home life are at opposite ends of the technology spectrum. I’m sometimes referred to as the DBA Farmer by friends since we have a small hobby farm in Middle Tennessee where we raise cows, goats, turkeys, and chickens. We also grow and preserve food from our garden.

A few years ago, I was invited to attend a one-day leadership training session in Chicago. As with a lot of these types of events, a welcome reception on the eve of the actual training was provided to “break-the-ice”. So I, and about 100 others from around the country, flew into Chicago that afternoon to attend the reception and to socialize before our training that was to follow the next morn.

The reception was held in a private room in a fine restaurant just off the Magnificent Mile in downtown Chicago; a very upscale place. Drinks and appetizers were served while we made small-talk. Then we made our way to another area where a nice multi-course meal was served while the conversations continued.

Unlike a lot of people in technical fields, I’m not overly introverted. So I seldom look at my own shoes, especially when talking with others. However, at one point during the evening’s activities, I did happen to glance down towards my feet. That’s when I noticed it. There, stuck to the side of the sole of my right shoe was an unmistakable and tell-tale sign of my origins. Sticking to the side of my black dress shoe was none other than a big, dried, white & gray glob of chicken poop.

Perseverance

I must have stepped in a freshly formed pile while walking to my truck to go the airport that afternoon. Somehow, the rest of the walk to the truck and the ride to the airport didn’t cleanse me of my tag-along. Somehow, it continued to persist through the security checkpoint, without setting off all kinds of alarms! Apparently going completely unnoticed through the screening process.

Or perhaps it was noticed but simply not acted upon by the guards? How do you approach a man in business attire and ask him to clean off the chicken poo he left on the x-ray machine?

In any case, the poo remained. It traveled with me on the plane and even on taxi ride to the hotel once I had arrived at my destination.

Anyway, upon the startling revelation of the distance this poo had traveled, I glanced up, looking around to see if anyone in the room had noticed me noticing my own shoe. Thankfully everyone else seemed to be oblivious of my new discovery. As I took in the vast audience of other attendees, I realized that I was surrounded by CEO’s of large organizations, Presidents of companies, Chief Financial Officers for institutions. And there was me, in the middle of it all, standing amongst all of these people of respect, with chicken poo on my shoe. I laughed out loud at the juxtaposition of it all.

I yam what I yam

It was then, that I fully realized that you can take the boy off the farm, but you can’t take the farm off the boy. And I wouldn’t trade that for the world!

Got a funny story you’d like to tell on yourself? Why not share it here? Don’t be embarrassed; life’s too short to not laugh at ourselves.

Joe

The Best Thing I learned at PASS Summit

Wow, what a great question!

The Best Thing I Learned at PASS Summit

I vividly remember my first Summit experience. I was sitting with a couple of hundred other people in a session. The speaker was an established industry expert and author. I had a couple of his books on my shelf at home and I was eager to hear him in person. He was doing a great job when someone asked a question. It was obvious he didn’t know the answer – that’s okay no one knows everything. He handled it well. Just then another SQL legend in the audience stood up and gave the answer. As that person finished, a Product Manager for SQL Server stood up and provided even more insight for the future direction of SQL Server.

I remember sliding down in my seat thinking “There’s no way I’ll ever speak at a conference like this. So, I’ve got to find another way to volunteer for PASS.”

I did. I became a chapter manager, then ran for and was elected to the Board of Directors, and eventually became the Executive Vice President of Finance for PASS. During my 9 years of volunteerism (6 years on the Board), PASS afforded me many opportunities to do things that I would not have had a chance to do otherwise as a self employed database consultant, far too many to list! And for that, I’m very thankful.

So what did I learn?  Some call it the Law of the Harvest. The more you put in, the more you tend to get back. The more you give, the more you receive.

And oddly enough since that first experience, I’ve given more than 50 sessions at conferences throughout North America and Europe.

PASS Board of Directors at the PASS European Conference 2005 in Munich

It’s Your Turn!

Got a PASS Summit story? I’d love to hear it. And so could PASS. Jot it down in a blog or email and you would win a trip to this year’s Summit in Seattle or some other prizes. For more details visit the contest site.

Cheers!

Joe

Revive your User Group

For those of us who earn a living helping others make better use of their technology, there are a few indispensable resources that, frankly speaking, without would make our jobs much more difficult. Google, online forums and newsgroups, and even blogs readily come to mind. These tools are always just a few mouse clicks away and can help us put out the fire du jour. Anyone that’s ever been asked to solve a problem that they haven’t seen before knows what I’m talking about.

Important but not Urgent

But there is another useful tool available to us if we only care to recognize it as such – our local user group meetings. “What?”, you say, “You mean that meeting I went to where everyone awkwardly stood around staring at his own shoes.” Yep, that’s the one. Let me explain a bit.

Although user group meetings typically won’t help you resolve that urgent issue that just came up, they can be even more valuable and more important to your career in IT in the long run than their online counterparts.

A Smorgasbord of Knowledge

Most of us probably think of user group meetings with a consumer mentality. We go in to them with the idea that it’s a place where we can to learn about topics that we deem relevant to our professional work lives. We can learn how to increase transactional throughput, decrease resource consumption, or maintain data integrity. In short, we can learn more about something we already know a little about. If a topic isn’t of interest to us, we can leave early or perhaps even not go at all.

But I’d suggest that the consumer mentality is short sighted. Sure all of us are pressed for time. Taking time out of our busy days to do something that we don’t recognize as immediately important is not easy. But nothing that is ever worth while is easy.

Technology changes rapidly, our job responsibilities shift sometimes unexpectedly, and what was of little interest to us yesterday may be crucial to our employment tomorrow. 

So go and learn all that you can. If you are an OLTP guy, learn something about BI. If you work for a small company with small databases, learn about managing VLDBs. Whatever the topic, add to your resouvior of knowledge.

Hi, my name is Joe

Besides being a great place to pick up some newfound knowledge, user group meetings are a great place to meet colleagues and expand your network of friends. Now, I’m not suggesting that you try to pick up a date; that’s probably not going to happen although I’m sure stranger things have happened. (If you’ve met your spouse at a user group meeting, I’d love to hear the story!)

For those of us who tend to be a little on the introverted side, user group meetings offer a built in ice breaker. Everyone there is, by definition and design, interested in the group’s technology focus. So striking up a conversation with someone you don’t know already is not that hard. Go up to them and ask if they have any experience with the topic being discussed at that meeting. And there you have it, an instant conversation with someone you didn’t know a few minutes ago. Tip: If there is food being served, stand near the buffet line, that’ll make it easy to be in close proximity to others. 

Having a good network of friends and colleagues is always good, but it’s even more important in today’s ailing economy.

Give a Little, Gain a Lot

User group meetings also afford us an opportunity to grow in ways that online communities simply cannot. To be truly successful in your career field, you must be able to communicate well with others. Sure there are exceptions. We all have known that guy who had the interpersonal skills of a porcupine but who knew the system better than anyone. He was cranky and foul, yet heavily relied upon by the organization.

Those guys will probably always exist. But in reality, they are tolerated despite their attitude, not valued because of it.

To excel and to take your career to the next level (whatever that is for you), you need to be able to effectively communicate with others. And that’s where user groups can help. Besides just going and mingling with others, volunteer to do a short presentation at a meeting in two or three months. That’ll give you time to prepare. You don’t have to be an expert in something to speak. Just share something you’ve done recently and draw from your own experiences.

A side benefit of making a presentation is that you’ll learn the topic that you volunteer to present even more thoroughly. The best way to learn something is to prepare to teach it. That forces you to think about it in ways you may not have considered before.

So what’s next?

Next time, I’ll share with you some ways you can help to make the user group experience better for everyone.

Until then, I’d love to hear your thoughts. Do you attend user group meetings? Have you found them useful?

Cheers!

Joe

NashSQL Meeting: SQL Server Statement Tuning with Query Optimizer Strategies

It’s that time again. The Nashville SQL Server User Group is having our regularly scheduled monthly meeting this Friday, June 26, 2009. We’ll kick off the meeting at 11:30am with some time to network and chat with others over a free lunch.

At noon, Kevin Kline, Microsoft SQL Server MVP and Technical Strategy Manager for SQL Server Solutions at Quest Software, will speak to us about “SQL Statement Tuning with Query Optimizer Strategies“. According to Kevin, we’ll learn:

The SQL Server query optimizer is the single most important technology within the query processing engine.  It decides exactly how any given SQL statement is executed.  If you want to write fast SQL statements with the least amount of contention on other sessions, you need to have a good understanding of how the query optimizer works.  This session teaches you how the query engine works using a broad variety of examples that are examined in great detail.

We’ve got some great door prizes including another copy of MSDN Premium Edition, several SQL Server related books, and vendor t-shirts.

So come on out and join us for June’s meeting. It’ll be lots of fun, you’ll learn a lot, and you’ll get to meet some good folks.

Please RSVP to Shelton Dickson so we’ll know how much food to order.

Thanks and hope to see you there!

Joe

Security – Don’t overlook the obvious!

In real estate there’s an old saying: the three most important things about any property are location, location, and location. Yeah, I know, I find it pretty silly too. But redundancy aside, that saying goes a long way to emphasis that a property’s true value really comes down to one fairly simple thing – it’s location.

But in today’s IT world, where everything is seamlessly connected via the Internet, location has been relegated to nearly a non-concern. Just ask anyone who’s been called to resolve a production issue at work while on vacation if location really matters.

The Benefits of Remote Access

Routinely, we manage servers half-way across the country if not half-way around the world. And that can be a wonderful thing. I can provide better service to my clients regardless of where I happen to be at the moment. When I’m traveling, I can remote into a client’s server and resolve an issue or diagnose a problematic query. I can even do so from my iPhone during 5-minute break while teaching a class.

Additionally, remote access allows us to create much more robust disaster recovery scenarios where servers in one part of the world are connected to fail over servers in another part of the world, just in case a disaster strikes.

Of course, with all of this remote access comes a need for increased security. If we’re allowing remote access, we need to ensure that only those authorized can indeed access the system remotely. So we implement multiple layers of security using multiple technologies that allow us to authenticate and audit, secure and scrutinize our database access attempts.

Let’s Get Physical

But all of focus on location-independence can sometime cause us to neglect a fairly simple security concern – physical security. The most perfect, detailed, and diligent security measures are all for naught if the servers are not physically secure. And though I’m stating the obvious, it bears mentioning.

I was reminded of the need for physical security this past week. Fortunately, it wasn’t a negative experience for me!

I was asked by a client to remove all information from a set of hard disks prior to re-purposing a server. The server, which had been supplanted by a younger, faster, and better looking replacement earlier this year, was going to be donated to another facility. In preparation, we needed to make sure that all data, sensitive or not, was permanently and irreversibly removed from the set of hard disks that the server contained.

There are many ways to do this so I won’t going into the details here, but it’s sufficient to say that with direct physical access to the server, it’s extremely easy to permanently destroy the information it contains.

In this case the server did not have the BIOS settings password protected. Fail! So I rebooted the server and changed the BIOS to allow me to boot from an external device such as a CD-ROM, Floppy Disk, or USB device. Next I downloaded a bootable utility from the Internet that seeks out all hard drives on the computer and automatically and completely erases the data on them. After booting to the external device, the process was amazingly simple and relatively fast considering the size of the hard drives.

Now to be fair, I had administrator privileges on the server so I certainly had an advantage. But I really could have accomplished the same ends without domain level security since the server was not protected and the BIOS was left open. So, the point remains that without physical security, it was trivial to permanently wipe out vital company information.

Security, Security, Security

I hope this post states the obvious. But, in many small businesses physical security is an after thought at best. In more cases than not, however, it’s given no consideration at all. If you have access to the building or suite, you have access to the server “area”. There is no additional physical security protecting the company’s second most valuable assets from malicious or unintentional damage. (A company’s most valuable asset is its people, remember?) Yet, many of those same companies have spent a good deal of money on firewalls and virtual private networks to allow remote access as needed by key personnel in other locations.

Larger companies tend to do a better job at physical security, by and large. However, there are still instances where employees transfer or resign and their security badges are never revoked or denied access to the server room.

As database professionals, it’s our responsibility to protect the data on the servers, and this starts with ensuring that the server itself is secure. So remember the old real estate adage and consider Security (physical), Security (network), and Security (SQL Server) for all your databases.

Have an interesting security story that you can share (changing the names to protect the innocent…er…those involved, I’d love to hear it.

Joe

Finding a good hobby

I spent seven hours in the sun today. But I wasn’t relaxing on a beach somewhere. Nor was I out on the links with three of my best friends bragging about a shot that I once made. Actually back when I played golf, it might well have taken me seven hours to get through 18 holes!

No, today I took the day off to clear a rather large maple tree that fell across our driveway during a storm last night. I could have easily called someone to come do it for me. And in fact, it probably would have been less expensive to go that route. As a self-employed database consultant, my income is directly related to the number of hours that I work. So there was definitely some opportunity cost associated with clearing the tree myself. But that’s ok; I didn’t do it for to save a buck or two. I did it because it was fun, despite the mercury in the thermometer breaking the mid-90′s F.

It’s not about the money

As a consultant it’s easy to get lured into thinking of most everything in terms of opportunity cost. “I can work another couple of hours tonight and make an extra xxx dollars.” When you think in those terms, the dinner with your wife and kids becomes very expensive.

But when everything comes down to a purely financial analysis, the really important things in life will certainly lose out. How can you measure the impact of helping another person, of leading a Scout Troop, of being there for your kids? How important is the good feeling you get from doing something you really enjoy?

Find a hobby

I received some good advice many years ago. Oddly enough, it wasn’t from someone I know personally. It was from a book. It was written by Bill Gates. At least I think it was. The advice? Don’t underestimate the importance of being well rounded; don’t let work be all consuming for you. Find a hobby. Find something you enjoy and get really good at it. Whether it’s golf or gardening, sailing or soccer, find something that you really enjoy and pursue it.

For me, it’s living out in the country on a small farm. I spend my spare time tending to the cows, goats, chickens, and turkeys that we raise. I enjoy working on my old tractor, mending fences, and providing for as much of our own food as we can. And yes, I even enjoy clearing a big maple tree when it falls.

And I’m fortunate in that my wife also enjoys the lifestyle we’ve chosen together. Just today, in fact, as I was cutting the tree into manageable pieces, she walked down from the house and said “Hi Hercules, it feels good to be out here doing this, doesn’t it?”  It sure did!

But I like what I do

Many of you may say that you already love what you do for a living, that SQL Server or some other technology is your hobby. To you, I say fantastic! If you can do for a living what you truly love, you’ve reached the zenith of the work life experience.

But I would also caution you to not let the pursuit of your work be all encompassing, so much to the point where life outside of work passes you by. There’s so much to enjoy in this life; do it while you still can.

DevLink Technical Conference in Nashville

devLINK is right around the corner, August 13 – 15, 2009! If you not familiar with devLINK, it’s a great conference right here in the “Athens of the South” also known as Nashville, Tennessee.

This year, I’m presenting a couple of sessions at devLINK. These will be updated versions of what I presented at SQLTeach in Vancouver last week.

Locking and Blocking Made Simple
A good working knowledge of how SQL Server makes use of locking and transaction isolation levels can go a long way toward improving an application’s performance. In this session, we will explore SQL Server’s locking methodology and discover techniques for enhancing query response times.

Identifying Performance Bottlenecks
When a SQL Server application is under performing, how can you isolate where the actual problem is? Would more memory help? What about adding additional processors? Or maybe some indexes are missing? In this session, we will explore how SQL Profiler and Performance Monitor can be used to uncover your SQL Server’s bottleneck.

If you haven’t registered, there’s still room available (but probably not for much longer) so visit the registration page. At $100, it’s really, really reasonable, especially when you consider all the great information you’ll receive. Space is limited to only 800 attendees.

If you decide to come, let me know and perhaps we can chat during one of breaks.

Cheers!

Joe

DevTeach Wrap-Up

I spent this week in Vancouver, BC, attending and speaking at the DevTeach/SQLTeach Conference. For those of you who haven’t attended one of these conferences put on by the community and spear-headed by Jean-Rene Roy, you’re really missing out on a wonderful learning and networking experience.

The conference, which rotates year to year among Canada’s largest cities (Montreal, Toronto, and Vancouver), typically draws a large contingent of .NET developers. However it contains tracks of interest for those in the SQL Server, Agile, and Silverlight spaces as well. The number of attendees usually is less than 500 so it has a nice, close, and intimate feel. You don’t feel like you’re one of the herd. You feel like you have chance to sit down and have a good conversation with other attendees and speakers.

The Sessions

This year, I wasn’t able to attend as many sessions as I would have liked. This was primarily due to outside reasons – like work committments back home that required my attention. But the sessions I did get to sit in on where great. A couple quickly come to mind. Bill Graziano gave a session on “Understanding the SQL Server’s Procedure Cache” and Brad McGehee’s session on “How and When to Implement Indexed Views” were both very well done and extremely informative.

There were many other sessions that I would have liked to attend – Kevin Kline, Jessica Moss, Peter DeBetta, and Roman Rehak all had very compelling presentations listed. But alas I didn’t make it to any of them. I certainly plan to download their PowerPoint presentations to see what I can gather from those.

The Highlights

For me though, the highlights of the week came from social outings. Dinner with friends, the speaker’s dinner, and impromptu conversations in the lobby are the keys to a good conference for me. And this year’s DevTeach/SQLTeach had no shortage of those.

Up Next

I’m already getting excited about the next couple of conferences I’m planning to attend. In August, I’m going to present a couple of sessions at the DevLink conference right here in Nashville, Tennessee. And yesterday I received my acceptance notification for a couple of sessions for the PASS Community Summit in Seattle in November.

More on those later. For now though, I’d love to hear your experiences with conferences. Got any that are well worth your while? Let me know.

Live from DevTeach 2009 in Vancouver

DevTeach/SQLTeach 2009 in Vancouver kicked off this morning. Tim Huckaby of InterKnowlogy is delivering his opening keynote address as I type this. His topic: Visual Studio – Your Development Happy Place. Tim is well known in his sphere and always delivers an entertaining and passionate session during his time in front of the audience.

Tough choices

This DevTeach/SQLTeach looks to have a great line up of speakers and sessions laid out for the next few days. That’s great in many ways; I get to choose from interesting topics from well known and highly respected people in the industry – people like Peter Debetta, Don Kiely, and Brad McGehee to name but a few.

But this inevitably leads to tough choices. There will be two or more sessions that I’d love to attend happening simultaneously. For example, in 30 minutes I’ll have to choose between Kevin Kline’s “Stored Procedure Best Practices” and Bill Graziano’s “Understanding the Procedure Cache”. I want to have my cake and eat it too. But this is a good problem to have.

It’s not what you know; it’s who you know

But for me one of the best, if not the best, reasons to attend a technical conference is not directly for the content itself, although that is important. No, for me the true measure for a conference is in its attendees. And I’m not speaking strictly of numbers either. It’s the people who you meet at the conference that makes a conference truly worth your while. It’s the connections you make or have with others, who perhaps have traveled from other parts of the world to attend the conference, that are of real value. I know of no way to measure the value of the connections I’ve made of the years through attending conferences like DevTeach and PASS.

I truly enjoy catching up with friends that I only get to see a couple of times each year, typically at conferences such as this. Last night I had dinner with Jessica Moss, Bill Graziano, Scott Stauffer, and Blythe and Kate from PASS Head Quarters. We had a great dinner at a local steakhouse. The technology will change but the friendships and memories we make together will last for years to come.

So, what about you? If you attend conferences, what kind of things do you find of most value? What do you like to see in a conference? I’d love to hear your experiences, your likes and dislikes.

And if you’re here in Vancouver at SQLTeach and would like to get together for a cup of coffee during one of the breaks, look me up. I’d love to chat.

Cheers!

Joe

Name that SQL Server Error message

If you’ve worked with Microsoft SQL Server in a production environment for any length of time, you’ve undoubtedly been exposed to a number of different error messages. For example, many of us are probably familiar, too familiar perhaps, with error 1205 – the dreaded “you’ve been chosen as the victim of a deadlock” message.

error_buttonOr maybe you are more of a developer than a DBA. So you may be more familiar with error messages like 2714 – “there is already an object named this in the database.”

There may be many messages that we feel that we know by heart. However, unless you’ve spent countless hours memorizing them, there are many more that we do not know by heart.

Have you ever been given an error number without the associated message? If someone came to you and said “The application gave me error 8115. What does that mean?” would you know where to look? A quick search on Google or Windows Bing may produce the information. Or maybe not?

But did you know that SQL Server has this information built into its metadata? The sysmessages system table in SQL Server 2000 and the sys.messages catalog view in SQL Server 2005 and 2008 contain a list of errors that SQL Server may produce and their associated messages.

So, to quickly see the message test associated with error number 8115, you can run the following query in SQL Server 2008. I have filtered the output to only show results in English; other languages may be available.

SELECT *
FROM sys.messages
WHERE message_id = 8115 AND language_id = 1033

In SQL Server 2000, the equivalent is:

SELECT *
FROM master.dbo.sysmessages
WHERE
error = 8115 AND msglangid = 103

For more information, refer to Books Online and look up sys.messages for SQL Server 2005/2008 or sysmessages for SQL Server 2000.

Cheers!

Joe

Follow

Get every new post delivered to your Inbox.