Wednesday, December 15, 2010

My Christmas Wishlist




With Christmas less than 2 weeks away, I've been diligently shopping for family presents. Finally, just last night, my husband asks "was there anything you wanted for a Christmas present?". Well, yeah. But the things I *want* don't make any sense. Not one of them is anything practical or needed...
  1. Amazon Kindle*. I already own one. It's 1st Generation. It has a nice little slot for a memory card. The new ones don't. There is really no good reason I want to replace it other than it's out of date.
  2. iPad*. I have a smartphone. I have a 32GB iTouch. I have a laptop that lives in the living room. Why in the world would I need an iPad? I have no idea. They're just so....shiny....
  3. Droid X phone. I have a Droid already. Again, 1st Gen...I gotta quit early adopting!
  4. an L-Shaped couch. We had to move around some furniture to put the tree by the street-side window. So now we have a chair with an ottoman at a right-angle with the couch. There's the empty corner where we have a sad little side table, but the setup really would be great - IF we had the right couch. So, for now, it's the Clampet's version, and probably for several more years until the wee ones get older.
  5. A flat screen tv for the playroom. It won't be the playroom forever...right? Besides, where else can we play Kinect?
  6. Karaoke machine. I've been so frustrated with the playlists available when I go out (what, like twice a year?!) and after filching some of Aunt Kathi's tunes in Seattle, I'm planning to buy some of my own as well. Now, I just need a method for playing and singing along with them :)
All completely frivolous ideas. None needed. None practical. So, there Santa (if you're listening) there's my TRUE Christmas Wish List, world peace not included.

*Aside - I think I have entered every contest I can think of to win either of these items.

Tuesday, December 14, 2010

T-SQL Tuesday: What a Business Wants...

is not always what a business needs.

Anyone working on or with a Development Team understands there are communication barriers. Like the story of the three blind men describing an elephant, each person has their own perspective on what it is they 'want'. If I have learned anything at all over the years, it's that people (departments) often want things, but they either a) don't understand how to ask for it or b) refuse to listen to other ideas.

A great example is a project I was once handed where an entire process was laid out t-sql. A nightly process would run; a flat file would be generated; a proc would massage the data to a database table; another proc would remove any data that wasn't needed and then copy the data to an Access database on regional servers, which would in turn be copied to local user's machines.

The issue? Sometimes people's databases didn't have the same data. Really? I'm so shocked....

What did the business ask for: Make sure the copy process was working and delivering the database files in a timely manner.

That is certainly NOT what the business needed!

Fortunately, after several meetings and working with Sr. Management people, I was able to show sell them on a better way. This particular story has a happy ending, as the business got a stable process and a repeatable end product. Could I have given them what they 'wanted'? Sure. Would they have been happy with that? Maybe for a short time.

Unfortunately, there are more unsuccessful than successful stories out there. Working with people from different perspectives on any project will surely lead to differences of opinion. The difficult part is to make sure someone is stepping up and verifying what they NEED and not just what they WANT.

This T-SQL Tuesday topic has been brought to you at the prompting of Steve Jones (@Way0utwest | blog) and the T-SQL Tuesday project.

Wednesday, December 8, 2010

What's your PASSion?

It's a little late for a SQL PASS Summit 2010 recap, but I still wanted to share some of my experience from the event.

Each year, an award is given to a single recipient for displaying a passion in working with PASS and the SQL Server Community: The PASSion Award. This year, I was honored and humbled to be that person. Looking back at this past year, I'm dumbfounded to see all the things in which I became involved. It started with a letter sent to my current General Manager trying to justify my attendance at the Summit. What did I do? Started a new User Group in the Chicago suburbs, tried my hand at blogging, brought together Team SQL Saturday for the Chicago event, worked as co-chair for the Women In Technology Virtual Chapter, worked on the WIT Luncheon for the Summit, spoke at a few UG meetings and SQL Saturdays, and became a Regional Mentor for the Midwest. You know what, even looking at that list, I still feel that I didn't do all I wanted. Most of these things were (and still are) hard work, and yes, the ball gets dropped now and then. Looks like Michelangelo's theory is true:
“The greater danger for most of us lies not in setting our aim too high and falling short; but in setting our aim too low, and achieving our mark.”
I started thinking 'What drives passion'? What motivates any one person to get out there and spend their spare time working on things that may or may not come to fruition? Taking a look inward, I have to say that I never intended to do any of these things with any tangible goals in mind other than "bring people together". As to the question of Why? - honestly it was more the fact that I had a an opportunity to work with really fun people who wanted to do the same things I did - so, I took it. Maybe I just got lucky that those opportunities happened somewhat simultaneously. However, looking at it more realistically, each one grew out of another.

Thank you to all the wonderful people I've met, worked with and studied from over this past year. You make it fun and worth doing!

So, go now, find your PASSion and have fun, plus meet like-minded people along the way! You really can get back out of it, sometimes even greater than, what you put into it.

Consider yourself tagged :)

Monday, November 22, 2010

SQL PASS Election Review Committee

UPDATE: The email and website are now up. Send an email to erc@sqlpass.org or visit http://erc.sqlpass.org/ and see blog posts and forums dedicated to the topic.

Things have mostly settled down after some of the upset felt from the last Board of Directors election. Now that the Annual Summit is over and the newly elected Board members have been introduced, it's time to move forward.
How do we, as members of a vibrant technical community, ensure the success and growth of our organization? Is it the best idea to continue a popularity contest to choose our future Board Members? Does that serve our organization the best way possible? What happens if no one runs for the Board and there are empty seats? What happens if no qualified candidates submit to serve? What happens if we have 100 amazing candidates to choose from? How much transparency do people really want?

