31

What exists today to do Microsoft SQL Server Load Balancing on Windows Server and being transparent to any programmatic access. Is this built in or does a solution have to be purchased?

I'm trying to find out if there is a solution today that makes this very easy from the view point of the web servers or other database access to SQL Server.

migrated from stackoverflow.com Nov 1 '11 at 2:49

This question came from our site for professional and enthusiast programmers.

31

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...

22

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.

1

Check out the Native SQL Load balancing solution from Cirtrix NetScaler or this one.

-1

If you don't have a very high write database say 10/90 where only 10% of your transactions are write you can use sql 2005 and above peer-to-peer replication on top of a hardware load balancer to achive your needs. Nothing out of the box.

-1

AlwaysOn Group with one group with set of DBs act as Primary on Server A and the other group of remaining DBs act as Primary on Server B which I can think of as load balancing solution. Only things is you need to develop manual sync of Server level objects like logins, linked servers, operators, alerts, database mail settings.

  • This is really hard to understand. If you have anything new to add, can you do so more clearly? – Laurenz Albe Jun 4 at 16:39
-2

New technologies for database load balancing, separate from SQL Server, are available. These software solutions integrate with Always On in 2012 or 2014 and support automatic read/write split and other load balancing techniques. Look for NetScaler DataStream or ScaleArc for SQL Server as two examples of this transparent SQL load balancing software.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy