Archive

Archive for the ‘Community’ Category

XDBA 2012 follow up

November 13, 2012 Leave a comment

I’ve just returned from Summit 2012 where I was officially recognized as the Exceptional DBA of 2012.  The love I felt from my peers and the community at large was almost overwhelming – in the very best way 🙂
Several times I had folks ask me what I did to win this award, so here are my answers to the XDBA 2012 interview questions for the world to see.

-Enjoy!

Hey look! that has my name on it!

 

Q1 of 5: Briefly describe your job history as a DBA.

I am a self trained, home grown DBA. I’ve been with the same company for the last 14 years, starting out on the sales floor and moved quickly into IT. Within months I moved from my position as the ‘help desk girl’ to administrating business critical systems. When our company migrated from our legacy VMS system to a SQL Server based ERP I stepped up to be a backup resource for our lonely DBA. When he left the company I took over as the solo DBA and I’ve happily been in that position for the last 6 years

 

Q2 of 5: What has been your biggest accomplishment so far in their DBA career?

I feel like I have several accomplishments in my DBA career, but the one I’m most proud of to date is that I’ve managed to maintain the availability and performance the company needs out of our Dynamics GP databases as we’ve grown as a business. We are one of the largest installs of GP in the US, have a highly customized database and have a high (for GP) daily transaction rate. Despite that I’ve kept it running well for the last 6 years.

I am also very proud of my community involvement. Over the last three years I have become quite involved in the PASS family as the virtual chapter leader of WIT, an officer on the board for my local PASS chapter, offering assistance on #SQLHELP and speaking at SQL Saturdays.

 

Q3 of 5: What is the biggest mistake you have made as a DBA, and how did you deal with it?

To date the biggest mistake I’ve made as a DBA was a total rookie mistake! I was in the midst of preparing a test server for use. In our shop that includes a full restore of production databases followed by cleaning up database users and a handful of other configurations that reside in the databases. This is a process I’ve done so many times I could almost do it in my sleep, have completely documented and scripted. It was a busy day in the office I share with the rest of the Operations team and I was distracted. I finished the restore and before I could start the script to drop users from the databases I was called to handle a quick issue on production.

I took care of the prod issue and then opened my cleanup script and hit F5. It took all of 30 seconds for my phone to start ringing – I had dropped all users from production at 2pm on a Tuesday!

Needless to say it didn’t take long for me to figure out what I had done, and I asked my teammates to handle the phone and questions while I fixed the issue. Fortunately I had just restored the previous nights backup so I had the users listed out on my test system and was able to move them over to prod using scripts I had saved from a previous migration. I think it took less than 10 minutes to get us back up and running.

Once I made sure the business was functional again I set out to modify my cleanup scripts to prevent this from happening again. I added a simple bit of T-SQL to the beginning of all of my scripts for setting up a test system that checks the instance name. If that instance name is our production system the script fails.

My last task for that day was to write up what had happened, how I modified my process to prevent it from happening, and what the business impact was and send that out to the leadership team at my company.

 

Q4 of 5: What SQL Server community activities have you participated in?

I am a sometimes blogger at meredithryan.worpress.com, have a few articles over at sswug.com, and participate on #SQLHELP as time permits. I also try to get to at least 4 SQL Saturdays in the southwest US a year either as a speaker or attendee. I have been attending the PASS Summit every year since 2003, and for the last three years have been the chapter leader of the WIT VC. For the last year I have been on the board of my local PASS chapter in Albuquerque, as the Communications Officer and Vice President and plan on continuing in that role for as long as they will have me.

 

Q5 of 5: Finally, why do you think you should win the Exceptional DBA Award?

I’ve spent the last 6 years trying very hard to balance the needs of my business with best practices for SQL Server and ensure the safety and reliability of our databases. This hasn’t always been easy, and has taken some creativity on my part and my coworkers parts, but I think I’ve done a top notch job of it. I don’t always get to follow best practices with my databases, and some of the processes and practices we have in place would make other DBA’s cringe, (some of them make me cringe too), but I know for a fact that every decision I’ve made has been to give the business what it needs to maintain growth, and in turn meet the needs of our customers.

I am by no means an expert in SQL Server, but I go out of my way to pick up the skills the business needs me to have, and to admit when I don’t know something. Once I identify that knowledge gap I either go learn what I need to learn or help find the appropriate resource to fill it.

Categories: Community

Slip Sliding Away