A bevy of questions...none with immediate answers. In part, this is the task of the newly appointed Election Review Committee. The committee is made up of a mixture of PASS people, all names you probably know: Joe Webb (our Chair and former Board member), Lori Edwards (Volunteer of the Year), Allen White (MVP and Speaker), K.Brian Kelley (from SQL Server Central fame) and myself make up the 'community' contingent. The remaining members: Andy Warren and Bill Graziano represent the current Board of Directors. Announced at the Summit, and made available to the attendees for open Q&A, this group has been tasked with reviewing the current Election process. Many questions have already come to light. Many more will likely surface before our task is complete.

"What is your task?", you may ask. Simply, to review the current Election process as it stands (including the role and function of the Nomination Committee) and present a slate of recommendations to the Board for consideration. There are no guarantees the Board will accept what we put in front of them. But, we are under a tight timeframe if we hope to faciliate any change prior to the next election.

You see, the thing about an organization as large as PASS is that they (rightly) adhere to rules of governance. This means there are rules to follow in order to change the rules. Now, I'm sure that sounds like a stupid amount of red tape to wade through when everyone knows something needs to change. Personally, I'm happy we have rules to follow. Without a set of standards in place, we could end up with changes that are a knee-jerk reaction and not necessarily the 'right' changes.

The end result, our set of recommendations to keep or change parts (or all) of the Election process will only come after much deliberation, review of other organizations' Board Election processes, ideas from the community, and finally, but most importantly, a desire to make sure PASS continues to be the organization we all want it to be.

There will be an email address and a forum set up for you to provide input or ideas you would like to share with us. I'll post that as an addendum here when it's ready. While I'm eager to see change in the process and happy that the Board has recognized there is an issue and has tasked themselves with fixing it; at the same time I'm hesitant to step into these shoes. Too often, people have placed themselves in positions where they honestly and truly want to help the organization and they end up being faced with growing a much thicker skin than they would ever want - even loosing friends and the respect of their colleagues in the process.  If you're still reading this, know that I place myself in that line of fire only because I care and I want to see PASS continue to prosper.

Enough for now, I will follow up with another post talking about where I believe changes are needed. Feel free to leave a comment here, but really, make sure you comment to the ERC when the email/forum becomes available.

Peace, y'all.

Friday, November 19, 2010

What's In A Name?

I suppose that depends on your name.
In our SQL Server community, there are more than a handful of readily recognizable names:
Buck Woody
Paul Randall
Kimberly Tripp
Kalen Delaney
Adam Machanic
Brent Ozar
Steve Jones
Andy Warren
...and the list goes on

Each one a respected member of the community and known for their expertise. Many we know as Authors or Bloggers in our sphere of knowledge. These people have worked many years building their Name as their Brand, whether they set out to do so initially or not.

Others, we know by the marketing they have built up around themselves:
Midnight DBA
SQL Fool
SQL Rockstar
SQL Chicken
Scary DBA
SQL Agent Man
...and the list goes on once more

Again, each a respected member of the community and known for their expertise. But how are they different? and Does it matter?

Whether you're branded by your name or by a logo or a 'handle' of some kind, as long as you are getting your message out and becoming recognizable I don't think it really matters. What does matter is what you choose to do with your brand. Do you want to build your brand, or do you want to be ruled by your brand? Those people in the first list may not have intended to become the household name (well within the SQL house anyhow) they are today. They have naturally worked their way out of obscurity and into our collective consciousness. Those in the 2nd list, I believe, chose to find a clever way to get themselves heard and reach above the masses to get noticed. Now, don't take that in a bad way, just because a Brand can be a vehicle for visibility, it doesn't mean it will work. Fortunately for those in the 'marketing' list, we have come to know them as Jen and Sean McCown, Michelle Ufford, Thomas LaRock, Jorge Segarra, Grant Fritchey and Tim Ford, repsectively. Their brand may have been an initial platform, but now the names behind the brand are just as valuable.

I've built a brand for myself...unintentionally. I don't think I could easily change from being Wendy Dance to a lot of people, and I don't think they would want me to. Especially after being recognized at the Summit this year, more people are tuning into what I have to say. My brand isn't something fabricated or conjured, it reflects truly who I am and what things matter to me. While there is nothing wrong with intentionally branding one's self, it's all a matter of how you are percieved by your peers and community. Only time will tell if my Brand will stick.

To those I mentioned above - Thank You. Each of you has been an inspiration to me at some point and it has been fun to walk along the same path now and again.

This blog post was created as a result of Midnight DBA Jen McCown's idea for Un-SQL Friday. Many others have already blogged about it, read those here (I have yet to read them myself!):
 
http://www.midnightdba.com/Jen/2010/11/branding-my-ass-un-sql-friday-001/
http://thomaslarock.com/2010/11/un-sql-friday-branding/
http://troygallant.com/?p=754
http://sqlblog.com/blogs/adam_machanic/archive/2010/11/19/un-sql-friday-don-t-be-a-port-in-the-storm.aspx
http://sqlasylum.wordpress.com/2010/11/19/branding-me/
http://scarydba.com/2010/11/19/un-sql-friday-branding/
http://thesqlagentman.com/2010/11/un-sql-friday-001-branding/
http://gerasussoftware.wordpress.com/2010/11/19/un-sql-friday-001-branding-for-business/
http://www.straightpathsql.com/archives/2010/11/brand-meet-person-un-sql-friday/
Just to get you started....

