Archive for the ‘Work’ Category

My New Job

Wednesday, January 4th, 2012

Several months ago I accepted a promotion from my employer. This is my first foray into management. I have held onto my SQL responsibilities, but also took on the honor of supervising the Windows Server Team. This is a team of seven talented and capable individuals. One of the challenges to this position is that it came about due to a reorganization and two disparate teams have been brought together to be one server team. Three of the team members work with me at the data center, and four were dispersed across the other hospitals in my organization. Turning these hard working, talented individuals into a cohesive team is my initial goal. Doing this as we open our second data center is adding some to that challenge.
One of my first responsibilities was to hire the eighth member of my team who will at least for a while fill a unique position as a facility and data center based employee. The gentleman I chose brought a fantastic tool set to the team that I will be utilizing in the future. He is also taking his first steps to become a SQL DBA and free up more of my time to lead.
I wish I could say that I have all the tools and knowledge to make this a smooth transition for the team and myself, but instead I am learning how much I need to learn about personalities, and more importantly how to lead my team to fulfill my vision.

But that is all for now. More as I continue to figure out where I am going.

Removing < CR >< LF > During a Query

Tuesday, March 22nd, 2011

As you may have noticed, or not noticed, I have not done anything blog-worthy in quite a while. Well, actually that is not true, I have done a few things in Windows PowerShell that I think are kinda cool but the blog post is still swimming around in my mind and I have not sat down at typed it out, yet. But anyway, I did something this morning that I bet will pop up again and I think I should put it somewhere what I can find it later. So you get to hear about it also. I was building a fairly simple SSIS package. Select data from a database and write it to a text file. They don’t get much easier in my experience. I was using < CR >< LF > as my new row indicator. That seemed to work and I was going on to my next project. The customer called me. It seems that embedded in two of the columns (a text field) the users could and did use < CR >< LF > to format the text in the field. Well that was really messing with my extract. Never fear, dear readers, there is a solution. My good friend Mr. Google (or maybe Mr. Bing) let me know that char(13) was a carriage return and char(10) was a line feed. Well that made it easy. I edited my select statement to look something like this:

SELECT dbo.table.column1
,dbo.table.column2
,replace(replace(dbo.table.column3,char(13),’’),char(10),’’) as ‘column3’
,replace(replace(dbo.table.column4,char(13),’’),char(10),’’) as ‘column4’
FROM dbo.table
ORDER BY dbo.table.column1

I no longer had < CR >< LF > inside the column impacting my extract. Everyone was happy.

Are All Test Environments Created Equal?

Tuesday, April 28th, 2009

I don’t know about your environment, but at mine we have two classes of systems: Prod and Test.  So as you can guess, anything that is not Prod is Test.  That’s a pretty simple definition.  Further defined anything that has a DR priority of 6 or less is PROD and anything 7 or greater (or not graded) is test.  This makes live very simple, or so it would seem.  So that brings me back to my question: Are All test environments created equal?  On the one hand an answer of “yes” lets everyone know what to expect.

  • Will the Test system be backed up?
  • If it is backed up, what is the retention?
  • What level of disk redundancy is available?
  • Can Test servers be physical hardware or VM only?
  • What is the recovery priority if needed?

This sounds like a pretty straight forward way to go.  But on the other hand does one size fit all? We use many of our test systems for training.  The current production system refreshed the test system, the upgrades are done to the test system and the end users are trained on the new system using the test environment.  New employees are also trained on this system on an ongoing basis.  So here’s the scenario.  A medical system is going live in 2 days.  100 nurses need to be trained. Training takes 2 hours.  The medical facility calls in PRN staff to cover the nurses during training.  Let’s just assume all the nurses make the nation average that I googled a few minutes ago of $45,000 per year + benefits or $21.63 per hour + 39% benefit package.  (yep, made that benefit number up makes it an easier $30.00 per hour labor cost) lets also say the training room can accommodate 10 students.  Just for fun, lets also say the contract with the trainer is for two 12 hour days at $50.00 per hour including expenses.  My calculations work out to about $660.00 per hour of training or sitting if the test system is not available. 

  • $30.00 per hour of the nurse in training
  • $30.00 per hour of the nurse replacing the nurse in training
  • $60.00 per instruction hour by the trainer ($600 per day/10 instruction hours)
  • Ten nurses and replacements

I’d hate to image the cost if we were training doctors rather than nurses.  Does that system have the same requirements as the “sandbox” I use to experiment and document the SQL 2005 SP3 upgrade?

