Just a day after finding out I am going to be a daddy, I got some more great news and the timing really could not be better. I just found out that I have been promoted at work. So now I have a shiny new Senior title to live up to and a decent pay increase. Like I said timing was great. I am very happy and honored to be considered by my peers and bosses to be at a senior DBA level and I look forward to expanding my knowledge and skills to make sure that I do not let anyone down.
I am very happy to announce that I am having a baby. Good thing that I do not really buy into the end of the world being tomorrow or I might not be so happy about this. My wife is due in Very early January so we are very excited to have a new years baby. I am sure that this will keep me very busy but I am sure it will also give me some fun things to blog about and perhaps stories that I can relate to tech.
Anyway, Just wanted to let you all know.
More to come
Ever have a vendor call and tell you that the database instance is the reason the app is not running correctly or very slowly?
I did. They were installing an application and called me 7 hours into the install process to tell me that something was occurring on my database instance that was causing this install, that should take no more then an hour, to run so long. Really??? You call me after 7 hours… Get a CLUE!! Call me in an hour and have me check it out…
Anyway, I checked and did not really see any indication of any issue with the instance. They did not believe me and wanted to get a database support person on the line from the vendor to take a look. I obliged and did a remote session with them and what do you know… They agreed with me. The Database was fine but the installer had the issue.
Then the app installer is written so poorly that when you cancel the install it is faster to rebuild the windows server then it is to clean up what the application has done to the server. WOW… So they did that, I deleted the database that it had created and they ran the installer again. Completed in less then 20 minutes. But we wasted 6 hours or more before trying to figure it out and then we just pointed the finger. Thanks guys.
I am not a developer and I do not want to be and I know that developers have a job to get done but…..
Why is it that developers want to have elevated privileges in production??
That one I think I can answer at least partly.. From my experience it is because they want to test code in production. To that I ask WHY??? I have provided you a DEV, and Test server as well as QA. I do not get it… I know that I want to have the fewest priveledges required to do my job. Now as a DBA that means I get sysadmin role on all my SQL Servers but I do not need a Domain Admin account. I used to have one when I was a Systems Administrator but when I became a DBA I no longer require it. I do not want to have the ability to break something in production when I should be testing in DEV or TEST.
I recently had to do a restore of a prod database because a dev was running test code and blew up some data. I know that it is my fault for not taking away that level of access for them but that is something that I am working on and I just have not won that battle yet. I am getting close and now again this is more ammo for me.
Do you use a third party backup utility? If you do are you in charge of the tool and the infrastructure that it sits on? Well if you do then you are lucky. As a DBA I think that my first priority is to make sure that I have backups and backups that can be recovered of all of my Databases, production anyway. Well this is being taken away from me and I have some strong feelings about this and this morning a situation came up that proved to me that my frustration is justified.
We use a tool that another group is responsible for. They set up the backups, monitor the backups, and are also responsible for the database restores. I, as a DBA, have a major issue with this. I know that I, like many of you DBA’s out there, am a control freak. I have a need to know for sure that my databases are being backed up, that the backups are safe and secure, and that they are actually recoverable. The way that our system works right now I cannot really do much about anything. To help put my mind at ease I have written a script that will go out and look at every database that I have and report back on the last full backup date and put that into a database all my own so I can keep track of it over time. That helps now that I can alert that a database has not been backed up, but I still have a few issues with this set up.
So with this tool and the way things are set up currently I really feel like I am not able to do that part of my job effectively. I think I might have some real ammunition to fight this now though. Today a user needed a restore of a prod database and no one on that team was available. Bad that the restore had to wait but good for me to maybe get some things changed.
Yesterday I got a call from a coworker who was having an issue with a script. He was looking to get some properties from an object and check the values. The problem is that the properties that he was checking also happened to be a collection of objects. So the problem he was having is that you can not compare the a collection of objects to be equal to one value. After looking at it using the get-member cmdlet, I found that we could make it easier by doing a cmdlet | select | where and then we do not even need the if statements because we are getting the most minimal dataset possible first. Then all we had to do was check to see if the resulting dataset was -eq $null. If so then he wanted to know and if not he did not care about that object. Easy money.
Thing to learn here is that you should always pull back the smallest dataset possible.
Hope that helps.
Yet another breach of security. This time it is the Sony Network. If you use a PS3 and play games or use it for video or other services keep an eye out.
Good article about it here.
Keep an eye out
Today I finished my abstract for my “Powershell for the DBA” session for the PASS Summit. I am very hopeful that I will get the opportunity to speak at Summit as I will not be attending this year if I am not. Also presenting is a lot of fun and I would love to speak at a larger forum. This session will be very close to the same one that I have done at SQL Saturday events in the past but I will be adding a bit more since I need to take 75 minutes and not 60. This will be very easy to do. I will add in some security and profile discussion to the session and a few more scripts as well.
If you would like to see what sessions have been submitted you can check at the link below.
Here’s to hoping that I am among the select few that get to speak and if I do I hope to see you there.
I got back from Vacation a couple days ago and in my mail box was the feedback forms from SQLSaturday #73 Orange County. I had just under 30 people in my session and I did not get any where near that amount of forms but I am thankful for the ones that I did get. From the ones that I got back I only had three that said I did not exceed expectations of the session. That was nice and even on those three they all said that I met expectations. I did not get much actual written feedback and the only one that I got with some constructive criticism, and I appreciate the constructive criticism, said that I was a bit monotone. I agree with that and I think I can work on that and make it more exciting. So now I think I really can say that my session was a success and again I want to thank all that were involved with the event and especially the attendees that gave me some feedback.
All of my slides and the scripts for my “Powershell for the DBA” presentation are up at the SQL Saturday #73 site. Link Below.
Please remember that these scripts need to be tested in your environment. Please do not go running them in production without testing them thoroughly first. I am happy to provide them and help with them if needed but I will not accept any responsibility for them causing an issue in your environment.
Thanks and Enjoy.