Archive for March, 2012

Have you ever considered attending a pre-conference session? Do you know what you are going to get or know what one is? A Pre-Conference (pre-con) session is a deep dive session that lasts anywhere from a few hours to a whole day. Traditionally when I am talking to people about conferences I share with them that out of a 60 minutes session they should be looking for an introduction to a topic. Your goal should be to pick out keywords on a topic that you are going to want to research a bit more. In my 60 minute sessions I try to cover those keywords and some of the benefits or limitations to a topic.

In a Pre-Conference I think you should expect a much broader topic. Where in a 60 minute session you should expect to learn some of the in’s and out’s of “Always-On” or Database Mirroring. But in a Pre Con session you should not only learn about “Always-On”, but you may see it in a demo. You should have a much better understanding of a topic and be ready to put it into place once you return to the office.

At the SQL Rally TJay Belt (T|B) and I are going to be doing a pre-con that I would consider to be a little different. Rather than spending a lot of time talking really deep about technical topics in a how-to type session we are going to be trying to cross you over into the arena of Soft Skills. An example of what we are trying to accomplish can be found when reviewing the subject of backups. A technical session on backups will teach you all about the Backup Statement, what it means to truncate the transaction log and how to backup file groups. If you were to compare that to the session TJay and I are doing we would be talking about when and why you should choose a backup strategy, I would tell you all about my opinion that if you are responsible for a SQL Server and you cannot restore it, how you should lose your job. Now granted we are not going to spend a lot of time in Backups and Restores, but during our pre-con session we are going to make sure that approach that topic, then we will see where the questions take us. Still curios as to what you are going to learn?

This Pre-Con is designed to show you the many things that we have to do as DBA that are critical in our day to day lives as a DBA’s. Between TJay and I, I believe we have over 30 years’ experience doing this. Here is a list of some of the things that you can expect from the How to be a DBA – A Utility Database (click on the image for a link to the abstract to the session) Pre-Con:

  • Checklists – These are such a critical part of life as a DBA. Did your databases backup, did they re-index, what about disk space? There is no way that we can compile a complete list of all the items that you should be checking on, however TJay is going to give you a really deep look into what you should be checking on and when. You should come out of this with a list of things that you want to check on your server, and when you should check on them.
  • Utility Database – I am going to build off the checklist session that TJay is already going to have you thinking about. We are going to look at how to automate many of these and how you can build historical reports. This is going to be a very fast paced hour and a half, but don’t worry about keeping up. Scripts will be provided so remember to bring your thumb drives. If you have seen me do this session before, I can promise you that this is all new, the database that supports it remains the same but the data we are getting is all new.
  • Data File Sizes – TJay is going to show you why you cannot just look at the amount of free space on your server and watch that to determine what your needs are for the future. You can track this, you can report on this information and you can forecast what your needs are going to be.
  • Disaster Recovery Options – One of the most common questions that I see on the forums is all about what the best Disaster Recovery Plan is. I am not sure there is a more appropriate place for the “It Depends” answer. After looking at many options on how best to transfer information about this topic, I ended up determining that the best way to look at the answers here is to look at the questions. We will take a case study style look at to what is best for each company based on their requirements. As a group we will talk about these options, so if you are planning to take a little nap after lunch, I am sorry but I plan on keeping you very engaged with this discussion.
  • Release Management – One of the most overlooked areas when it comes to databases in my opinion, what should you have before you make a change, and what is the best way of protecting yourself? TJay has got you covered for these questions.
  • Documentation – TJay is going to finish up the day with a look at what documents you need to have, how to document your systems and what they should look like. This session changes on a regular basis and is a popular session whenever TJay teaches it. Learn from an experienced DBA on what shape your supporting documents should be in.

I hope you have a good understanding that this is going to be an intense session on how to be a DBA. I am sure that there will be a ton of SWAG that we will have to give away, in addition TJay likes to toss out candy before I consume it all. Hope to see you there and we promise we will do everything in our power to make sure that when you return to work on Monday, that you will have a few more items in your tool belt that will make you the office hero.

 

Why should you go to SQL Rally, SQLSaturday, SQLConnections, 24 hours of SQL PASS or any other SQL event? Here is why I go and will continue to go…