Friday, November 5, 2010

The Summit is Coming! The Summit is Coming!

Looks like the trend this year is to write a blog post about where you believe you will be at certain times at the SQL PASS Annual Summit. Seems a good idea to me, so along with a few additional items for your packing list, I'll share my week outlook here, too!

Packing
A few items that we normally do not find on a packing list:
  • SQL Saturday shirts - Tuesday is unofficially the Official Wear Your SQL Saturday Shirt(s) Day. If you have one, wear it!
  • Kilt - Wednesday is the official #sqlkilt (twitter tag) day at the Summit. Wear one or be ridiculed. Proper footwear not requried. Neither are bagpipes.
  • MOO Cards - or at least something with information about yourself so people can dig you up later. Or ask you to speak their event. Or invite you to dinner. Or...or...or...
  • Smartphone of some kind or Netbook - anything that allows you stay connected while at the conference. Twitter is Everywhere at the Summit and if you want to stay In-The-Know, you better come prepared.
  • Umbrella - let's face it, if we all bring umbrellas, it won't rain in Seattle.
  • Comfortable shoes - maybe more than one pair. You will be walking. And walking. And walking. And loving it! The company is always worth the walk :)
Schedule
Okay, here's my tentative schedule as I know it. Feel free to drop me a tweet or email if you want to meet up!

Sunday
  • Arrive noon-ish. Should be at Westin around 1pm
  • 6pm Registration Opens! I'm planning to buzz over to say Hi to some people and get a free drink from Board member Bill Graziano (thanks, Bill!)
  • Meeting up with people for an Underground Tour (previously booked)
  • Afters, anyone?
Monday
  • Photowalk? It Depends...
  • 10am SQL Saturday Roundtable
  • Volunteer Meeting & Networking session with Don Gabor
  • 5:45 Meetup with Orientation Committee group in the lobby of the Convention Center.We will proceed up the escalators to head in to a Pre-Welcome session
  • 6:30 Welcome Reception and Quiz Bowl. Come by to cheer me on as I partner with Allen White!
  • Karaoke anyone?
Tuesday
  • Opening Keynote - I'll be wearing a Red Vest at breakfast and then sitting at the Bloggers table
  • 3:30 Regional Mentor meeting
  • Afters: another pre-arranged party, but surely meeting up at Tap House or somewhere after
Wednesday
  • 9:30 Virtual Chapter meeting
  • 10:15 Chapter Meeting
  • 11:00 WOMEN IN TECHNOLOGY LUNCHEON - If you don't come I will find you and tweak your nose. We will be on the interwebz = LiveStream!
  • 4-5pm Meet the Bloggers table in the Exhibit Hall
  • Sushi Dinner!
  • Gameworks Microsoft appreciation party
  • Karaoke at Bush Gardens after
Thursday
  • 11:30 Chapters Lunch - I'll be the representative Regional Mentor for the Midwest Region. There will also be a Women In Tech table, so check it out!
  • Late night: The Salsa Shoes are coming out of the bag and it's Dancing time at the Century Ballroom. All are welcome - 9pm Lesson included with $7 admission.
Friday
  • Hoping to catch one of the Post-Conference Sessions
  • Heading back home on a 6pm flight

Sessions, sleep and everything else fall in there at some point, too. You're always welcome to stop me if you see me in the hall or come on over and sit with me in a session or lunch! I'm a social creature, and while I have been known to hang out with the Scary DBA, don't let that scare you away!

Tuesday, November 2, 2010

Who Needs DBA Skillz?*




Everyone who works with a database.
Pretend you're a developer, Oh! You are? Well, okay, this should be easy then....
You have a project on your schedule and it requires creating a database store. Simple! Create some tables and put records in them. Right? Maybe not. Ask yourself a few questions:
  • Do you know what the best design is for the type of data you need to store?
  • Did you consider how you will need to retrieve it?
  • Do you know how to enforce Referential Integrity? What - You haven't heard of RI?
  • What will you do if the data becomes corrupted?

These are but a very few questions that anyone with Database Administrator (DBA) skills would be able to help with. But why are they important? On a very basic level, The DBA is the specialist who can keep the database running smoothly, ensure the servers are healthy and recover data in the event of a mishap or catastophe. It doesn't matter really what database platform you work in, these factors remain the same. Companies who choose to not have a staff member dedicated to their databases and underlying infrastructure open up the door for a lot of potential issues.

So what if you don't have a DBA at your company? What can you do to make sure any applications you create continues to perform well and can be recovered with as little pain as possible? Read. Research. Implement. And if all that fails, check out the #sqlhelp hashtag on twitter. Real-life DBAs can help; and they will :)

  

*This is my first t-sql Tuesday post and I thank Adam Machanic (blog | twitter) and Paul Randal (blogtwitter) for the topic this month!

Monday, October 25, 2010

Karaoke - SQL Geek Style

Earlier this year there was a lot of smack talk around the (now) annual SQL Karaoke outing at the PASS Summit. Like a good data professional, I compiled those which came across my screen. Here they are - enjoy!

These should all be available if you search the #sqlkaraoke twitter tag:
GarethSwan - CCR Have you ever seen the rain