Time is creeping away from me these days.  I’ve had some major life changes in the last year and while I’m not going to air those here, I’ve at times felt it was all I could do to keep up with my day job, community responsibilities, and all those things that must be done to keep life rolling.  Needless to say, keeping up with this blog has been at the end of my long list of high priorities while I’ve attempted to find my new rhythm.  I think (hope) that I’m back to a place that will allow me to keep this semi-regularly updated from here on out.

Here goes nothing!

While I was away I managed to pack in Summit 2011, SQL Saturday 104, and SQL Saturday 109 as well as an ERP Vendor Shootout.

I’m not going to spend time trying to summarize my experiances at Summit and SQL Saturday 104 – It’s been too long, and I certainly wont’ do justice to either.  You should know that Summit 2011 was one of the best yet  – every year Summit gets better and better.  SQL Saturday 104 was great as well.  I delivered a Backup Basics session to a great group of folks, and the organizers did a fantastic job doubling the size of their event (or did they triple it?) from the first year.  Colorado Springs will be an event I don’t plan on missing in the future – and you should make the effort to join them next year.

I will tell you a little bit about SQL Saturday 109 though.  I have to hand it to Mark Ginnenbaugh, Ross Mistry and their team of volunteers.  They put on a great show, with an all star cast of speakers for their inaugural event.  I believe the attendee count was right at 450, which is a feat in itself for the first SQL Saturday in Silicon Valley.  The session selection was top notch – in fact I had tough choices to make for each session slot, and really wished that sessions had been recorded for playback after the event.  I think the top session for me was Grant Babb’s session on Pro-I : open source security monitoring on SQL2008 because it was completely new material for me.  Don’t get me wrong – security isn’t a new concept for me, but I’d not considered what it would take to create a proactive monitoring system end to end using SQL Server and the work he and his team did is fascinating to me.  In fact I plan on sharing it with my co-workers this week as something to consider in our shop.

Other sessions I attended included Angel Abundez’s session on Reporting Services for mobile platforms, Wendy Pastrick’s Replication session, Denise McInerney’s session on Begin.. Commit, and Allan Hirt’s session on High Availability in 2012.  The day was rounded out with the Women in Tech lunch panel.  I had the pleasure of sitting on the panel with Wendy Pastrick (@wendy_dance), Jen Stirrup (@jenstirrup), and Nikila Srinivasan (@nikisrinivasan), moderated by Denise McInerney (@denisemc06).  We had a great discussion about why we keep talking about Women in Tech.  Both Jen and Nikila brought diversity and insights to the panel that we’ve not always had at previous SQL Saturday WIT events.

I’m still gathering my thoughts on the ERP Shootout – while it wasn’t really a SQL centric event in any way, the format was interesting and I can see a place for that type of event in our community – imagine if we had an event to see all of the 3 party packages for say, backups following the same scripts, using the same databases, on the same hardware, back to back.  Would that be valuable to you?  I could see how it would be if your company was in the process of evaluating toolsets.   I have more to say on the event in general and the format as well.

Categories: Community, SQL, SQLSaturday

Let’s see some sparks people!

August 16, 2011 3 comments

First a disclaimer – this post has very little to do with SQL, or even IT; rather it is all about community and sparks.

I attended Ignite NM 11 last night, and was very disappointed in myself that I managed to miss the first 10 events.  That’s right.  I missed 10 other opportunities over the last 3 years to participate in my community, and watch other people talk about their passions.  For those of you that are unfamiliar with Ignite talks they are 5 minute presentations similar to the Lightning Talks at PASS Summit (speaking of, go submit now you have until August 17, 2011) with a few differences.  At an Ignite talk you have 5 minutes, 20 slides, 15 seconds a slide.  Speakers submit abstracts and the community votes on their favorites.  The result is truly an evening full of diverse presentations by folks with differing levels of public speaking skills.  Last night I was introduced to organizations ranging from The Metropolitan Homelessness Project to the Challenger Learning Centers   and in the same evening learned a little bit about alternate plant sources for the paper industry, what it is like to live in a dune shack for 3 weeks, and how to publish a ‘zine.   All of that, and I missed at least 3 Sparks while I took a phone call outside.  The event ran just over 2 hours, included ample networking time before hand, during an intermission, and after the last spark and was a great way to reconnect with old and dear friends as well as meet a few new people that I otherwise would never run into.

The evening started as a way for me to get out of the house, avoid yet another night of talking to the dog and cats about SQL server and things happening at work, and wound up being just like a first date.  I left feeling energized about the community I live in.  I left with sparks of my own floating in my head.  I left with a long list of things and groups to research, a desire to help out with Quelab, and a reminder that there are folks out there that are passionate about the things they know in my local community.