So when does this discussion happen?  Usually it involves the SAN/Backup team.  They are charged with providing disk for servers and ensuring that what is on that disk is archived and recoverable within a reasonable time.  I don’t envy their position at all.  They also have to balance backup windows, and backing up test databases uses equipment and storage that the Prod system could be using.  There are only so many data paths and hours in the day and purging old data seems to be a thing of the past.  So I’m not sure a simplistic look at Prod/Test is appropriate.  As we look at tiered storage, tiered version of SQL do we also need to look at tiered test environments or break the model completely and add a couple more tiers.  Prod, Train, Test, Sandbox.  Then place policies and expectations at each level.  How about your environment?  Do you ever struggle with getting other teams to understand the cost of data that is not “Production”?  Of course that leads into the “we want to test this software and see if it solves the problem and now we have 100 users depending on it” issue, but that’s another day.

Start the Meeting on Time

Wednesday, March 25th, 2009

“What You Tolerate, You Encourage”  I am getting really fed up with meetings, web conferences, teleconferences, board meetings, etc. that can’t seem to start on time.  If you want to have a meeting at 10:30, start the meeting at 10:30.  I have attended one to many web conferences that start 10 minutes late, then don’t have time for Q&A at the end because the presenter wants to “respect everyone’s time”.  Hello! what about the 10 minutes you wasted waiting for those who don’t have enough respect for your time to show up on schedule?  Why punish the punctual?  If you start on time, those who are late and don’t want to miss anything might try harder next time.  I once worked for a company where the VP would call a meeting.  When the meeting time arrived, he locked the door.  If you weren’t there you missed the meeting.  I don’t know of anyone who was late more than once.  That worked for me.  Have we become such a wishy-washy society that we are afraid we will offend those who don’t have basic respect for the meeting organizer?  I will not get onto me soap box about respect, just look out the car window as you drive down any road and you will see how much we “respect our planet and each other.”  I’m tired of it.  If you are putting together a meeting and you want to be respectful of the time of someone who may be exiting another meeting, schedule the meeting for 5 minutes ofter the hour, then everyone will know when you plan to start.  The punctual will be there on time, as usual.  Yes, I know things come up and occasionally you have to be late.  But is that the fault of everyone else?  Be late, if that works for you.  But don’t expect me to wait on you.  just remember – the world is run by those who show up.  If you get there behind me who has a better chance of determining the direction?  So take a stand.  Start your meeting on time.  It will catch a few people off guard, but maybe we can bring a little respect back into our world.

Push me over the edge

Thursday, March 19th, 2009

Like most of you, we have an Intranet at our office.  Also like most of you it is a very useful tool to store information and launch web based applications.  I like our Intranet.  I find it very useful.  In fact, it is my home page for Internet Explorer.  (Of course our .net heavy intranet is the only thing I use IE, but still the Intranet is my home page)  That being said, one of the most useful tools to me is the phone list.  Seriously, it is interfaced with the phone switch and it always up to date.  I use it often.  On the home page of our Intranet is a phone list search box.  I think it is great.  Unfortunately, someone with too much power and is not afraid to use it has taken it too far.  You didn’t think the whole post would be “I love my Intranet” did you?  Someone decided that clicking  a web browser icon and going to the Intranet (if it’s not your homepage) is too much work so they decided that everyone needs to have a desktop icon for the phone list.  I’m still trying to figure out if minimizing everything to find the icon is less work.  So they fired up the “Worlds Greatest Icon Pusher” (SMS for short) and pushed out an icon for the telephone list web page to every desktop.  Oh, but wait there’s more.  Every time SMS does an inventory if checks to see if you have the icon and if you don’t it pushed it back out again.  Now I have to admit, I have never clicked on this icon so I suppose there is the possibility that world peace and cancer cures would spontaneously occur my user experience would be exponentially better than the search box on the homepage.  Now for most of you, another icon on your desktop would not even be noticed.  But I am a little strange (O.K. not a little) my desktop is black, I have no icons on it.  I even use TweakUI to remove the recycle bin icon.  I mean two 19″ monitors with a taskbar on one is all you see if everything is minimized.  But that is the point.  I usually have dozens of windows open.  SSMS 2005, SSMS2008, Outlook, Word, Text editors, Etc.  If I need a phone number, it is so much easier to hit IE from the Quick Launch bar.  But every once in a while I cleanup all my open windows and I get stuck looking at the hideous red 1980′s looking telephone icon totally ruining the zen of my minimalist desktop.  I have even gone to the desktop/SMS gurus and humbly requested that I be removed from this random deployment, but alas their hands are tied.  Everyone must have the icon.  O.K., I feel better now.  Back to real work.

Things You Know Now

Thursday, February 12th, 2009

Denny Cherry tagged me in a blog thread with a question asking “What do you wish you knew when you started?”.  So here you go.  As you know I am still relatively new to the SQL profession so I’m still figuring out what I don’t know.  I seem to find several every day, so I’m going to step back to my IT career in general.  I think some will continue to ring true.