Lori Edwards - Looking Glass Brandi you're a Fine Girl; Foreigner Juke Box Hero
Colin - Air Supply Making Love out of Nothing At All; Lionel Richie Hello

Billy Squire The Stroke (*The Cros Josh Crosby)
Bell Biv Devoe - Poison (*Brent Ozar)
Prince - Kiss (*Colin)
Thin Lizzy - The Boys are Back In Town (Pat Wright)
Neal Mccoy - Billy's Got His Beer Goggles On (*Allen Kinsel)
Biz Markie - Just a Friend (*Brent Ozar)
* Someone wants you to sing this or heard you would be willing to sing it

Personally, I'm never sure what I'll get onstage with, but I have a few ideas!

Friday, October 22, 2010

My Latest Project - Sync Framework

Okay, it's been quiet around here. I've been working on a new angle for a client to research an alternative to Merge Replication. Enter: Microsoft's Sync Framework (Sync FX). Yes, it's true, I'm actually coding. In C# nonetheless. Go figure!

So what is this Sync Framework all about anyway? The concepts are really not that foreign. Other than not having a fancy GUI or Wizard to walk you through the setup (enter C# progamming) the concepts aren't too difficult to understand. Let's break them down in terms we're familiar with:

You still have your teams - Source and Destination - but when working with Sync, we're going to call them Servers and Clients. Instead of configuring your Publisher and Subscribers as one would with replication, now you are going to Provision your Server or your Client. Okay, simple enough. Here is also where instead of creating a Distribution database, you have now created tracking tables, triggers and sync stored procs to handle your inserts/updates/deletes.

Next up would be creating the Publications. However, we're renaming those to Scopes now. Before you get too worked up, yes, you can Filter your Scopes. This is where things can get intricate depending on your architecture. A 2-tier architecture is rather straightforward, but start going with n-tier (which is supported) and you had best have it all mapped out before you start Provisioning and building out Scopes, much less adding Filters.

The third component in Sync Framework would be the actual Sync. There are no Agents or Jobs to monitor, as this would all be handled in your application with code. This is where you kick off the Sync processing and you can choose to only go one direction, download (ie: Server to Client) or go the other direction, upload (Client to Server) or both! The flexibility allowed with Sync Framework also supports Peer-to-Peer/Mesh sync-ing capabilities.

Since each aspect is controlled by the code and the stored procedures/triggers, you get the utmost in flexibility with creating your own Sync scenarios. Every item is incredibly customizable!

I will endeavor to continue a series of postings about Sync FX. If you have questions, please add a comment and I'll do what I can to help answer. At this time, most of the available information is out on MSDN or in the Sync Framework Forums. Check those out here:
http://msdn.microsoft.com/en-us/sync/default.aspx
http://blogs.msdn.com/b/sync/

For any of you working with SQL Azure, Sync FX will be your Go To option for data synchronization. There is no Replication support: http://msdn.microsoft.com/en-us/library/ee336241.aspx.

A Few Downsides
One thing that has come up in the Forums is the fact that since Replication is not supported, and everyone is pushed to using Sync FX, it should follow that Sync FX would make it much easier to use Dynamic Filtering scenarios. Currently, this is not the case.

Additionally, there is (in the current release) no support for changes to DDL's. So, don't go adding/changing your datamodel or plan to have your Stored Procs, Views, Function, etc. Sync'd automatically.

Pretty Awesome Stuff
Okay, so even with some of the current drawbacks, I have a great vision of this Framework for the future. It is highly customizable, making it extremely flexible to fit the needs of almost any organization. Oh, and to top it all off - you can build your own custom Data Providers to connect to ANY datasource. SQL not required.

Wednesday, September 8, 2010

Exercise your Rights

These last couple of weeks have brought a few key wide reaching issues to the forefront: How Transparent is Transparency? It's Time to Rock the Vote! and People Will Burn Anything for Publicity

In light of the actual events surrounding these topics (SQLPASS Board Nominations, SQLPASS Board Election, and that moron in FL who wants to burn a pile of holy tomes) it really got me thinking. We, as Americans, have really fallen into a mode of complacency. As long as things are 'good enough' and events unfold the way we expect them to, then really, why should any one individual ever stand up and rock the boat? Our not-so-distant relatives fought very, very hard to groom our American culture into what they envisioned would be Easier Times for future generations. Ladies and Gentlemen, I believe they succeeded! And with that success, we have enjoyed kicking back and taking a load off in their honor. What we have not accomplished, sadly, is making sure the system keeps working for us.

Putting this in terms of technology, let's say you have your current system running at optimum levels and sailing along on a daily basis without a hitch. The processes are tried and true, the schedules kicking off exactly and precisely as they are supposed to, and everything is just hunky dory. The longer this period lasts, the easier it becomes to have a false sense of confidence in the system. Small changes start to add up, but you don't really see their effects right away. It's only after an accumulation of updates and minor changes that you may start to notice an issue with a particular facet of the system, maybe performance. The typical American (bear with me on this one) at this point would say "yeah, it's a little slower, but it's still working, so nothing to worry about". Now let this continue to compound over the next several months - or years, even - and HOLY MOLEY! What happened to my system? It was working so well...and now it's even more onerous a task to make it right than it would have been if only you had maintained it in the first place.

So, going back to other side of my analogy, why did we let our government get so out of control? And I'm talking here about the American Government. It doesn't matter if you're Democrat, Republican, Green, Tea, or Dolphin party. Our country was founded on a premise of By the People, For the People. Why then, don't people who complain about health care, foreign policy and a bevy of other issues, go out and make their voices heard? If you feel that you don't have time or energy or a 'say' in anything that goes on in government, you are flat out wrong. It's everyone's duty to make their say heard. It can start with simple things like voting. You don't have to run for office, but you can put your best effort forward and actually go to the polls (or send in one via mail or online in some cases - absentee) and make a Choice. Cast your Vote.

As SQL Server professionals, we also have a way of making our needs and wants heard. It has been wonderful to see people acting passionately about our community. I wish we had that same care about our country. If you haven't voted in the SQLPASS Election yet, please make sure to do so.

So, to end my rant (thanks for tagging along) I want to tell that so-called Church in Florida to STFU. Do you have the right to burn books? Sure. Do you have the right to tell someone else that their religion is less than yours by burning their holy book? No, that just makes you a bully. Now take *your* book and go read it - obviously you haven't done that yet.

Friday, September 3, 2010

Speaking Engagements this Fall

So, I'm super excited to be able to start standing in front of my peers and sharing my knowledge! I have a handful of bookings coming up where I will be talking about Transacational Replication and Women In Technology topics.

Join us if you can!

September 7th, 6pm
Downers Grove, IL
Suburban Chicago Users Group Monthly Meeting
Transactional Replication 101

September 18th, 10am
Iowa City, IA
SQL Saturday #50
Transactional Replication 101

September 18th, 11am
Iowa City, IA
SQL Saturday #50
Women In Technology Panel

October 2nd, Lunch time
Kansas City, MO
SQL Saturday #53
Women In Technology Panel
JUST ADDED! Transactional Replication 101

November 10th, 11:30am
Seattle, WA
PASS Summit
Women In Technology Luncheon - Moderator

Monday, May 17, 2010

wmiprvse.exe CPU 100%

This has been bugging me for a few days now. You would think a simple Google search would find the answer, as it does for many things. Unfortunately, I found myself duped by the auto suggestions. But, first, let's look at the problem.

Issue
It's an old server, out of warranty even. But there's no budget, so I have to keep it functional for who-knows-how-much-longer. Recently, the CPU spikes to 100% and stays there indefinitely. Fortunately, it's a develompment SQL Server and there are only two developers working with it now and then.
A quick search of Task Manager shows the following services taking up all the resources:
wmiprvse.exe
svchost.exe

Okay, Google - do your thing! Simple, as Googling should be: type in wmipr..oh, look! great suggestions...and here's my problem:

So, why wouldn't I choose "wmiprvse.exe high cpu", it's right there...

I was led astray, dear reader. Long story made short, after sifting thru many articles suggested and not finding anything to match my configuration or my specific issue, I went back and simple Goggled 'wmiprvse.exe'
The first link didn't help, and the second link was back to a Microsoft KB article which I had looked into previously. I figured one more look couldn't hurt, even though I knew the article did not pertain to my specific system configuration.
But wait! At the bottom there...the ever so handy section titled: What Others Are Downloading
Which brings me to this article on Cleaning Up User Profiles
I certainly hadn't thought of that. Looking into the profiles stored on the box (My Computer/Properties/Advanced/User Profiles - Settings) , more than one is labelled "Unknown". Cleaned those out of there pronto along with several others which were just taking up space.
The cleanup service is also set to run so hopefully this will not happen again.

Did it fix the problem? Not 100% (hahaha). I'm still seeing spikes, but at least it's not pegged consistently. More updates to come as I completely exhaust the possibilities for this issue.

Wednesday, May 12, 2010

Five things SQL Server needs to drop (meme)

Paul Randal (blog | twitter) started it all yesterday, with a posting stating the Five Things he would like to see disappear from SQL Server. It's going around the block, and looks like I'll chime in this time. So, here are two of mine and some mentions from others.

UPDATE: I want to add in here REMOVE 'sa' login. Yep. I said it. I'm sure many will agree. Real DBAs don't need or use 'sa' anyway. All it really does is serve as a back door for a bunch of poorly written applications.

Licensing Model
Why do we need so many options for SQL Server? Standard won't give you some really needed things only found in Enterprise or (gasp!) the new Datacenter options, but maybe you need ONE of those things. It's cost-prohibitive for small to medium sized companies who could really use some features. Why not make it all a la carte?

Security Model
Oh, it's robust. Don't get me wrong. Have you ever had to track down a security issue when someone had decided that assigning object level permissions was a good idea? Then, come to find out the members of one group overlapped those of another group? It needs to read more clearly who has permissions to do what. The "Effective Permissions" button on the database properties "permissions" tab is almost the most useless thing in there. Between groups and users and roles and schemas, again, there are too many choices. Of course, DBAs should understand what they are implementing before choosing a security model, but that's another blog post.

The rest have all been said - some more than once, but a few of my favorites:

Default Settings
If you have done more than two SQL Server installs, you know how poorly the default settings are defined. So many violate best practices, why not change them? Maybe it's just a way to separate the Beginner from the Experienced DBA's?

Throwing in with Buck Woody (blog | twitter) - Management Studio
Yes, it's a tool, but we have way too many for the Admin needs surrounding the product. Why do we need SSMS, Configuration Manager, BIDS, Event Viewer, MMC...should I continue? If we have to use a Management Tool, make it all accessible from a single point of entry. Our time is valuable, you know.

Honorable mentions - GUIDs and TIMESTAMP data types

I think almost everyone has been tagged already, so if you want to chime in, consider yourself tagged!
Thanks for tagging me again, Ted Krueger (blog | twitter)

Monday, May 10, 2010

Attack of the Killer Maintenance Plan

In tracking down some system resource use issues, it led me back to some maintenance plans that I knew needed re-writing (ideally replacing) but I never expected them to end up the horror movie they revealed. {slurp, thunk}

It's a sunny day. Sure, it's Monday, but you get those now and then. My role at the current company is inherited. They had another DBA previously who did not have prior DBA experience. It shows - maintenance plans everywhere. Really, that's not the end of the world, many companies who do not have a full time DBA use them, smaller shops use them as well and those who don't have other known options implement them too. That's okay, this is part of what my paycheck is for, right? So, while the task has taken a back burner for many months, it's time to fix them up. Especially when it appears to be a culprit in pegging my DEV server on a regular basis. Hey - look! - there's an old abandoned house at the top that hill...let's go see if the door is locked.

Turn the creaky knob - let's go in and see what's up with the plans. Oh, look-y there! Not ONE maintenance plan, but TWO. Well, at least the previous person separated out 'system' database maintenance plans from 'user' db plans. Let's see what is down that dark hallway behind the door...Maintenance plan for 'user' databases. SLAM! hey...who closed the front door? Take a deep breath, it's just wind. Sure. Now, back to this door at the end of the hall. Slowly! You never know what might be in there. Huh. This doesn't seem so scary. Rebuild Indexes, Update Statistics AAACCKKK!!! Where did this Shrink Databases come from! Quick - get the baseball bat. Hit it! Hit it HARDER! ONE MORE TIME! Whew. That was close. As we back out of the room, we catch a glimpse of Check Database Integrity. I think we'll be okay.

One more door to check though. It's a door in the kitchen. Surely this must lead to the basement? Do we *have* to look? Yes? Gulp.

What is that scratching sound? Hey wait - there's a sign on the door. It says "optimize system databases". Huh. I don't want to go in there. You go first.

Oh, my blog? I have to go first? Got it. Sure. Okay. Reaching out with a shaky hand to the handle on the door and - whoa....it swings inward? That's just not right. And the lights are already on. Stepping down one squeaky step at a time, we see Rebuild Index again. Looking a bit worse for wear but I'm sure we're safe. {gurgle} What was that? Whew...just Update Statistics again. {slurp, thunk} There was something in the shadows there. What do you mean "where?" Right. THERE. AAAAAACCCKKKK! Another Shrink Database - No! No! It cannot be! Not here! Quick, behind this door...RUN!

My, but that was close. I've never seen anything so heinous. A few more deep breaths.

Ewwww. What is *that* smell? Etched on the opposite wall of this cellar room, the word "Production" and an arrow pointing to another door can be made out. I don't want to think of what was used to write that. We have to check the Production server now. There just has to be a way out of here. Please don't make me see that basement again. {tap, tap, tap, tap} Stop it now, you're just trying to scare me. {drip, drip, tap, tap, tap} Oh dear.

Two Maintenance Plan doors again. I'm not even going to attempt the "User" plan again. The only way out is through the "System" Plan door. The door is already opened a crack and there is an eerie greenish light emanating from somewhere within. The tapping sounds are getting louder as we approach. Within inches of the door, it swings open with a BANG and out run Rebuild Index and Update Statistics as if they had been sent on a mission. We are knocked over and fall to the cold floor. Trying to regain balance from taking a hit, the light catches our eyes. It's unimaginable. The mass is pulsating, amorphous and...and..

And then, there it is in all it's GUI glory:

USE [master]
GO
DBCC SHRINKDATABASE(N'master', 10, TRUNCATEONLY)

GO

USE [model]
GO
DBCC SHRINKDATABASE(N'model', 10, TRUNCATEONLY)

GO

USE [msdb]
GO
DBCC SHRINKDATABASE(N'msdb', 10, TRUNCATEONLY)

We have reached insanity. There is no hope of return. Our meager baseball bat cannot contend with such a monster. Cthulhu has won this day.

Slurp.
Thunk.

Wednesday, April 21, 2010

When Does The Fat Lady Sing? or Tips for a Successful SQL Saturday

Since it's baseball season, I'll start off my recap for the Chicago SQL Saturday #31 event with this:

 It ain't over till it's over
And, folks - it still ain't over!

I want to take a different spin on my blog post about the event, as other great recaps can be found by reading Ted Krueger and Jes Borland blog posts. They both already did a great job of capturing the feel of the event, the awesomeness of all the great volunteers and their tireless enthusiasm, plus the amazing sessions by our fabulous cadre of speakers. Since I don't want to just say all the same stuff over again, you get to read how we made it all come together and what we can do better next time. My hope is to help future SQL Saturday organizers create a successful event.

In the few days leading up to the event, there are only so many things you can prep:
  • Printing lots of stuff:
  • Name Badges (I recommend just the logo!)
  • Lunch Tickets
  • Attendance Check In Rosters
  • SQL Saturday Evaulations
  • Session Evaluations
  • Certificates of Appreciation for Speakers and Sponsors
Hopefully, you have a printing resource whom you trust and can get materials from as promised. We ran into running short of Session Evaluations and had to get more made at the last second. For whatever reason, Office Depot was not cooperative and not nice about it, either. I'll put that onus on the Office Depot in Elk Grove Village, though, I'm sure not all of them have such unprofessional staff.

Where does all this stuff go?
We had literally THREE cars packed with boxes of stuff for the event, and that did not include anything the Sponsors sent to the hotel. Instead of the litany of what we had, let me say how I think things should go for next time.

1. SQL Saturday t-shirts should be delivered to the venue if possible.

2. Unless you have the manpower to stuff event bags ahead of time, all those things should be sent to the venue, too.
- Note: Vendors should clearly mark what SWAG is for the event bags and what is for their table. We spent a good hour or so rifling through the vendors' boxes trying to decide what went in the bags. I think a quick packing list would be unbelievably helpful!

3. Raffle Boxes. Ours could not have looked more cheesy. Black and white sheets with company logos, taped to whatever boxes I could find in the mailroom. UGGGGGLY. Functional, yes...but....embarassing. Next time, I'll hit up the dollar store for colorful sand buckets or something. Anything would be an improvement!

4. Prizes, Prizes, Prizes! We were so fortunate to have probably 40 prizes to give out (est). Have a plan for how and when you want them to be distributed. We did ours all at the end of the day. Prizes of value stayed with me or the Sponsor and the rest (mostly books) were placed out of sight and out of reach.

  • Sponsor prizes. If the sponsor is present, let them pull the names and give their stuff away.
  • Book prizes. We used these as incentive to complete Session Evaluations. For each completed eval, you got a raffle ticket. We gave away about 20 books!
  • Attendance prizes. We had...more books! We gave out 4 general attendance prizes and one prize from the overall Event Evaluations which were submitted.
  • Additional SWAG. I went around from session to session as the day drew on to distribute other SWAG items we had to give out. The Speakers all did a nice job helping us get that all out to people!

Regisration

Most events so far haven't been the size of ours. With the potential of having over 400 people come through the door, we had to have a plan and have it streamlined. As it was unknown who the volunteers for the day would be, I spent some time writing up everything and making sure I had it as foolproof as possible. Here were the highlights:

1. Separate the list into 5 mostly equal sections. I didn't want one volunteer being swampped with 40% of the attendees in their line.

2. Put as much in the event bags as possible. In retrospect, we could have put the blank name badges with lanyards inside of the bag.

3. Event schedules should be the first thing people see when they open their bag. Alternatively, just put out stacks of them near registration.

I want to sincerely thank the Registration crew: Jes Borland (blog | twitter), Eli Weinstock-Herman (blog | twitter), Christina Leo (Twitter), Aaron Nelson(blog | twitter) and his incredible daughter Dorothy , Andrew Karcher (blog | twitter), Bob Pusateri (twitter), Keith Mescha (blog | twitter), Wayne Gant and one more that I feel really stupid for not recalling who you are!

Recommendations for Next Time

The next SQL Saturday in Chicago, there will be a few things I do differently (assuming I'm the one in that role again).

First, have dedicated volunteers ahead of time for things like: making raffle boxes, PROOFREADING, arranging printing and cutting needs, designing shirts, Speaker thank-you gifts, SSUG Resource Table, Speaker announcements, Raffle distributions, Room monitors, Event Bag assembly. Not that any of these things went awry, moreso because it's just nicer to know they are in someone's hands and will get done :)
Second, ask each vendor to provide a packing list of what they send and how they want it distributed.
Third, make DAMN sure to write down each and every volunteer's name!
Fourth, have better aim when flinging SQLChickens at Tim Ford :)