That reminder is important to me for a couple of reasons.  I find myself energized when I surround myself with passionate people.  I thrive in situations that allow me to tap into someone else’s enthusiasm to recharge my own batteries.  Generally I get my recharge by attending PASS Summit, SQL Saturdays and even ABQSQL meetings.  To find yet another venue that is close to home to charge myself up is a fantastic thing.  To find another venue that introduces me to even more places to find passionate people is better than fantastic… fantabulous maybe?

So, what are my next steps?  Fortunately I have SQLSaturday #95 booked in September, PASS Summit in October and SQLinTheCity in late October so I can get my DBA fix, and in the time between those events I plan on meeting up with the gang at Quelab to see what I might contribute to their efforts, and I might just develop a spark of my own for IgniteNM 12.

You should do the same…

Categories: Community, PASS, SQLSaturday

Working with Principles to guide you in IT Part 1

This is the second post in a series of at least 16 that speaks to the way I’ve come to practice DBA and Sys Admin work while meeting the cultural expectations set by my workplace.

 

Do what you agree to do.

Those have to be some of the simplest words in the English language to understand.  It certainly seems like a basic enough statement to me, however I’ve come to realize that this statement, like many others, is easier said than done.   There are all sorts of reasons why someone can’t, won’t or didn’t do what they agreed to do yet the end result is always the same.  Someone feels disappointed, a business goal is missed, a personal goal is missed, or confidence and trust is broken.

So, what does this simple statement mean to me as an admin?  It means that I have to think very carefully about what I agree to do at any given point in time.   Any time a request is made of me I go through a quick checklist in my head:

  1. Do I fully understand the scope of the request?
  2. Do both the requester and I have the same understanding of the desired end result?
  3. Do I have the time and capacity to fulfill the request at this time?
  4. Do I have the expertise and/or tools needed to fulfill the request?
  5. Am I the best resource to complete this request?
  6. Does this meet a business need  (critical or otherwise)?

If I can’t give an honest answer of ‘Yes’ to all of these questions I will continue the conversation with the person making the request of me and strive to either turn any of those no answers into a yes, or to find a more appropriate resource for the task.

It took me a long time to develop this list of questions, and honestly, prior to having them I often bit off more than I could effectively chew both in expertise and capacity.  I also found myself spinning my wheels trying to accomplish a task that didn’t meet a business need.   It’s not a great place to be as an admin (DBA or otherwise).   You wind up working late nights and weekends, loosing out on social events, family time, sleep, and personal time only to have your efforts fall flat because you provided functionality that wasn’t needed or wanted by the business.  Or, worse yet, someone in a leadership role notices that you’ve spent the time on a project or task that was essentially a waste of time and wants an explanation.

By working through this checklist each time I am asked to accomplish something I am able to ensure that the work I take on is meaningful, and is also something that can be accomplished.  It also gives me a little bit of extra credibility with the people I work with.  By asking these questions I am forced to evaluate my current workload on a daily basis in order to answer question number 3.  By knowing what I have on my plate at any given time, and by fully understanding what each task will take to accomplish I am able to set reasonable expectations with my co-workers.  I don’t have to guess about how many days or weeks it will be before I can get a new development instance stood up because I know how many other tasks and projects I’ve already committed to and approximately how long each one will take.  By setting expectations and being able to tell a requester that I will be able to complete their request, and that it will take a week because of the requests ahead of theirs we are able to either talk to the folks ahead of them in my queue to either re-prioritize, or worst case a reasonable deadline has been set and no one has to wonder when something will be done.

I will caution you that this type of scheduling and setting of expectations takes experience and time – give yourself some pad time if you’re not used to working this way.

The end result of all of this is that I ultimately meet more deadlines than I miss, my co-workers are happy with my performance, and I don’t feel stressed by deadlines most of the time.  Also, after a length of time working like this I found that I didn’t get nearly as much push back when I wasn’t able to commit to a request, or I suggested a different resource.  My co-workers had come to learn that if I was truly able to accomplish something I would do so, and otherwise I would let them know up front.

Now, I know, at least one of you out there is saying under your breath that this all sounds well and good, but we work in IT, and our workflow is not always within our control – and you’re absolutely correct.  Seemingly unpredictable things happen in IT, particularly on the Operations side of the house.  Machines experience failures of one type or another, partners don’t deliver code on time, or as expected, our customers (users) can have unexpected impacts on our systems.  All of that is absolutely true, and also absolutely manageable when it comes to adjusting expectations.  Communication is key here.  If you have issues arise that put one or more of your deadlines in jeopardy it impetus is on you to advise the folks depending on you of that.   It takes far less time to jot off a quick email letting someone know that their request is going to take a day, or week longer than expected because of a situation outside of your control than it does to deal with the consequences of missing that deadline to begin with.   And hopefully, you have padded your deadlines just enough that you might still be able to hit your original deadline – it’s a WIN\WIN situation if that happens.

