Archive for January, 2009

So Much to Do, So Little Time

Posted: January 29, 2009 in Uncategorized

Well, things are not starting to get crazy around here. The last few weeks I have been spending a lot of time getting the speakers lined up for the Spring 09 vConference. We have a number of really great speakers that are joining the Conference this year. I am really excited to see this (You would not believe how many MVP’s we have this time around). I think every group of speakers that we have are great, but I think that you may agree that this year we have the best line up to date. The speakers have not been listed as of just yet, we are waiting on some final details to come in so keep your eyes out. I can tell you that there are people that will be speaking that you do not want to miss (Developer Evangelist of the Year). Speaking of the Conference there is a huge discount that is happening right now if you sign up. It’s that whole early bird thing. Some of the things that you can expect this spring from the show…

  • There has been a track that has been added. This track is designed to help people just learning SQL Server. It’s a 100 level sessions only. I believe that for any conference that you sign up for you will receive this track.
  • All new content.
  • HD Camera’s – SSWUG has been listening to its customers, they wanted the best quality so we went out and got it.
  • New Camera angle – We did not have a request to see more of the speakers but we found with the some of the visual aids that we use that another camera angle would really help.

Many people have thought that our conference is a slide deck and a speaker giving you the information that you want to know. There is a video here that shows how this conference is different.

I just finished reading an article in Info World. The article is called
Don’t get hooked on expensive vendors
. It’s funny but when first started to look at the new features that SQL Server 2008 has I thought for sure that there were going to be some pretty upset vendors. See there are companies where they have spent years and millions of dollars developing added software to work with your SQL Server so that you can do things with your database that SQL Server would not do nativity. Let me give you an example (and I think this is the big one)…

Prior to SQL Server 2008, backup data compression could only be achieved using a 3rd party product. There were a number of companies that offered a backup compression tool. One of these was Red Gate; you also had Lite Speed and some others as well. The product that I have used the most since the release of SQL Server 2008 for Backup compression has been HyperBac. So I will use this as my core example.

I have had some chances to talk to people from Microsoft and in some of these conversations I have asked them why are they going after this market and why now. If we step back and look at this, Backup Compression has been something we have needed for years, It was not an SQL Server 2000, SQL Server 2k5 but I am sure they could have added it if they wanted to. The answer that I received from Microsoft employees was really one that I thought was a good one. It is my understanding that they just want to add the core technology to the product that the majority of the users will use. So in this case, Microsoft must have figured that it is time to add backup compression. This means that the research that Microsoft has done has shown that most of the customers that use SQL Server need backup compression. The person I was talking to went on to say, that Microsoft in no way was trying to take away from anyone’s product. They wanted to add what the majority of what the users needed, but they did not want to completely go after a product. So I go back to my Example:

Hyperbac offers features above and beyond just compressing your backups. One of these features is the ability to link to one of your backup’s by using linked servers and you can actually query a backup. That gives you the ability to restore or replace records that may have been updated without running an actual restore. There are a number of other features that are there, but this is just the first one that comes to mind. This entry is not so much a product review but an example.

One thing that was mentioned in the is software companies now are using a drug dealer type approach of selling the product, you know the first one is free but the next one will put you in the poor house? I am not sure if I can see it the same way that they do. I do see where they are coming from, but from working with vendors I have really found that the upkeep prices are not that bad, as long as you stay active with you maintenance. I was working for a company at one time that did not want to pay the maintenance and we were not allowed to upgrade or get support for a backup compression tool for a couple years. When it came to the fact that we needed it the vendor required us to get caught up in Maintenance. Well before owning my own company I am not sure that I liked that idea. I can tell you know that these vendors are working hard to compete, they are adding features and they are pushing to fix any bugs that may be there. Many of the vendors that I work with have great support. It’s funny I call my cell phone provider to add a feature or ask about my bill and I am stuck in endless hold with someone on the other end who I know is just going to make it worse. I have not had that problem with my 3rd Party Vendors.

I guess in short what I am trying to say is take it a little easier on the vendors. There are some great tools out there and if you look you can really help yourself make your job a lot easier. If you are interested in my product review on HyperBac that can be found here.

 

Newsletter Comments

Posted: January 23, 2009 in Uncategorized

 

Today I was looking around and was reviewing the newsletter that Stephen Wynkoop sends out every day. If you don’t subscribe to the newsletter (just become a guest member) I would recommend that you do. It has some great information and there is always an interesting topic of conversation. Stephen does a great job keeping up with what’s hot with SQL Server and passing that information on. Here is a clip-it from today’s newsletter.

 

I can’t tell how many times I’ve had this conversation:

