Why Do You Need a SQL Server Expert?

SQL Server is easy to install. It’s a pretty resilient database platform that can possibly survive without much fuss for years. It’s so easy that companies around the world run their businesses on SQL Server without knowing much about the care and feeding of SQL Server. In many shops, as long as the transaction logs don’t fill up the disk and a couple of people know how to restore a database, no one gives it a second thought.

Eventually, performance begins to suffer. Or maybe a database that started out small is now at an unmanageable size and backups are failing. Or maybe a hardware problem causes the SQL Server to be down for hours or even days. At that point, a manager will realize that a SQL Server expert is needed.

I recently helped out a software company that uses SQL Server extensively for their hosted solutions and back office applications. They were having problems with performance in their main hosted application. The application was experiencing query timeouts, and there were problems adding new customers to the database among other issues. In the past, they had added hardware to get better performance from SQL Server, but they realized they needed to call in a SQL Server expert to meet the long term goals for the growth of the company.

By making a few settings changes, setting up proper database maintenance, and index and query tuning, we were able to substantially improve performance of their flagship product. We used SQL Sentry reports to record the performance of their busiest time period each week. By making the changes I recommended, we were able to decrease the overall wait statistics by 90% during that weekly busy window. There was a substantial decrease in timeouts, the new customer loading issue was solved, and their database is now ready to meet the long term goals. The company didn’t give SQL Server or the databases much thought in the past. Now they have several people on staff who understand how to tune queries and set up SQL Server with best practices.

Outside of performance, there are many other things to consider. How long can that server be out of commission if there is a failure, and how much data loss is allowable? Do any accounts have excessive permissions? It’s important for companies to answer these questions and make sure that the server is protected in order to meet the company’s goals. It is surprising how many companies run their business on SQL Server yet nothing is in place to protect mission critical servers.

Linchpin People offers a service called the WellDBA Exam. It’s an 80 point review of your database server to find which knobs need turned, which maintenance steps are missing, if your indexes are effective, and more. If you don’t have the resources to turn those knobs, we can talk about ways that we can mentor your staff or possibly be a virtual DBA for you.

After the people who make your business work, data is the most valuable resource of any company. SQL Server is a fantastic database platform, but don’t leave performance, availability or security to chance.

Posted in Life in IT | Leave a comment

What are AlwaysOn Availability Groups?

The most exciting feature that came out of the SQL Server 2012 release was AlwaysOn Availability Groups (AG). Even through AG has received a lot of publicity, there are many people who haven’t used it or may not even know what it means.

For the next couple of weeks, I am working on an AG project, so I thought it would be a good idea to blog about AG. Here are some facts:

  • The AG feature is only available with Enterprise Edition of SQL Server 2012 and 2014.
  • AG allows you to set up one or more replicas of a group of databases on other instances.
  • SQL Server 2012 allows you to create up to four secondary replicas.
  • SQL Server 2014 allows you to create up to eight secondary replicas.
  • An AG group consists of one or more databases.
  • You can configure secondary replicas to handle read-only workloads.
  • You can offload full backups (copy-only) and transaction log backups onto a secondary.
  • You can set up a secondary to be an automatic failover partner to accomplish high availability.
  • AG does not require a SQL Server failover cluster, but it does require a Windows cluster.
  • You can configure a name called a Listener to always point to the primary replica. Use this name in your connection strings.
  • You can use the ApplicationIntent argument along with the Listener to redirect read-only workloads.
  • Each replica must be configured either for synchronous or asynchronous commit mode. If configuring for synchronous commit mode, the transactions are hardened on the secondary before being committed on the primary.
  • AG does not use shared storage. Each node will have a copy of the databases.

I hope this helps clarify the differences between failover clustering, database mirroring, and AG.

 

Posted in High Availability | Leave a comment

New article on SQL Authority: Avoiding duplicate indexes

Without fail, when I am asked to look at indexes for a customer, I see duplicate and overlapping  indexes. While you may think this is not a big deal, (more indexes are better, right?) there are many performance implications. My latest article on SQL Authority shows what these indexes look like and how to clean them up.

Posted in SQL Server Administration | Leave a comment