SQL Server: a solid, reliable, cost effective database platform.
January 06, 2016

SQL Server: a solid, reliable, cost effective database platform.

Steve Jones | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with Microsoft SQL Server

My current company is a software vendor, building tools that work with SQL Server. We use the product extensively as we integrate our software with SQL Server, and are often using the latest versions to provide value to our customers. However we also use SQL Server internally to back various applications, including our public sites such as www.sqlservercentral.com.

Almost every department in our company uses SQL Server in some sense, and we find that it is very easy to develop both our software and internal applications on the SQL Server platform. The tight integration with .NET tools and our staff expertise means that we can quickly and easily work on the platform.

The extent of our use of the comprehensive platform is limited. We primarily use it as a relational database, with some of the SSIS/SSAS features used by various departments. Our sales and marketing groups certainly do like the SSAS cubes as they get quick information on large amounts of aggregated data.
  • Administration is fairly easy. A SQL Server can be setup quickly and run without much management from a DBA. Some work is needed to configure the instances, but the platform tends to run very smoothly for us. Backups, index maintenance, and security are smooth and easy to set up, and with the GUI, we can make adjustments quickly, while still saving the underlying code.
  • Development is very easy for our staff of .NET professionals. The integration between .NET in Visual Studio and SQL Server means that there is little time spent working out how to build an application and we can focus on adding business value. Our work with Oracle and MySQL has required a bit more effort to understand the APIs.
  • Reliable. We use all versions of SQL Server, and we find that they are very stable. The systems backing SQLServerCentral, for example, are rebooted about once a year, usually to apply some security patches from Microsoft. We tend to stick to Service Packs as a means of updating our systems
  • Value. We receive a good amount of value for our use of SQL Server for the price we pay. We might pay less in initial costs for MySQL, but time loss, support costs to understand how the system works, and potential administrative issues may overwhelm that. It's a hard choice to make, but we do find our SQL Server costs to be reasonable.
  • One of the weaknesses of SQL Server is the lack of tooling in places. That sounds strange as Microsoft has been known for easy to use GUI tools, but a number of features in the last 4-5 versions of SQL Server (Service Broken, replication, Extended Events, and more) haven't received much help in the tooling areas.
  • Scalability. While SQL Server scales up nicely, and new hardware platforms have dramatically increased the power of a single instance, there are still issues with larger scale applications built on SQL Server that might require more than one instance. Or that could benefit from additional hardware machines of the same size. SQL Server hasn't scaled out well across machines.
  • Licensing. While SQL Server is reasonably priced (to me), it is still expensive as cores grow and there are limits to the small scales of some applications. The complexity of licensing also means that it becomes complex to manage this across time, as well as more expensive than I would like.
  • Tuning. While there are a wealth of ways to tune systems, it feels more complex inside of SQL Server at times than it needs to be, especially for less experienced users. The platform should do more to help users understand where issues occur and give them guidance. I think the SQL Server 2016 Query Store will help here.
  • Maturity of some features. I think that some of the features have been a bit neglected, apart from tooling, in the last few versions. It seems like Spatial data, the Availability Groups, Service Broker, and more haven't gotten enough work to mature them to be more useful and helpful features.
  • Our company's tools are based on SQL Server (mostly), so the name recognition and integration has certainly been useful to align with customer goals.
  • The easy integration of .NET tools has meant that we can easily build features for our systems without much effort on understanding APIs or connectivity.
  • The security integration with AD, and the Azure AD, means that we can extend our authentication to remote users without much effort or development time.
  • The costs of SQL Server have gone up over time, and these certainly impact ROI, especially for smaller applications.
  • I'm sure most platforms have bugs, and there are certainly some in SQL Server. The limited fixes or issues we've seen in a few cases of implementing certain database features have meant we needed to implement workarounds. We have also had some tuning issues with plan regressions, however these are likely to occur in many systems.
I have been a SQL Server focused professional for over 20 years, so SQL Server is my first choice. I have experience and comfort, and the ability to get up to speed quickly. Oracle has been too expensive, though I think it has performed similar to SQL Server in the applications I have used. The GUI tools are less mature, but the command line worked fine for me. Since it didn't offer advantages, I don't typically recommend it, though I don't usually work on systems that have high workload requirements.

I do like PostgreSQL, and have used it in a couple of small applications. As a database, I think it performs very well, at a lower cost than SQL Server. However as I step outside of a relational data store and do ETL or other actions, the inclusion of more features in SQL Server is very nice.

MySQL is similar to PostgreSQL, in my opinion, but it requires a bit more administration.

DB2 works great, but is costly and since I haven't needed to work across OS platforms, it doesn't seem to provide advantages to me.
For almost any application, Microsoft SQL Server provides a strong platform, lots of development tools, and easy administration. However at extremes or scale (IOPS, workload, transactions, data size), Microsoft SQL Server isn't potentially the best choice. A key value store, like DocumentDB from Microsoft might work better in some cases. A graph database, such as Neo4J, might better suit relationship analysis and tracking. Certainly large scales of data might benefit from streaming or Hadoop like systems that can manage great data inputs. Complex ETLs would benefit from tools other than SSIS. Very small systems, like on tablets or cell phones, might do better with SQLite.

However on balance, if you are not approaching edges of a workload scenario, Microsoft SQL Server is the best choice, in my opinion, for a platform.