What is most valuable?
Probably the most useful feature of SQL Server is the ability to write and execute SQL on the fly.
Even though there are some very useful features on Oracle, MySQL, and other platforms, the SQL Server by far has the most robust capabilities of any database platform.
In my experience with numerous coding languages and platforms, the SQL Server has the only programming language that allows the user to create, compile, and execute code in its own language.
To clarify, Java, .NET, PL/SQL and all other programming languages can dynamically create code, but not their own. In other words, Java can dynamically create SQL and execute it, but it cannot create Java and compile/execute.
Other great features are:
- Passing tables as parameters
- Table valued functions
- Horizontal table partitioning
- Very granular disk partitioning
How has it helped my organization?
The most recent example is a data warehouse I've created for a client that enables us to use a "no-SQL" construct. This is only possible due to the dynamic SQL capability.
Our client collects data from dozens of sources with little to no commonality between them. With other platforms, this would require a table for each data source. However, because of the dynamic SQL, we have three tables that will accommodate ANY data source and it will never require us to change the data warehouse schema.
As a result, maintenance is virtually zero.
What needs improvement?
The only real improvement I've been looking for is finally being addressed by Microsoft.
Since SQL Server only ran on Windows, it was not competitive with other platforms which could run on Linux. This has recently been realized with the release of SQL Server for Linux. I currently have the pre-release version and I'm very impressed with what they have so far.
For how long have I used the solution?
I have been using SQL Server for 17 years.
What do I think about the stability of the solution?
We did not encounter any issues with stability. None at all.
What do I think about the scalability of the solution?
We did not encounter any issues with scalability. I have been able to create databases with billions of records with no degradation in performance. The partitioning has been a critical feature in enabling scalability.
How are customer service and technical support?
In my experience with their support, I would rate it as outstanding. Their techs are professional and extremely helpful.
Which solution did I use previously and why did I switch?
I typically use whatever database platform my client uses. However, whenever I am provided with the option to choose, I will always go with SQL Server.
How was the initial setup?
In older versions, the setup was rather onerous. However, in the latest several releases, it has been extremely simple to install and set up.
What's my experience with pricing, setup cost, and licensing?
Do the research and get the correct licensing model for your given purpose. A lot of people gravitate toward the Open Source databases because they don't have an upfront cost.
I find that what you don't pay upfront is what you have to invest in development and maintenance time on implementation. On far too many occasions, I have spent weeks writing code for features that SQL Server already has built in.
Either pay for the licensing cost or pay multiple times that for the labor involved in creating features, from scratch, that are native to products like SQL Server and Oracle.
Which other solutions did I evaluate?
I have a good deal of knowledge on SQL Server, and Oracle, MySQL. I have some familiarity with DB2 and PostgreSQL. The database platform chosen will ultimately depend on the needs of the client.
What other advice do I have?
Look very closely at the built-in features. For those features that you may need, estimate what it would take to replicate that same functionality on the "free" products.
The comparison is not on the licensing cost. It's on the features and the license cost versus the labor cost.
Which version of this solution are you currently using?
2005 thru 2016