SQL Server Best Practices: Separate NIC for Maintenance and Transfers

Many people aren’t aware of how important the Network Interface Card (NIC) in their system really is. If you picture your database as a warehouse, the NIC devices are the doors and bays where stuff comes in and out. Imagine if you had one door, and everyone from employees to customers and deliveries came into that one door! that’s what’s happening on your SQL Server, right now.

Of course, a modern NIC can handle a lot of traffic – equivalent to a really big door. But do you really know if it is “big enough”? If you toss some monitoring on there, you might find that things have to wait on the network stack from time to time.

One way to mitigate this issue is to add another NIC into your system, give it a separate IP address, and do all of your backups, transfers, and any other maintenance work on that IP. If you separate out this traffic from the primary NIC, you’ll possibly gain some speed. If you’re on a cluster, you already have two NIC’s in your system (or should have) for the heartbeat, but what I’m advocating here is a dedicated NIC for maintenance.

Comments (2)
  1. João Polisel says:

    Hi Buck,

    Have you got any documents about best practices when a clustered SQL Server is set up to listen on more than one interface?

    Today I have a bunch of server with just 2 NICs, one public and the other for heartbeat.

    We'll set up new servers that will have 4 NICs, one being the heartbeat, one for a service network, and the other 2 for 2 separate application networks.

    (just to explain, there will be 2 application networks because the application relies heavily on multi-cast and they need to separate the multi-cast flow)

    All the networks will be non-routeable VLANs, each will have it's own DNS server and so on.

    One of the questions I have is how do I configure my DNS regarding the instance's virtual server name? Should it respond with all the 3 public IPs? Or just one of them?

    There will be 3 other names on the DNSs for each IP so the applications will use these names instead of the virtual server name. May I have problema with this set up?

    Those are just some of the questions I have. If you have any documentation I'll be glad!



Comments are closed.

Skip to main content