Me: “When do you want to capture the load on SQL Server so we can see what’s happening, tune the system, etc.?”

Customer: “Well, our maintenance window is 2:00a, so let’s do it then.”

Me: “Um. . . well, you really need to do this during a load time that is representative of what we’re trying to troubleshoot.  You know, get a look at things as the issues are happening.”

Customer: “But that will slow the system down!  We really have to do it off-hours.”

Me: “@#^%#^@^@”

So, here’s the bit of advice for Friday.  When you’re looking to troubleshoot, tune or just do reasonable due diligence on your systems, make absolutely certain that you know usage patterns.  You should capture performance data and transaction information during the times where you see the issues you’re trying to solve.  

My favorite example is when we were working with an insurance company – they had significant spikes between 8:00a and 9:30a, and 12:00p to 1:00p.  Why?  These were the time periods where people would return to their desks (either at the start of the day or after lunch) to stacks of paperwork that had to be entered and processed.  It was very important, then, that we capture information about what’s going on in those periods of time so we could accurately see what was happening.

 

The reason that I post this today is because I cannot tell you how many times I have had this discussion. I agree with what Stephen is saying but to take it one step further there are some things that you can do with tools out there that will help you get this information without having to just rely on the business day. The point made is a great one, and Stephen is talking about how to do this with Native Tools. I had this exact case not too long ago, I did some research and found a product that I have mentioned here before called Performance Advisor. I love this tool and I had to jump in and mention how that tool can help with this problem.

In the past or even just recently when I had a customer that was asking this question, they were validating that they were having performance problems by the processor or by the number of transactions that were occurring. What I was able to do is two things. One as the client called me I could open the tool, do a quick right click and I was able to do a 15 second quick trace. So if I did impact production it was only for 15 seconds, the tool also gave me the ability to set up a quick trace to kick off by itself without me even have to do a thing. So if I logged on to the system an hour later or a week later I could pull the old trace files.

I have been very reluctant in the past to use tools that were not supplied by SQL Server, there were a number of reasons for this, but when I found that this tool could actually save me hours a day in chasing down issues they had me sold.

 

So that is my .02 cents for the day. I hope you have a great weekend. From what I am hearing it’s going to snow this weekend where I was planning in going in the Mountains so I may just be staying home. May not be a bad Idea, I have a number of presentations to finish.

Conference Season is Here

Posted: January 20, 2009 in Uncategorized

I am working on this entry at a time when I should be working on my outlines for the next round of sessions that I will be giving. The spring conferences are just around the corner and its time for me to get ready. So I figured I would make this note short and sweet. Here is what I will be up to for the next few months.

  • April 22-24 the 4th
    SSWUG vConference is happening. A few new things that has been added this go around are:
  1. If you sign up now and you are Alumni then you can pretty much get the early bird discount that will drop it almost to half price. This price will be $125 weeks before the conference, so give it a shot and sign up now.
  2. There has been a track added for SQL 101, so if you are looking for the basics plus you want to get in to the more in depth stuff you can get it all for the same price.
  • Feb 21 will be the Rocky Mountain Tri-Fecta. This is a one day code camp deal that will be held in Denver.
  • March 22nd to the 25th
    DevConnections and SQL Connections will be happening in Orlando.

So I hope to see you at these events, if you see me feel free to flag me down and let me know what you think of my blog.

DBA Integrity

Posted: January 18, 2009 in Uncategorized

My posts last week got me thinking, the more I thought about it I realized that Stephen Wynkoop sort of touched on it in a newsletter on SSWUG.ORG not to long ago. One thing that I am really happy about, and to be honest proud about is the comments that I had on my blog last week. See it was not but a couple weeks ago that in Stephens Newsletter someone had made the comment that if you were going to be fired, would you cause damage to someone’s database. Really in a time like right now where we hear of people being laid off all the time, you must think about such things if you are management.

Anyway I think this is the way that it went down, Stephen will sometimes ask questions in his newsletter, now seeing how I know Stephen I know that he gets a ton of feedback from these, but there was one e-mail that caught his eye. It was some study that said almost half of the DBA’s would consider stealing data, not just stealing data but also use that data somehow to their benefit. So back to why I am proud…

