Category Archives: Uncategorized

Digging Around For Free Tools – Codeplex

Digging Around In Codeplex

Codeplex is probably the best source for Microsoft focused projects. You will find a lot more than just base SQL Server bits. Codeplex covers a large range of technologies and also covers pretty much every aspect of SQL Server. Codeplex isn’t as old as SourceForge so if you do find a project that has been abandoned it may not be too old to use or may be easier to update. When Codeplex finally added git support they on me over in a big bad way. The search feature is a bit simplistic but you still have some sorting and filtering options available to you.

SQL Power Doc

SQL Power Doc is a collection of Windows PowerShell scripts and modules that discover, document, and diagnose SQL Server instances and their underlying Windows OS & machine configurations. SQL Power Doc works with all versions of SQL Server from SQL Server 2000 through 2012, and all versions of Windows Server and consumer Windows Operating Systems from Windows 2000 and Windows XP through Windows Server 2012 and Windows 8. SQL Power Doc is also capable of documenting Windows Azure SQL Databases.

This thing is just crazy in the amount of data it gathers along with base recommendations it can produce. I’ve used this a few times and have yet to find it lacking. It isn’t the speediest thing but if you need to get a look at an environment for the first time I’d recommend you take it for a spin.

SQL SPADE

SPADE simplifies the process of standing up a new SQL Server instance by applying standard Operating System pre-configurations, Installing SQL Server and then applying post-configurations and creating standard objects.

SPADE is a tool that is designed to speed up your standard deploymets of SQL Server. You may be saying “But I can already do an unsattended install”…but that’s not all that’s involved in most server builds. There are Operating System configurations like Microsoft Distrubuted Transaction Coordinator (MSDTC), Local Security Policy and others. I’m sure that you also have standard SQL objects that need to be deployed like Stored Procedures, Agent Jobs, Operators, etc. All of this can be done by SPADE automatically by running 1 simple PowerShell script.

SQL SPADE is a tool I’ve come to rely on more and more these days. Mike Wells has put a ton of work into automating something that can be difficult at the best of times. This is a complete end to end solution for deploying SQL Server.

DatabaseLint

DBLint is an automated tool for analyzing database designs. DBLints ensures a consistent and maintainable database design by identifying bad design patterns.

Evaluating the quality and consistency of a database schema by a manual review is time-consuming and error-prone. To accommodate this challenge, we propose DBLint, a fast, configurable, and extensible tool for automated analysis of database design. DBLint currently includes 46 design rules derived from good database design practices. The rules discover design errors, which are collected as issues and presented in an interactive report. The issues are used to calculate a score for each table and an overall score. The scores are based on the severities of the issues, their location in the schema, and a table-importance measure. DBLint has been tested extensively on more than 35 real-world schemas, identifying a large number of relevant issues. Developers from four organizations have evaluated DBLint and found it to be useful and relevant, in particular the overall score and report.

This is one of the more unusual yet useful projects I’ve come across in a very long time. I’m a huge fan of lint’ers for lots of other languages having a toolset like this for SQL Server I’ve been evaluating it and will probably be rolled into our build tools.

Up next: GitHub

Man in The Mirror

Hard To Say Goodbye

Today is bitter sweet for me. I am moving on from Catapult Systems to pursue other opportunities.

What does that mean exactly?
Was I treated poorly?
Did the work suck?
No on both accounts. I haven’t been this happy in my professional life in quite a while.

But you are leaving? Yep.

Self Examination Is As Important as Feedback From Others

To answer those questions accurately I had to take a serious look at my life and the things I want from it.

I’m a list maker. I do the whole pro and con’s thing. Making short, mid and long term goals all that stuff. This time I did something a little different.

Lists, Lists and More Lists

First I sat down and looked at my resume. This is all about the work I did, not about the company or the culture. Those things do impact happiness but in my case, I already have a good grasp on the kinds of companies and the kinds of people I like to work with and for.
Where did I spend the most time?
What did I do there that I enjoyed?
What did I do that I didn’t like?
What did I do well?
Keep in mind that sometimes you do some things really well but don’t particularly like doing those things. Once I had that list I moved on to another important list.

This is kind of my “life list”.

What do I want to do professionally? This may not have anything at all to do with SQL Server.
What can I do professionally? This is a more critical look at my best money making skills.
What do I have to do professionally to support my personal life? Sometimes you have to do work you may not like to generate the income you need or receive benefits you need to support your family or lifestyle.

Analyzing The Data

I cannot overstate this, be critical, don’t get nostalgic walking down memory lane!
Get outside input. Start with your significant other and those that would be most impacted by your career changes. Then expand your circle until you feel you have enough quality feedback from people you trust to give you the unvarnished truth.

Make Your Plan

Making your plan may be as simple as shifting your daily schedule or as radical as moving to another country to do completely different work. Planning it out helps you think things through and gives you some pause to prevent snap decisions that can come back to haunt you later. If your a young person, packing a bag and flying to Malaysia probably won’t hurt people around you. I’m in my 40’s with a wife and child that depend on me as the sole provider. Make sure and make this a collaborative effort with your significant others.

Execute

Putting a definitive time to execute your plan keeps it from being just a dream instead of a journey. Don’t be afraid to make adjustments mid stream if you need to, life has a way of not following your plans. Also, revisit your plan to keep it relevant and in focus. Adding details as needed as long term goals start becoming mid or short term.

My Path

After doing all of this, I’ve decided to go back into the world of production database work at a smaller company. Nexgen Healthcare is in a unique place where they are growing and need someone like me to come help them build teams, stabilize environments and keep the growth from slowing down due to technical limitations. It’s also close to home and they are great supporters of community work and opensource projects. All in all I think a good fit for me. I loved my time at Catapult and will miss my friends there for sure.

 