I have been trying to get my arms around the whole idea of what SQL Family means to me. If you search around you will see a number of posts about this topic, and it may sound a bit mushy, a little bit of reaching out and trying to understand your sensitive side. Since the whole topic of #SQL Family has started I have been walking around looking for specific examples of why I am so connected here. Now that we are coming up on the SQL Rally, I can clearly see a path for anyone to get involved with the SQL Family. You have seen these lists before, but I hope this is the first one like this:

  • There is the technical aspect. The core for all of us being part of the community. If I have a question on how SQL Server works, there are so many places I can go where the #SQL Family will help me out.
  • The community instructors are top notch. If there is something you don’t understand, email a speaker, and email a family member.

Now I am sure that you have seen many notes about the pre-mentioned points. But really there is only one way that I feel I can express what the #SQLFamily means.

  • A couple years ago, I meet a young man who collected licenses plates. He is a great kid and I thought maybe someone on twitter related to SQL Server would bring me a plate from a different state for him. I sent one tweet that is all. All I asked for is if someone had an extra licenses plate. I have now collected more than 50 plates from people who were kind enough to bring them to me. I have plates from so many places that I am lost on what we still need. I cannot tell you how touched I am or how touched this young man is. This is my #SQLFamily.
  • Just a month or so ago I was at an event, where someone had flown into town from outside the country. One night as a group he was walking back after some long hours of studying (ok maybe that is not the complete truth, but it doesn’t matter). Someone lifted his wallet out of his back, Credit Cards, Cash, ID’s all gone and I want to say he was close to 10k miles from home. If it were me I would have just messed my pants. But, his friends came together without him having to even ask. His room bill was paid, he had cash for the flight home, and people covered his meals. Granted he paid it all back when he got home, but this event did not ruin the event. He kept going strong.
  • At the same event where a friend’s wallet was stolen, I found myself at a local watering hole. It was after a dinner type of a deal. I was standing there with a new friend of mine from Sweden, and his wife. We were just stopping by to kick back a drink and then we were headed back to the hotels. I am not sure what the heck happened, but we are listening to the SQL Karaoke. And a queen song came on. A couple guys that I am not sure who I remember were singing, and before you know it the whole place erupted with everyone singing so loud to the point where the floor was shaking. I am not sure I have seen much like that before. It was an awesome group of friends, having one hell of a time.

I could tell you a story of a dear friend who watched over my brother while his wife had brain surgery and he was alone. I could tell you all about how all of my writing has improved because a member of the community cared enough to take time to help edit my entries before I post them, I could tell you about a class I was teaching one day in Tucson when I looked up and one of my mentors came out of nowhere and was sitting in the back row. There are so many stories that I could tell you. I have not even scratched the surface, I have even more stories of how people have helped me technically over the last 15 years. It all comes down to this.

When I go to events like SQL Rally or the PASS Summit even the SQL Saturdays that I can attend, I am not seeing old friends. I am not meeting new friends. I am going to a #SQLFamilyReunion. Each time I meet new cousins, brothers and sisters. But these are the best kind, we learn from each other, we share with each other and we have a great time doing it. So while you evaluate if you want to go to the next event and maybe you are a little worried about meeting all these new people. I urge you to go. You will learn how others overcome obstacles, you will learn the new features, and you will take so many new family members home with you that the next time you are challenged with a something that you just cannot figure out. Technical or not technical, you can rely on your family.

PS.

I swear that as I site and write this post. I got this email. This is exactly why I consider this heading to an event or attending an online event to be critical. This is the best community around bar-none.

“Every so often I take a moment and just thank people that I look up to in the industry. People like you; Brent Ozar, Steve Jones, Kevin Kline, John Sterret, etc. have made my job so interesting and fun. I enjoy learning from you guys and just wanted to make sure I always show my appreciation to you all. A lot of hours go into what you all do and at times I know it can be taken for granted. I know you in particular have a lot of speaking engagements and whatnot. What you are doing has helped people like me further my career. Have a good one man!”

 

