Load Balancing with SQL Server

There is no "standard" load balancing set up for MS SQL Server that you can run via a wizard.

This would be a database architecture decision and implemented at the database level not the server level. Techniques would be:

  • Scaling out/federating the database servers
  • Partitioning
  • Offload your reporting requirements
  • Perhaps replication

If anyone disagrees, then I'd like to see an article by a respected known MS SQL figure saying clustering is load balancing. The articles quoted above do not mention load balancing. For example, A Microsoftie (Chas Boyd) says it is not here.

My question to the OP would be what kind of load do you expect?

Database servers are usually IO and memory bound, so proper disk configuration (with appropriate filegroups) and as much RAM as possible will go a lot further than any solution above.

Don't forget: SQL Server 2005/Windows 2003 Enterprise 32-bit goes to 32GB RAM (of which you'd have 26-28GB data cache) and you are not limited by drive letters because of NTFS mount points. As for x64...


First I would like to clear a few things up if I may….

SQL Server Clustering is an availability technology that is built on top of Windows Clustering. It provides redundancy at the hardware level and has no relation to the technique known as load balancing, i.e. distribution of a processing load.

Further to this, Database Mirroring and Log Shipping are also technologies for primarily implementing availability of varying forms.

Now onto the original question…..

Unfortunately there is no ready to go “out of the box” solution for load balancing in SQL Server.

You can use SQL Server Replication Technologies to implement a distributed database environment that also factors in distribution of transaction processing load however, your application needs to be “aware” of the underlying architecture.

This approach requires development and customisation of a given application in order to deliver a service that is load balanced.

I hope what I have detailed is clear and makes sense but of course please feel free to fire your queries over to me directly.

Tags:

Sql Server