Don’t be afraid of new technology.

For a long time I had a love/hate relationship with new technology.  I love getting into it, learning about it, and deploying it.  It’s quite a rush to be the first one to attain knowledge and being the go-to person for something cutting edge.  But I also had a fear of new technology.  “Will this technology and automation make me obsolete?”  A few years ago blades started to trickle into the datacenters.  This was one of those times.  I can take a blade out of a box and slide it into a chassis, boot from the SAN image, and a failed server is fixed.  Wow, they don’t need someone of my salary to do that.  No more messing with cables, world wide names, KVM swaps.  But I found just the opposite is true.  They needed someone of my salary level to get it working and stable.  Hey guess what, others can do the break/fix, I get to do more fun stuff.  Linux and virtualization at that time.  I’m wondering how the cloud will fit this model.

The manual is not the enemy.

I don’t know why I do it, I guess it’s a macho thing.  I would never read the manuals, in public.  But somehow the CD would slip into my backpack when we were having a problem and somehow magically I would have a brilliant idea over night that would solve the problem.  If I would have just grabbed the CD and gone to my desk I could have saved hours of “poke and hope” troubleshooting.  Now I have no problem saying “lets see if we are doing this the way the people who built it wants it done.”  I always hate it after struggling for hours to get something working, I look at the manual and in big black print I read something like this “before installing the flux capacitor make sure the knueter valve is set to 42% or the capacitor will not initially charge”  and I think “crap I cranked that puppy all the way up, no wonder it didn’t work.”

See the big picture

I used to just worry about my piece of the puzzle.  Give me a task and a due date and get the heck out of my way.  But I learned to take a step back and see how my piece fit into the whole puzzle and look to see how my knowledge and experience can assist the project as a whole.  What is hard for some may be easy for me, or I have a different approach that make it easier for everyone.  Ask questions respectively, which will lead into my next topic.

Watch my mouth

This one got me into real trouble.  I was in a meeting and a manager was describing a problem and had some pronoun problems.  “It” referred to 4 or 5 different things.  I couldn’t follow the description with a GPS and a big orange “you are here” arrow.  Not thinking about how it would sound, I asked if they could explain it again using a few less pronouns.  That was offensive to that manager, and to my manager who wasn’t even in the meeting to hear it.  I do believe there is a note in my personnel file about this one.  Asking better questions in private would have been a much better path.  That manager and I are back to being friends, but that experience is never out of my mind.

So now it’s my turn to pass this along.  Let see, who hasn’t been hit….  How about

Jimmy May (@aspiringgeek on Twitter)

Kevin Hill (@kevin3NF on Twitter)

Professional New Year’s Resolutions

Tuesday, December 30th, 2008

Well, I’ve been tagged.  SQLBatman has tagged me to post my New Years Resolutions.  I have so much room for professional development I’m not sure where to start.  So I’ll start with some pain points.  So here they are:

1.  Get Certified. I have been in the IT business for over 10 years and have not taken any certification exams since I was a NetWare 4.0 admin.  Since I think I’ll be hanging out in the database world for the foreseeable future, I think I should prove my skills.

2.  Learn to effectively use profiler. I hate how much time I spend setting up a trace because I really don’t know what I’m looking for I also need to increase my experience at reading traces to make correct resolutions to issues faster.

3.  Be able to resolve some of the basic, recuring Oracle issues I get paged with and must pass off to our Oracle DBAs. I share on-call with our Oracle & Sybase DBAs.  I feel so guilty to have to call them for any Oracle log I get.  One has been a DBA for 10 years and the other 30 years (going all the way back to our mainframe days) they can resolve out MSSQL logs most of the time without my assistance, I need to return the favor.

4.  Learn SQL Server Analysis Services. Judging from the keynotes at SQLPass, SSAS will have a much larger footprint during 2009.  I need to know how to troubleshoot and support it.

So it’s my turn to share the love.  I, like SQLBatman, do not know how has been blessed with this task.

You have been tagged:

Neil Watkins

Jimmy May

Susan Delaney

Michelle Ufford

Wiki

Saturday, December 20th, 2008

A few weeks ago the three DBAs at our company were discussing our lack of decent, usable documentation of all the quirky things we have had to do keep our system running.  We had a few choices on how we would do this, we could use our company knowledge base, we could continue the unorganized mess of our team directory on a file server, we could build a wiki and use full text search to find things.  We ran into some procedural/political issues with using the company knowlege base.  The team directory was a bigger project than anyone wanted tackle.  So I downloaded a MediaWiki virtual appliance and had our VMware admin install it on an ESX server and we were good to go.  Another DBA spent some time building some templates so we can try to keep the knowledge in standardized format.  This will be a very interesting experiment.  I’d be interested to hear how others organize their databse knowledge.