I did not see a single comment that said that I should try to take the former clients database down. I am not sure where that study got their numbers but it must not be from people that read this blog. But really I could have, and I choose not to, see when you have the permissions that we do on systems that companies rely on you could actually put a company out of business. Many companies don’t understand they need backups, many of these companies believe that the RAID 5 that some sales person sold them would be the end all for disaster recovery. Point is that as DBA’s we have to hold ourselves to a higher standard, being good is not good enough. Making a mistake in our line of work is bad, but doing the same actions on purpose is criminal, and just right immoral. So I thought I would follow up with a list of activities that I did the second that the client notified me that they would not be using my services any longer.

  1. The first thing I did was take them off the clock. (With this client I am not sure I would have got paid anyway)
  2. I notified the client that they had software on their system that was not licensed to the, it was licensed to SQL on Call and I was going to have to remove it. I gave them the option of leaving the software on the system with a 15 day trial, just like you would get from the company. Or I could remove it all together.
    1. This software sent me e-mails in case of any issues with the server, so I also let them know I had to remove my name and e-mail from the system.
    2. The client wanted me to leave the software so I removed my key and got a new one from the vendor.
  3. I left any work that I had done, like scripts and such that they had paid me for.
  4. They made a request that I clear some backup space for them and I did that as well. This was off of their request.
  5. As soon as I was done I removed the VPN software client that I had installed for them, deleted the passwords in my password file and removed all the RDP settings.
  6. Then I sent a note to the company that hosts the former client’s servers and let them know that I would no longer be servicing that client. I requested that my permissions be removed completely and that they validate that I did not have a way into the system.

I think I did the right thing, the honorable thing.

Follow up to Past Post

Posted: January 16, 2009 in Uncategorized

Well I told everyone about how the customer treated me and have had a ton of feedback. First of all I would like to thank everyone who commented. Some people had suggested a long term payment plan for the client. I would have considered that if the Dec. invoice was not larger then the Nov. invoice. And I was just calling about the Nov. Invoice.

As of Thursday the client wanted to set up a call with me so I could walk them through what they should do if there was a cluster failover. This was after I was told that I am the low priority to get paid. I let them know that I would be happy to go through the steps with them on what to check after a  failover. However at the time we really needed to settle the payment issue. I asked if they could send me the check numbers and assure me that the check was in the mail and I received no response.

This morning I sent the client an e-mail and called them letting them know I would help with the transition away from SQL on Call and I would be happy to answer any questions as soon as we have the payment information. I also requested the payment information.

Well as you may have guessed. They did not answer any IM’s (I figure I am blocked now). They did not answer any phone calls, and they have not returned the emails. I am really surprised by this, seeing how this company wanted me to watch there system the weekend before Christmas. When I refer to watch I don’t mean be on call, I mean sit there all weekend and watch the performance monitor. From calls in the middle of the night to times when they would call 10 times in a row cycling though my contact numbers I think I have learned my lesson. I would like to share with you what I think I have learned.

  1. Have your work hours set. Yes there should be times when a client can call you outside work hours for emergencies however if the database is not down I believe you should go back and spend time with you family. I know that is what my wife wanted me to do.
  2. Never give out more then your office number and your cell number. This way if you are on vacation, you are on vacation. Have someone cover like I did and turn your phone off, I did not. I actually have 2 cell numbers and I released both to them. But from now on, one goes on me on vacation and the other is left with who is covering me while I am gone or at home. The only one that knows the personal number is my staff and they know when to get hold of me.
  3. I am so glad that I have an attorney. One of the smartest things I ever did.
  4. If you have not noticed, this has been a testament of what happened, I did not release the name of the company and I have no intention of doing so. I hope the next people that work with them develop better boundaries then I did.

I did like the suggestion of billing weekly, or even setting up a min. monthly retainer that needs to be paid before the work begins. I have a client that works like that and he is in the collection business. So I have a good idea what steps are coming up next. Thanks again everyone and I hope you have a great weekend.

 

If you scan around my blog or my Bio for just a short period of time you know that I run a company called SQL on Call. SQL on call is a consulting company that has had many clients over the past year or two. In this time frame most of the experiences that I have had with clients has been great, and to think that I have made it this far without running into a major problem makes me think that we are doing the right thing. Yesterday I found out that a client was not putting us on the “priority list” to be paid, I was told straight out that since we would not “write off” and invoice from November that we would not be the first people that he paid.

This is the second month in a row where the client has requested that we either discount or write off an invoice. I was a little concerned when we did this last month, but now I am greatly concerned. See its not like I sell a product or that I will re-coop that money in the future, 90% of the invoice was from hours put in above and beyond to make sure that the client could keep their database up and running during the busiest time of year. These are hours that I could have spent with anther client and would have been paid for. The money that I make from that goes directly into the pocket of feeding my family and putting a roof over our head. So I started to think about what happens when you don’t get paid, what would be the professional behavior?

The first thing that I did was ask if they were satisfies with our services, and I was told by the CTO that they had no issues and they were very satisfied with the service that we provide them. The CTO went on to explain that the agreement/contract was a partnership between us and that we have received a lot of money from them over the year so we should be understanding, in when he asks us to right off a months worth of work. The more I thought about this part I was thinking that this is the same type of situation where a employer could go to an employee and just request that they not pay anything for a month yet they expect the employee to work.