So, when does the singing start?

Apparently, right after I get all the promised contact information to the Sponsors; all the Speakers get their slide decks loaded; we send the Speakers their evaluations; sort through all the overall Event evaluations; and THEN we send a big Thank You to all the people who actually came through the door. I think that's when the fat lady gets to sing...(no, my karoke doesn't count).


To sum up: We had a great event, we had amazing volunteers (bag stuffers, set up people, room monitors, lunch helpers, clean up crew!) and I just couldn't have asked for anything better. SQL People R.O.C.K.!!!

Wednesday, March 24, 2010

I am a Technical Woman

It’s Ada Lovelace Day. Not sure who that is? Look her up.

What makes a Technical Woman? Easy enough answer if you work in a technical field like I do. I’m a database administrator, that certainly qualifies. But what about women who are not in the IT industry? They are also Technical Women.

The nurses and doctors who help women birth babies in the hospital – they are Technical Women
The teachers and care-givers who help our children learn to be technical kids – they are Technical Women
The mechanics and receptionists and administrative assistants who keep businesses running – they are Technical Women

This post is for all the women who may not think they are, but who really CAN be Technical Women:

Women who use a cellphone (and NOT while driving)
Women who watch satellite or cable television
Women who has recorded their favorite TV show
Women who post or watch videos on YouTube
Women who use email
Women who post updates, pictures and take brain-numbing surveys on Facebook

