This is day nine of the SQL Advent 2012 series of blog posts. Today we are going to look at something called reinventing the wheel. Just in case your are not familiar with this metaphor or maybe you are not a native English speaker, I will use wikipedia’s description of what reinventing the wheel means.

#124 Reinventing the Wheel From wikipedia:

_To reinvent the wheel is to duplicate a basic method that has already previously been created or optimized by others.

The inspiration for this idiomatic metaphor lies in the fact that the wheel is the archetype of human ingenuity, both by virtue of the added power and flexibility it affords its users, and also in the ancient origins which allow it to underlie much, if not all, of modern technology. As it has already been invented, and is not considered to have any operational flaws, an attempt to reinvent it would be pointless and add no value to the object, and would be a waste of time, diverting the investigator’s resources from possibly more worthy goals which his or her skills could advance more substantially._

So now that you have read the paragraph above, how many times did you write some code only to find out that it already exists in the language as part of some library or function. How many times have you written code that you could have easily grabbed from GitHub, CodePlex and other repositories for your own use?

Why write your own solution when you can use something that is robust and tested?

Find out who the community leaders are for a particular skill set that you are interested in, start following these people, follow them on twitter, subscribe to their blogs and podcasts. Go to their presentations, talk to them, find out what they use, find out if they have made code available for the public to use. You will find out that a good percentage of these people have made available a whole bunch of libraries, stored procedures, functions, maintenance routines and much more for you to use and it is all free.

Don’t be scared to ask for help on twitter, if you don’t know any of the SQL Server tweeple, use the #sqlhelp hash tag and ask for help, here is an example of what it looks like #sqlhelp

Here is an image of the replies on twitter after I asked a question with the #sqlhelp tag

Some commercial firms will also have community editions of code and tools for you to use. Take advantage of this, these are great, if you like the tools then maybe you will find a need for the pro editions, these have more bells and whistles and are not limited.

Some examples of available solutions.

Index maintenance

Do you have scripts that do index maintenance, do you have to modify these scripts often because of bugs or changing requirements? Take a look at SQL Server Index and Statistics Maintenance by Ola Hallengren

Also check out this index defrag script by Michelle Ufford Index Defrag Script, v4.1

SQL Server activity

Want to know what is going on right now? Try Adam Machanic’s procedure Who Is Active

The state of your SQL Server

Brent Ozar Unlimited has a neat proc you can run which will give you a fast health check, get it here: sp_Blitz. There is also a video showing how to use this proc

Potential problems in your SQL Server database

Try our own SQLCop tool, this tool was written by George Mastros and will highlight potential problems

Execution Plans

SQL Sentry has a free version of SQL Sentry Plan Explorer. This plan explorer does much more than the one that comes with SQL Server Management Studio

Get involved

If you have created some cool code and you know there is nothing similar, why now give back to the community? Put it out there, solicit feedback and in the end the code will be better because more eyes will have looked at it. Accept contributions as well. All of these things will make the community as a whole grow, if the community grows then the platform will grow as well. When the platform grows, this means there will be more demand for someone with your skill set. You are responsible that your community doesn’t turn into a ghost town.

Do you know of great SQL Server tools/scripts/procs

If you feel that there is great code/tools out there for SQL Server that I did not mention, leave me a comment and I will check it out and add it to this post

That is all for day nine of the SQL Advent 2012 series, come back tomorrow for the next one, you can also check out all the posts from last year here: SQL Advent 2011 Recap