Wednesday, 1 August 2018

Do not place the blame on SQL Server

I have never worked for Microsoft, but SQL Server has given me a lot in terms of learning, community and opportunities, all these together have helped me do a great job as a Database Administrator. Since I started working with SQL Server nearly 15 years ago, I have frequently seen people saying that SQL Server is nowhere near as good as Oracle. Honestly, I mostly tried not to get involved in this fruitless discussion. However, I was always wondering what was the point of comparing products in such a compulsive way? why do people still get involved in this sort of discussions? is technology more crucial than ours skills? or maybe one is just trying to find something to blame? one is supposed to be a professional, and in this sense, one has to make the most out of any specific database technology. No matter what technology you are working with, you are at the wheel, technology is just a tool, so do not blame technology on the ground of one's inefficiency.

To be brutally honest, I am not one of the database engineers who speaks glowingly of SQL Server because I fully understand that after all it is not more than one of the many hugely powerful tools available out there to manage databases, and of course, every solution depends entirely on you. Nevertheless, according to my experience, I have to say that Microsoft SQL Server is cleverly designed and has an easy-to-use interface that relieves you from having to know arcane syntax details to complete any job. So, if other database management products do not have the same then it is not a SQL Server's problem. Is it not true that the top priority of any software is to make your life easier and your work more productive? so SQL Server just makes it. To give you an example, it has a dashboard that displays performance statistics; and notifies you of some situation that is worthy of attention.

Additionally, SQL Server provides scalable performance mostly when there is only one instance running per server, only then will it make efficient use of resources and eliminate the overhead of having various SQL instances struggling with shared memory and limited storage throughput. It is worth noting that it is heartedly recommendable carrying out maintenance tasks once a month at least to warrant strongly consistent data and to eke out every last ounce of performance. Similarly, it is of paramount importance to meet SQL Server minimum hardware requirements, otherwise, unforeseen problems may arise in the foreseeable future. This is the base on which SQL Server must always be installed.

I have witnessed how SQL Server technology has improved dramatically since 2005. In this sense, I have to say that SQL Server 2000 was not good enough, however, it did not performed as poorly as previous versions such as SQL7.0 and SQL6.5. Despite the fact that SQL2000, SQL7.0 and SQL6.5 were not scalable products, one as DBA had to make wise use of them in order to prevent poor performance from happening. How is it possible? if one really knows the database management system then one also knows their limits and strengths, so one will try to use the features appropriately for what they were supposed to be initially designed, and not in the opposite way. Does it make sense?

My point is that most of issues are created due to misused of features. for example, I have unluckily seen some accidental DBAs trying to use Log Shipping to "replace" SQL Server Failover Clustering, ever worse, they tried to use it as a real HA/DR solution. To cap it all, some so-called "experienced" DBA sometimes asked me how to install SQL2000 on Windows Server 2016. Seriously, at the beginning I did not know what to answer because I could not believe somebody was asking me that. One just has to make appropriate use of features. People are to blame. That's it.

All in all, the major problem is mostly about people who poorly designed and installed the database server, I mean the problem is the lack of knowledge, it is not technology on its own. Do not place the blame on SQL Server on the grounds of one's inefficiency. So, the more you know SQL Server inside and out, the better the performance will be. As simple as that. SQL Server just performances as good as it is installed and configured. So, in the unlikely event that you are not satisfied with the product, remember what I previously mentioned.

No comments:

Post a Comment

Let me know any remarks or questions you may have.

Most Popular Posts