YOU ARE ALL TECHNICAL WOMEN!

Embrace your technical side. Learn something new today. Change your outgoing VoiceMail message; plug your iPod into your car stereo. You can do it, and you can do it with technology.

To everyone reading: Please encourage your daughters, sisters, neices, wives and mothers to learn and enjoy new technologies. The world is a small place and it changes every day. Let’s not leave anyone in the dark – show them the way and be there to support one another.

Monday, February 22, 2010

A SSUG is Born

February 2nd unveiled a new SQL Server User Group in the Western suburbs of Chicago. The Chicago SQL Connection was a long time coming, and certainly a needed entity! No further proof than the 100 people in attendance was needed. Personally, I was hoping there would be a group to meet with outside of downtown Chicago, since in the last year I have relocated both my home and office to the area. The ChiSSUG which meets downtown is great, and Bill Lescher puts on a great program each month. For me, though, being a wife and mother and employed full time, the logistics of getting downtown on a weekday in time just don't work out. I had heard rumblings from others in the community that a group in the suburbs would be welcome. When I met Kim Young, the leader for our new group, we decided to work together to make it a reality. Kim has experience with user community groups and she led the way - two months later, the first meeting came to fruition!

We had an amazing kickoff, with Brent Ozar speaking on the topic of Performance Monitoring. People streamed in through the doors of the Microsoft offices in Downer's Grove starting at 5:30 and steadily until 6:30pm. It was nice to meet some people face to face whom I had only talked to via email or on Twitter. What was nice to see was that so many people seemed to know each other already. I hope they continue to spread the word and bring more SQL-minded people to the meetings in the months to come!
Support from the SQL community at large has also been wonderful - we have speakers lined up through May already! We also decided to become an official chapter with the Professional Association for SQL Server (PASS). While we are still working on our website and currently do not have any contact information posted, we look forward to the backing of PASS to foster a successful run for the future.