Some side effects of working by this principle

There are some (for me) unexpected side effects of striving to work by this principle.  The first one is that I find myself asking a similar set of questions before taking on tasks in my personal life as well.  This causes me to evaluate what is important for me to accomplish at home and with my friends, and that’s a good thing in my opinion.  I know what I am capable of, and what is going to leave me feeling stressed so I feel like I have better balance in life.

I also am finding myself assuming that every one places as much importance on this principle as I do, and when others don’t meet their commitments to me it leaves me feeling more disappointed than I did earlier in life.  I find this side effect less okay than the first, because my confidence and trust in others seems to be more fragile than it reasonably should be.  I go into each interaction I have with other people expecting them to do what they agree to, and like it or not, many people just don’t – for many reasons.  I’m still figuring out how to moderate my reaction when other people miss deadlines, or just plain don’t do what they agreed to.  If you have any sage advise on ways to handle that please leave it in the comments – I’m all ears!

Related posts: It’s Confession Time

Categories: Community, Prof Dev

It’s Confession Time

June 9, 2011 3 comments

I have a confession to make.  I’ve been working for the same company for just 3 months shy of 13 years, and I’ve been a part of that same company’s IT Operations team for just shy of 12 years.  I know, I know.  That simple fact makes me a dinosaur in the IT world, and it also means that I’m likely underpaid and that I likely have a limited set of experiences from which to draw from.  While I recognize why IT folks hop around from one company to another I have a handful of reasons why I’ve stayed in the same place for so long, and why I have no intention to leave any time soon.  This post and subsequent ones will share some of those reasons and hopefully show you that it is possible to find a perfect fit where employment is concerned.

I have my reasons.

The first thing I want to share with you is that the company I work for and I have shared values.

No, really, we do.

I place a high value on family, friends, and local communities that I exist in.  So does the company I work for.  It is a privately held corporation that has been run by the same family since the beginning in 1944.  The sons and daughters of the founder sit on the board of directors with the addition of a few close, long-term friends.  I know that for some the idea of a medium sized corporation being run by brothers and sisters is a bit scary, but trust me – it works in our case.   The company I work for participates in both the local community via charitable donations to local groups and allowing and encouraging employees to take part in local efforts like Junior Achievement.  It also participates in the community we serve with our business by donating to groups like Jewelers for Children, assisting with sponsorships to events like The Santa Fe Symposium, and processing scrap precious metals for efforts like Jewelers for Japan.

The company I work for and I both place a high value on our impact to the environment.  I am able to recycle at work almost more easily than I can at home, there are efforts to reduce energy usage, reduce waste, and in general be good citizens of this planet that happen on a constant basis at work.  I know that these things all make good economic sense in the long run, but they do take effort to coordinate and maintain and that time and effort can all but eliminate any cost savings you might see as a corporation, yet the company I work for still does it.

The company I work for takes a principle-based approach to guiding behavior rather than being bound by rules that have no flex or give.  This is a big one for me.  Nothing makes me more frustrated than a rule that doesn’t apply to the situation, yet must be enforced because it is the rule.  By allowing principles to guide the behavior and our decision making process we are able to be more agile, make quicker decisions, and adapt to situations more quickly than a business that is bound by a rule book full of policy and procedure, and that suites me just fine.  As my family and friends can attest I stopped seeing the world in black and white a long time ago, and working in a company that recognizes the multiple shades of gray, while maintaining ethics and remaining law abiding is just about perfect for me.

Speaking of Principles

While I’m mentioning our principle-based approach, it may be helpful for you to see them in print.  It will give you a basis for where I come from in both my writing and my presenting.

  1. Do what you agree to do.
  2. Do not encroach on other people or their property.
  3. Create an environment of trust.
  4. Be open and honest.
  5. Treat everyone with dignity and respect.
  6. Express and value all feelings, concerns, and ideas equally.
  7. Exchange your best effort for the best effort of others.
  8. Develop long-term relationships of mutual benefit (WIN\WIN)
  9. Have fun.
  10. Passionately develop and pursue shared and individual purposes and goals.
  11. Strive to maintain a positive attitude at all times.
  12. Maintain your power to succeed by choosing not to believe you are a victim.
  13. Take responsibility for your part in each live experience and learn from it.
  14. Be successful by helping others to be successful and accepting that help for yourself.
  15. Lead by influence (using reason, benefits, and inspiration) rather than by coercion (using force, fear, and innuendo).