So, do you understand this whole #meme15 thing?  If not, here is the once over.  It’s a way for people to post entries on our blogs that all have one subject matter.  Most of the time it is a question, and we are posting our answers.  Other times is it just a group of people posting opinions about one topic or another.  Fellow SQL Server MVP Jason Strate (B|T) is the host of #meme15, and if I understand it correctly, most of the topics free us from the confines of the technical side of SQL Server and ask us to share opinions on other relevant topics.  This month’s question is all about social networking and how we use Facebook to help us balance our life.  I have been tossing this question around in my mind for a number of days.  To be honest I have been pretty much absent from Facebook for the last few months.

 When I started to use Facebook I really didn’t have any goals, I didn’t even think it was going to be around as long as it has been.  I am not sure why I joined it, but at first I was really glad I did.  I found it to be a great place to find old school mates and keep in touch with a number of professional friends.  Within a short period of time I was playing the random assortment of stupid games and entertaining myself. So my “friends” were really grouped into 4 categories:

  • People I talk SQL Server stuff
  • People I went to school with
  • Family
  • People that I meet while playing games

I never thought to organize my friends list, and I never thought of trying to keep my personal life separate from my professional life.  But as I have started to think about it, I am not sure I have much of a personal life.  I would say that 95% of my friends are people that I know from SQL Server activities.  Sure I have a couple people that I know from school that mean a lot to me, but SQL Server is where I spend so much of my time.  So much to the point where the more I think about it I think that my #SQLFamily is where my personal life is.  So, how do I balance?

Well if you look at my Facebook page, it should not take you long to see that my passion is all about Camping and SQL Server.  My closest friends are on the campground, to the point they are my family.  My balance comes from spending the time in my camper and at my second home.  Here before too long it will be my first home. 

I do find myself networking so much more at the events that I attend and I spend about 20 minutes a day on Twitter.  So to answer the question, I am not sure I use Facebook at all for balance.  If I want to network, I use LinkedIn; if I want to socialize I use in person events.  Twitter is used to keep up with most of my friends around the county. 

This post however, is to really lead into my next one. I have been debating talking about my #SQLFamily for months, and I think I have a few examples as to why I can now share how much it means to me.  

 

About a week or so ago I had posted a few thoughts on database mirroring in SQL Server and some of the considerations that should be reviewed before relying on it to be your failover solution. I love the features in mirroring and as I write this I am looking at how I can start using the new features in SQL Server 2012. However, as much as I would like to upgrade today, I need to run a full round of testing with the developers I work with to make sure everyone understands the behavior. The key part to any backup or HA/DR plan all lies in the testing and the planning that you do. However, if you do a bunch of planning without any testing, I am afraid you are likely to run into some issues. This is why I have created this post. There have been a few things that I have seen which are often missed with database mirroring.

Linked Servers

Problem – Over the years a bit of code has been developed to support Linked Servers. If you have a server named Server A and one of the stored procedures in one of the databases on that server link to a database on another server (Server B), you may run into an issue during a failover. Linked server information is a server level configuration, not database level, so the information about the linked server is not kept in any of the individual user databases.

Solution – This may sound like an over simple solution, but it is what it is. Make sure that you have all your user database external dependencies configured on both the principal and the mirror. The complexity increases when you have links referring to the mirrored solution.

External Dependencies

Problem – In like fashion to the linked servers, there are many external SQL Server items that may be relying on the name of the server to connect. When the mirror takes over from the principal, the server that was the principal is no longer hosting the database in an online mode. Even if there is a user database on the same server as the database that was failed over. These links/connection do not just change. This could include many items such as SSIS packages, SQL Mail and cross database queries.

Solution – The deeper we look at the considerations the easier I find it is to recommend SQL Server 2012. There are a number of things that you can do when it comes to making adjustments to the external dependencies you can create/configure these items on both servers and in turn enable or disable them depending on where a database is live at the time. Many of these issues are being addressed SQL Server 2012 with Contained Databases, Partially Contained Databases and Always On Availability Groups.

No matter the solution, that you choose to use the key to a successful DR solution is testing. I am not sure I can think of any critical process outside the technology that is not tested and then re-tested. This is why the military spends countless hours training and the local fire departments do disaster drills. The time to learn that your disaster plan is week in an area is not when the disaster happens.

I am really curious as to what you considerations you may have seen that I have not noted. Send me an email and I can add yours to this list.