This is my first experience with a User Group Community. There are certainly challenges - mailing lists, websites, disseminating information, finding speakers, sponsors and, let's not forget: incompetent pizza delivery. All of these things require mangement, time and negotiation ability. Thanks to Kim for having the expertise of being in this role with other User Groups previously! However, the prospect of bringing together a group of like-minded individuals and creating an opportunity for education and networking is so exciting, all the other work is worth it.

For more information on the next Chicago SQL Connection meeting coming up March 2nd, please check out the PASS Event Calendar, or leave a comment here and I will have Kim add you to our mailing list.
 
WHO           Christopher Barwick, Big Hammer Data
                    "Business Intelligence: From Database to Warehouse to OLAP to Excel with
                    SQL Server 2008 & Excel 2007"
WHEN        March 2, 2010
                    6:00 – 6:30 Meet and Greet with Pizza
                    6:30 – 8:00 Presentation
WHERE       Microsoft Offices
                    3025 Highland Parkway Suite 300
                    Downers Grove, IL 60515

RSVP must be recieved 48 hours prior to attending as we must provide a roster to building security.

Wednesday, February 10, 2010

Name that Caption Contest

Check out the blog for Thomas LaRock and you can see he is running a contest to caption the header for his site.





My one and only suggestion (until I change my mind):