So there you have it, the 15 principles that guide the way the company I work for treats it’s stakeholders, and in this case it’s stakeholders are the owners, employees, customers, vendors, and any other partner you can think of.

Go ahead, read that list again.

I think it’s pretty impressive, and quite a lofty goal to get more than 300 people from all different walks of life to not only try to meet those principles, but to actually follow them day in and day out.  I’m happy to report that the company I work for is mostly successful at doing just that, and it makes for a quite happy workplace.  I do have to confess that it’s not easy to follow every principle every single day, and as a DBA and Sys Admin it would be a lot easier to use the ‘because I said so’ reason to explain many of the decisions I make about systems.  What I can tell you is that by following most of the principles above, especially when explaining to someone why they can’t have DBO rights to a database, or why they can’t be added to the Domain Admin role to simplify their access to files on the network there are far fewer hurt feelings, significantly less push back when I have to make drastic changes to permissions or systems, and honestly it takes less effort and time to treat people with respect and show reasons and benefits to changes than it does to have an argument about it.

Next up I will talk a bit about each of the principles and how they apply to IT.

Categories: Community, Prof Dev

Of course that’s how you spell sp_MSacquireHeadofQueueLock!

April 25, 2011 1 comment

 

 

If you are a blogger or speaker you probably cringe a little bit every time you have to reference a system object in your post or presentation and you see that little red squiggle under a system object name that you know is spelled correctly.. I know I did, and after the tweet below I knew that others were doing the same thing.

 

So, I stepped up to the challenge.

 

And the mssql.dic custom dictionary for Office was born. 

At this time the dictionary contains qualified and non-qualified names of system objects only (and only those that exist in sys.all_objects).  I’m sure that there’s a ton of other words that would be great to have in a dictionary, but hey – this is the first rev and I’m a busy DBA .  This has been tested on both Office 2007 and Office 2010, and the object names were pulled from SQL Server 2008 R2.

 

This is easily extended to create custom dictionaries for your environment – use the following query to pull object names for your specific databases:


SELECT  sys.schemas.name AS schemaname ,

        sys.all_objects.name AS objname

INTO    dba.dbo.dictionary

FROM    sys.all_objects

        JOIN sys.schemas ON sys.all_objects.schema_id = sys.schemas.schema_id

You can either then save the results as text or insert them into a table in your management database (this is what I did).

Feel free to download the file and use it for all of your documentation and presentation needs – did I mention that this works in Power Point as well?

Anyways, the file is here: mssql  Once you have the file downloaded save it as a unicode text file called mssql.dic in the following path:

 …\appdata\Roaming\Microsoft\UProof\  (same place as CUSTOM.DIC and your ExcludeDictionaryxxxxxx.lex files for office)

the instructions to import it into Office are here (use method 2).

Enjoy, and please leave any feedback or suggestions in the comments – I will continue adding to this dictionary and releasing it as needed.

 

 

Categories: Community, SQL

T-SQL Tuesday: Giving the Business what they really want

December 14, 2010 2 comments

       

This month’s T-SQL Tuesday is a topic that I hold near and dear.  It’s something that happens all the time.  Someone in a leadership or decision making capacity asks the IT group to solve a problem and that business user thinks that they know how to solve it.  Unfortunately, they are asking for the moon, and the solution either doesn’t make fiscal, technological, or just plain logical sense.

So, how does the person with the technology know how get the business a solution that will truly solve their business issue?  After many missteps and wasted capitol expenses we implemented a pretty straight forward process to translate business requests into technology solutions. 

We use a template for a Business Requirements Document that walks business groups through defining the business issue, and what they would like the desired end result to look like.  This template asks questions about physical processes, processes within software, and decision making points within the process and helps define what parts should be solved with technology.  Along with the BRD, we use theory of constraints to ensure that the BRD meets the root cause of the issue. 

Once the business team has completed the BRD, and their TOC work it is usually pretty apparent if the issue they are trying to solve requires a technology solution.  Only then does IT become involved. 

With the BRD, and TOC documents in hand it is left to the IT group to identify the proper technology for the issue.  IT then reports back to the business team with costs, timelines, and if possible alternate solutions.  Once everyone agrees and money and time has been allocated to the project it is scheduled and the real work begins.

I’ll be honest, this doesn’t always lead to the perfect solution that everyone is happy with, but more often than not it does help us solve business problems more correctly the first time and all stakeholders involved are able to feel like their input was taken into account.