I came to the conclusion that without being paid for the invoices that were outstanding I would have to take two drastic actions, first of all work would stop as of that moment even at the risk of losing the client. Second of all I was going to give them the option to stop our service. I did not want to be put in a position where in 4 months the same thing was to come up again.

End result was yesterday the client agreed that we offered a good service they were going to pay the invoices and continue with the service, however when I awoke this morning and checked my e-mail the opted to cancel the service. So do you think I did the right thing? Should I have been a little more forgiving? Just wondering what other people would do. I could not be forgiving because I have partners and I have made arrangements on those partnerships, but if I could have should I have been?

I just had the coolest experience today, I had to share it with as many people that I can. For readers of this blog you may have picked up on that fact that I like SQL Sentry Performance Advisor. There are a number of reasons why I like this tool, the cool dashboard, the ease of being able to see the history and change back to what is going on right now, the ability to see if you have a bottle neck on your disk drives. There is some really great stuff in there. I have been using the tool now for about six months, and I thought that I knew all there was to know about the tool, all the little features that can make life easier.

Well I ran into a problem today and it caused me a ton of heart burn. I took a look at the dash board and saw that there was a huge amount of transactions that were going thought the server. There was no way that the server could be processing this many transactions. We are talking 30 to 40k in the time of a refresh. I started to look at the Top SQL (The SQL Statements that are causing the most issues by processor or disk or many other counters that I can sort on). My view was configured to look at queries that were taking longer than 5 seconds. But as I watched the transactions climb I was not seeing a single thing on the server that was showing up on the top SQL. I was at a loss, I could not believe that I was seeing this many transactions and I could not find one that was taking longer than five seconds.

I was left with one choice; there must have been something wrong with the tool. I called up Support and asked them what they thought. It was not long before we were on a Goto Meeting and I was showing them what I was looking at. I changed my counter to show me anything that was greater the one millisecond and I was still not seeing what was causing the transactions. Could it be so… I had a server that was processing that many transactions and each one was taking less than a millisecond. We were left to use a feature of the tool called Quick Trace. I have to admit that this is now my favorite part of the tool. The quick trace by default will grab 15 seconds of everything that is going on the server. We found the problem. It looked like there was a look that was just issuing a begin and then a commit, both within less the 1 millisecond. They were coming all from the SPID. They would last for a few min and then they would start up again under a different SPID.

The cool part about this is when I started to look at the Quick Trace results I could see that several SPID’s were doing it. With Tech support on the phone they showed me how to drag and drop the column of SPID to the grouping and within seconds I could order by the SPID. I was able to see that it was doing nothing but issuing a Begin statement and then issuing a second statement of Commit, nothing in between. The end result was I could see that the application was sending statements to the SQL Server that the only other way I would have been able to see would be to start a Trace, Save it to a file and then sort on the SPID. This would have taken a much longer period of time then what I was able to do in Performance Advisor.

I never knew I could do this and was amazed at the flexibility. It saved me hours of chasing the problem down and it will save me even more hours in the future. The most important part is that we found the cause and were able to turn it over to the right team to start looking at why this was happening. When you are billing by the hour, the honorable thing to do is to complete the work as quick as you can without making mistakes. Performance Advisor not only saved me time today but saved my client money.

The point of the blog mention today is twofold. One to let you know how Performance Advisor has made my life easier, but second of all is that I am noticing a trend with 3rd party tools. The trend that I am seeing is that people purchase the tool because it helps them with on problem or another. Once they get the tool installed configured and the problem resolved then they do not pay much attention to the tool from there on out. I have seen this not only with the tool that I have mentioned but also with the tools that I have used before. If you are going to spend the money spend the time to learn the tool. Learn all that it can do and your life as a DBA can be made so much easier.

 
 

Oracle Releasing 41 Patches

Posted: January 10, 2009 in Uncategorized

Donald Farmer posted a link that took me to an article where it said that Oracle is prepping a 41 patch release, 10 of these are going to be for the database product. Yet just earlier today I was noticing online that next weeks patch release from Microsoft is planned to be on 1, and it is not SQL Server related. Now I normally won’t go into detail with Oracle information, I have little experience with it, I took a couple RAC classes and that was about it. But this does seam to be a bit high to me. If I remember correctly Microsoft had its largest patch release ever last month with something like 27.

Just some quick food for thought.

 

Working on my Blog

Posted: January 9, 2009 in Uncategorized

I have found that a blog entry that I did not the 5th has disappeared. I will re-post it in the next couple days.