"It's MINE! All MINE!"

See, changed my mind already and added an option:

"It's MINE! All MINE!  ............Now what.....?"

Thursday, February 4, 2010

Three Things

Since I was tagged about, oh, two weeks ago by my buddy Ted (@onpnt) I figured I should really get around to writing another blog post. It's been too long. I really enjoyed the holidays with my little ones and many family members, but now it's time to focus again. What can I say? I hit a slump, but now I'm over it.

The question on the table currently is: What Three Things brought you to where you are today? While this can have many interpretations, I offer the following for myself.

One. Being a kid of a single parent. I grew up fast. Way too fast. My parents divorced by the time I reached 5 years old. My mom struggled. Hard. I took on a lot of responsibilty helping her out with my little sister almost immediately. Being a single mom in the '70's was not a supportive environment. Companies didn't want to hire her, landlords didn't want to rent to us. We moved. A LOT. I packed, unpacked, changed schools and made new friends - over and over again. But somehow we got by. We had fun without having any money. She gave her all to make sure her daughters grew into strong, capable women. I learned a lot from my mother's experiences: some things I vowed to never allow to happen to myself and other things to use as shining examples of how I wanted to shape my life.

Two. Failing my Freshman year of college. Yes, it's true. I was a straight-A student in High School. I knew I was going to college, I had a full ride scholarship to prove it, plus an appointment to the Air Force Academy. When the Air Force told me I was too short to pilot (or even to navigate), I said "Thanks, see ya". So, I went to college with my friends and probably dealt with some form of depression. I certainly wasn't aware of it at the time, I just didn't know what to do now that I wouldn't be a pilot or in the Air Force. Taking Engineering courses made me realize that even though I was a smart cookie, I certainly wasn't up to the level of these other kids who grew up with computers in their homes. So, I switched colleges (two more times, but hey, that was no big deal to me) and finally settled on a degree in Psychology. I found the field fascinating, and after my life experiences thus far, it sure seemed to fit well. Obviously, that path wasn't meant to be either, but that's another blog post. My achievement of being in the Honor Society for Psych was a nice reward, too.

Three. Dance. I started studying dance in 1989. Yes, that's more than 20 years ago now. I have had an incredible journey which provided a frame of self-discipline and artistry at the same time. I have made numerous friends. We all need a creative outlet and I was overjoyed to find mine. I never wanted to do anything but study and learn for many years. It wasn't until almost 10 years later that someone convinced me to step up onto the stage. Oh, don't get the wrong idea - I had done plays and things over the years, even some public speaking, but I had never shared something that I had created myself. The rest, as they say, is history. I have my own dance company and we will be celebrating our 10 year anniversary next year!

Really the key to all the things listed above is Family and Friends. I was always fortunate to have an incredibly supportive family. While friends come and go, there are many who have touched my life and helped me get to where I am today. For those still with me - thank you! For those I'm yet to meet - Hope you're ready for a fun ride!