SQL Server, Pricing, Editions and Features

I Want Features Not Cost!

Recently Brent Ozar (blog|twitter) wrote a post SQL Server Standard Edition Sucks, And It’s All Your Fault. Needless to say, he isn’t happy with the price and what you don’t get in Standard Edition of SQL Server 2012. Brent seems to be mostly upset that since SQL Server 2008 Standard edition has been restricted to 64GB of ram. Adding additional insult, Always On is an Enterprise only feature with Database Mirroring on the green mile Microsoft will have to do something in the near future to fill this gap.

What about the rest of his list?

  • Database snapshots (a huge lifesaver when doing deployments)
  • Online reindexing, parallel index operations (wouldn’t you like to use more than one core?)
  • Transparent database encryption (because only enterprises store personally identifiable data or sell stuff online, right?)
  • Auditing (guess only enterprises need compliance)
  • Tons of BI features (because hey, your small business doesn’t have intelligence)

Yep, it sure does suck not to get any of those features and get stuck with a nice price increase.

But, Microsoft Says The Increase Isn’t That Bad(tm)

Imagine you are going from Enterprise per server to Enterprise per core on a 64 core system. At $7,000.00 a core that’s $448,000.00 bucks. If you were on SQL Server 2008 R2 Enterprise server licensing you paid just $13,969.00 and got it with 25 CALs. That is a 3100% increase in cost if you want to move to SQL Server 2012. Now that is something to bitch about. I can buy an HP DL580 with four 10-core processors and 128GB of ram for $24,259 retail, then pay $280,000.00 to license it. The days of hardware being a significant part of your IT deployments are gone. Hardware is getting cheaper and more powerful while software is getting more expensive. It’s almost an exact inverse equation.

So, What Are My Options

Well, few unfortunately. To license Oracle with the same features as SQL Server 2012 Enterprise you would be looking at 40% or more in licensing fees. On the open source front things aren’t much better. There just isn’t a single RDBMS with all the features of SQL Server or any other commercial offering for that matter.

Lets take a look at our options out of the box:

PostgreSQL

  • Can use maximum server memory – Yes
  • Database snapshots – Nope
  • Online reindexing, parallel index operations – Yes/Nope You can do an online operation but not parallel.
  • Transparent database encryption – Nope
  • Auditing – Nope
  • Tons of BI features – Nope

MySQL/MariaDB

  • Can use maximum server memory – Yes
  • Database snapshots – Nope
  • Online reindexing, parallel index operations – Nope
  • Transparent database encryption – Nope
  • Auditing – Nope
  • Tons of BI features – Nope

Now What?

Heck the only open source database that has a parallel query execution core is written in Java. On the plus side HyperSQL runs on Windows. All of these offerings also have things that SQL Server doesn’t. PostgreSQL is incredibly powerful for GIS and its unique among database engines for the large amount of indexing options available. MySQL/MariaDB has a nice feature that allows you to write your own storage engine and let MySQL act as the query processor.

If you don’t need all the feature add-on’s like Reporting Services, Integration Services or Analysis services for SQL Server then I recommend PostgreSQL every time. If you don’t mind doing some grunt work you can assemble a BI stack, reporting stack and all the other wiz-bang stuff you get out of the box with SQL Server to some degree.

If you want SQL Server’s set of tools AND its outstanding query engine you WILL have to pay for it. If you want to use SQL Sever and aren’t worried about new features, support or up to date tools you can always stick with SQL Server 2005 Standard Edition 64 bit, since it doesn’t cap memory usage and allows you to use all the memory the OS has available.

Well I’m Still Unhappy.

Yes the new licensing was a kick in the seat of the pants. Ask the Oracle guys how well they took it when Oracle did the same thing in late 2005. An article on CRN reads like it was written about SQL Server 2012 in the last month. Read it and replace “Oracle” with “SQL Server” its a hoot.

“Everyone is upset about it,” said Joe Vaught, COO of solution provider PCPC.

We sure are.

Oracle declined to comment for this story, beyond sending a short statement to CRN, which read in part: “As platforms change, and market opportunities arise, we continue to examine our pricing structure.”

Can Oracle sue Microsoft for stealing their statement? I don’t know but it sure does look familiar. I can also tell you that Microsoft used Oracle’s licensing changes to gobble up the lower end of the enterprise space and dominate the SMB space all together. Our problem is there isn’t another major up and coming software company gunning for the middle and not the top of the RDBMS business. PostgreSQL is making great strides and is my favorite front runner. They are also looking at the parallel query issue too! If you can hold out for another year or two you may be able to live without some of the bells and whistles and PostgreSQL or some other platform will be good enough to meet your needs.

So long, and thanks for all the fish.

It has been a month of changes for me and my family. First we lost a very close and dear friend. Next, we are taking in that friends daughter so she can start her education. That meant we needed to quit looking for a house and buy one, which we did. Now, I have decided to leave eScan Data Systems and pursue a new opportunity with Dell.

I am very grateful for my time at eScan. I made lots of friends. Learned new things, and helped the company manage the explosive growth it has seen in the last two years. I’m sure that some of the connections I made at eScan will be life long ones. Now, I’m joining Dell as a Database Administrator Consultant. I’ll be working on some of the largest and most complicated SQL Server deployments in the world. It will be a challenge. There will be new friends to make and new things to learn. One of my friends at eScan has said since day one that I was over qualified to be there. I disagree, it was the right place for me to be for eScan and for my personal life. It allowed me to balance my work life and home life much better than I had ever done before. It also allowed me to use my expertise in an environment that thrived on data at its core.

It has been a time of sad endings and new beginnings. So long, and thanks for all the fish.